Skip to content

Instantly share code, notes, and snippets.

@satos---jp
Last active December 5, 2019 12:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save satos---jp/762430d359be5196501e4298dc686ff4 to your computer and use it in GitHub Desktop.
Save satos---jp/762430d359be5196501e4298dc686ff4 to your computer and use it in GitHub Desktop.
CTFZone 2019 qual StarWars solver (solver.py generates correct input & gen.py checks and converts it )
s = """
push rbx
sub rsp, 20h
mov ecx, 108h ; unsigned __int64
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 10h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, Source ; "Federation ship"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 14h
mov byte ptr [rbx+104h], 0Ah
mov cs:qword_14004CC80, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 5 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aAa9 ; "AA-9"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 3Ch
mov byte ptr [rbx+104h], 0Ah
mov cs:qword_14004CC88, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 5 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aT3c ; "T-3C"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 1Eh
mov byte ptr [rbx+104h], 14h
mov cs:qword_14004CC90, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 8 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aHwk290 ; "HWK-290"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 50h
mov byte ptr [rbx+104h], 14h
mov cs:qword_14004CC98, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 8 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aSlave1 ; "Slave 1"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 64h
mov byte ptr [rbx+104h], 14h
mov cs:qword_14004CCA0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 13h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aZetaClassShutt ; "Zeta class shuttle"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 0C8h
mov byte ptr [rbx+104h], 19h
mov cs:qword_14004CCA8, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 8 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aYt2400 ; "YT-2400"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 258h
mov byte ptr [rbx+104h], 19h
mov cs:qword_14004CCB0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov rbx, rax
mov [rsp+28h+arg_0], rax
mov r8d, 6 ; Count
lea rdx, aAa10 ; "AA-10"
mov rcx, rax ; Dest
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 190h
mov byte ptr [rbx+104h], 32h
mov cs:qword_14004CCB8, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 6 ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aT3cs ; "T-3CS"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 320h
mov byte ptr [rbx+104h], 14h
mov cs:qword_14004CCC0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 10h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aGr75Transport ; "GR-75 Transport"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 3E8h
mov byte ptr [rbx+104h], 64h
mov cs:qword_14004CCC8, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 18h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aImperialStarDe ; "Imperial Star Destroyer"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 640h
mov byte ptr [rbx+104h], 7Dh
mov cs:qword_14004CCD0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 1Ch ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aTradeFederatio ; "Trade Federation Battleship"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 7D0h
mov byte ptr [rbx+104h], 64h
mov cs:qword_14004CCD8, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 17h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aVenatorStarDes ; "Venator Star Destroyer"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 0BB8h
mov byte ptr [rbx+104h], 96h
mov cs:qword_14004CCE0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 15h ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aSuperStarDestr ; "Super Star Destroyer"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 1770h
mov byte ptr [rbx+104h], 64h
mov cs:qword_14004CCE8, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 0Eh ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aTheFinalizer ; "The Finalizer"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov ecx, 108h ; unsigned __int64
mov dword ptr [rbx+100h], 4E20h
mov byte ptr [rbx+104h], 0FFh
mov cs:qword_14004CCF0, rbx
call ??2@YAPEAX_K@Z ; operator new(unsigned __int64)
mov r8d, 0Eh ; Count
mov [rsp+28h+arg_0], rax
lea rdx, aStarFortress ; "Star Fortress"
mov rcx, rax ; Dest
mov rbx, rax
call strncpy
mov dword ptr [rbx+100h], 2710h
mov byte ptr [rbx+104h], 1
mov cs:qword_14004CCF8, rbx
add rsp, 20h
pop rbx
retn
sub_140002100 endp
"""
def h2i(d):
if d[-1] == 'h':
d = d[:-1]
d = int(d,16)
return d
def c2d(c):
#print(c)
na = c.split('"')[1]
hp = c.split("dword ptr [rbx+100h],")[1].split('\n')[0]
hp = h2i(hp)
atk = c.split("byte ptr [rbx+104h],")[1].split('\n')[0]
atk = h2i(atk)
#print(na,hex(hp),hex(atk))
return {
"name": na,
"hp": hp,
"atk": atk
}
"""
('Federation ship', {'hp': 20, 'atk': 10})
('AA-9', {'hp': 60, 'atk': 10})
('T-3C', {'hp': 30, 'atk': 20})
('HWK-290', {'hp': 80, 'atk': 20})
('Slave 1', {'hp': 100, 'atk': 20})
('Zeta class shuttle', {'hp': 200, 'atk': 25})
('YT-2400', {'hp': 600, 'atk': 25})
('AA-10', {'hp': 400, 'atk': 50})
('T-3CS', {'hp': 800, 'atk': 20})
('GR-75 Transport', {'hp': 1000, 'atk': 100})
('Imperial Star Destroyer', {'hp': 1600, 'atk': 125})
('Trade Federation Battleship', {'hp': 2000, 'atk': 100})
('Venator Star Destroyer', {'hp': 3000, 'atk': 150})
('Super Star Destroyer', {'hp': 6000, 'atk': 100})
('The Finalizer', {'hp': 20000, 'atk': 255})
('Star Fortress', {'hp': 10000, 'atk': 1})
"""
s = s.split('operator new')[1:]
s = list(map(c2d,s))
from train_data import ts
def t2d(c):
#print(c)
a = c.split(' attacks ')[0].split('\n')[1]
b = c.split('attacks the ')[1].split(' for the glory!')[0]
return (a,b)
ts = [dict(map(t2d,t.split('wandering')[1:])) for t in ts]
from zikis import u
def u2d(c):
#print(c)
na = c.split('"')[1]
#print(na)
if na == "Vulture Droid":
hp = h2i('0Ah')
else:
hp = c.split('[rsp+158h+var_30],')[1].split('\n')[0]
hp = h2i(hp)
atk = c.split('[rsp+158h+var_2C],')[1].split('\n')[0]
atk = h2i(atk)
#print(na,hex(hp),hex(atk))
return {
"name": na,
"hp": hp,
"atk": atk
}
#a = c.split(' attacks ')[0].split('\n')[1]
#b = c.split('attacks the ')[1].split(' for the glory!')[0]
#return (a,b)
u = u.split('=============== S U B R O U T I N E =======================================')[1:]
u = list(map(u2d,u))
v = """
.rdata:00007FF65FA74000 xmmword_7FF65FA74000 xmmword 403040D00090F0403000001000202h
.rdata:00007FF65FA74000 ; DATA XREF: sub_7FF65FA35910+2Cr
.rdata:00007FF65FA74010 xmmword_7FF65FA74010 xmmword 40406080702030405040101010102h
.rdata:00007FF65FA74010 ; DATA XREF: sub_7FF65FA35E50+2Cr
.rdata:00007FF65FA74020 xmmword_7FF65FA74020 xmmword 40500070003030205000200020200h
.rdata:00007FF65FA74020 ; DATA XREF: sub_7FF65FA36390+2Cr
.rdata:00007FF65FA74030 xmmword_7FF65FA74030 xmmword 60B040F0704000304030101020201h
.rdata:00007FF65FA74030 ; DATA XREF: sub_7FF65FA33C30+2Cr
.rdata:00007FF65FA74040 xmmword_7FF65FA74040 xmmword 1070301050802030301050101000002h
.rdata:00007FF65FA74040 ; DATA XREF: sub_7FF65FA360F0+2Cr
.rdata:00007FF65FA74050 xmmword_7FF65FA74050 xmmword 2070006000302030505010100020001h
.rdata:00007FF65FA74050 ; DATA XREF: sub_7FF65FA35BB0+2Cr
.rdata:00007FF65FA74060 xmmword_7FF65FA74060 xmmword 2070508010100010204050100020102h
.rdata:00007FF65FA74060 ; DATA XREF: sub_7FF65FA34950+2Cr
.rdata:00007FF65FA74070 xmmword_7FF65FA74070 xmmword 3020401020003000400050202010002h
.rdata:00007FF65FA74070 ; DATA XREF: sub_7FF65FA35670+2Cr
.rdata:00007FF65FA74080 xmmword_7FF65FA74080 xmmword 4030300050301020205030001010102h
.rdata:00007FF65FA74080 ; DATA XREF: sub_7FF65FA34170+2Cr
.rdata:00007FF65FA74090 xmmword_7FF65FA74090 xmmword 403080C040B040F0001040002010000h
.rdata:00007FF65FA74090 ; DATA XREF: sub_7FF65FA36630+2Cr
.rdata:00007FF65FA740A0 xmmword_7FF65FA740A0 xmmword 4060808020502010105030100000101h
.rdata:00007FF65FA740A0 ; DATA XREF: sub_7FF65FA346B0+2Cr
.rdata:00007FF65FA740B0 xmmword_7FF65FA740B0 xmmword 4080501050703050505030100020102h
.rdata:00007FF65FA740B0 ; DATA XREF: sub_7FF65FA34BF0+2Cr
.rdata:00007FF65FA740C0 xmmword_7FF65FA740C0 xmmword 5030108020304030202050102000201h
.rdata:00007FF65FA740C0 ; DATA XREF: sub_7FF65FA34E90+2Cr
.rdata:00007FF65FA740D0 xmmword_7FF65FA740D0 xmmword 5030302060000020500000101010100h
.rdata:00007FF65FA740D0 ; DATA XREF: sub_7FF65FA35130+2Cr
.rdata:00007FF65FA740E0 xmmword_7FF65FA740E0 xmmword 5070704050205020302000000000000h
.rdata:00007FF65FA740E0 ; DATA XREF: sub_7FF65FA33ED0+2Cr
.rdata:00007FF65FA740F0 xmmword_7FF65FA740F0 xmmword 7020603080102000300040100000200h
.rdata:00007FF65FA740F0 ; DATA XREF: sub_7FF65FA353D0+2Cr
.rdata:00007FF65FA74100 xmmword_7FF65FA74100 xmmword 90F0008040204050105030002000002h
.rdata:00007FF65FA74100 ; DATA XREF: sub_7FF65FA34410+2Cr
"""
def v2d(c):
#print(c)
d = c.split('h')[0]
d = '0'* (len(d) % 2) + d
d = bytes.fromhex(d)
d = b'\x00' * (16 - len(d)) + d
#print(d)
i = c.split('sub_')[-1].split('+2C')[0]
i = int(i,16)
return (i,d)
v = v.split('xmmword ')[1:]
#print(len(v))
v = list(map(lambda x: x[1],sorted(list(map(v2d,v)))))
#print(v)
from train_data import aps
aps = aps.split('====== S U B R O U T I N E =======')[1:]
def a2d(c):
#print(c)
v = c.split('mov dword ptr [r11-48h],')[1].split('\n')[0]
w = c.split('mov dword ptr [r11-44h],')[1].split('\n')[0]
v = h2i(v)
w = h2i(w)
res = '0' + hex(w * (1 << 32) + v)[2:]
res = bytes.fromhex(res)
res = b'\x00' * (4-len(res)) + res
print(hex(v),hex(w),res)
return res
aps = list(map(a2d,aps))
#print(aps)
v = [d[::-1] + aps[i][::-1] for i,d in enumerate(v)]
v = [v[1],v[0]] + v[2:]
#print(v)
#exit()
"""
for d in s:
print(d)
print("")
for d in u:
print(d)
"""
from math import ceil
def iswin(p,q): #p is first
pn = ceil((p["hp"]+0.1) / q["atk"])
qn = ceil((q["hp"]+0.1) / p["atk"])
if pn >= qn:
return True
return False
'''
for i,d in enumerate(u):
#print(d)
na = "None"
"""
for x in s:
if iswin(d,x):
na = x["name"]
else:
break
"""
for a,t in enumerate(ts):
na = s[v[i][-1-a]]["name"]
print(d["name"], "->",na," :: ",t[d["name"]])
exit()
'''
def conv(id):
i,d = id
#print(i,d)
res = {}
na = d["name"]
res["na"] = na
res["hp"] = d["hp"]
res["atk"] = d["atk"]
res["train"] = list(v[i])
return res
data = list(map(conv,enumerate(u)))
trains = s
#print(data)
from head import pre_calc_ens,my,ens,st_train,st_upd_force,iswin,st_upd
def c2l(d):
res = []
while len(d) > 0:
a,b = d
res.append(b)
d = a
return res[::-1]
d = (((((((((((((((((((((((((), 0), 0), 0), 0), 0), 0), 0), 11), 16), 0), 1), 10), 2), 13), 3), 9), 6), 5), 8), 4), 12), 7), 14), 15)
d = (((((((((((((((((((((((((), 0), 0), 0), 0), 0), 0), 0), 11), 16), 0), 1), 10), 2), 13), 3), 9), 6), 5), 8), 14), 12), 7), 4), 15)
d = (((((((((((((((((((((((((), 0), 0), 0), 0), 0), 0), 0), 11), 16), 0), 1), 10), 6), 13), 3), 2), 9), 15), 8), 14), 12), 5), 4), 7)
# generated from `python3 solver.py`
d = c2l(d)
print(d)
open('i.txt','w').write('\n'.join(map(str,d)))
print(pre_calc_ens[14])
print(len(pre_calc_ens[14]))
st = (50,10)
for t,v in enumerate(d):
print(st)
if v != 0:
#if iswin(st,pre_calc_ens[v-1][t-1]):
# st = st_upd_force(st,pre_calc_ens[v-1][t])
#else:
# st = None
st = st_upd(st,pre_calc_ens[v-1][t])
print('after vs ',ens[v-1]["na"],pre_calc_ens[v-1][t],"noswstis",st)
print('sankou',pre_calc_ens[v-1][t-1],pre_calc_ens[v-1][t-2])
st = st_train(my["train"][t],st)
from fed_data import data,trains
from math import ceil
for d in data:
print(d)
for d in trains:
print(d)
def iswin(p,q): #p is first
if p[1] == 0:
return False
if q[1] == 0:
return True
pn = ceil((p[0]+0.1) / q[1])
qn = ceil((q[0]+0.1) / p[1])
if pn >= qn:
return True
return False
my = data[0]
ens = data[1:]
def st_upd(p,q):
hp,atk = p
if not iswin(p,q):
return None
thp = max(hp,q[0])
tatk = (atk + q[1]) % 256
return (thp,tatk)
def st_upd_force(p,q):
hp,atk = p
thp = max(hp,q[0])
tatk = (atk + q[1]) % 256
return (thp,tatk)
def st_train(i,st):
return st_upd(st,(trains[i]["hp"],trains[i]["atk"]))
pre_calc_ens = []
for e in ens:
st = (e["hp"],e["atk"])
sts = [st]
for t in range(len(e["train"])):
#print(t,st,len(e["train"]))
st = st_train(e["train"][t],st)
if st is None:
break
sts.append(st)
pre_calc_ens.append(sts)
sub_14003840(){
r12 = rcx := 自機
r15 = rdx := 敵機 + 0x8
r12 == {
0x8 : nameがこれ以降に入る
0x108 : 体力的ななにか(たぶん、shield)(戦闘で減った分は自動回復するぽい。)(敵とのmaxをとるぽい)
0x10c : 攻撃力っぽい(勝つと敵から奪う)
0x110 : テキストの色
}
まず、敵機 → 自機の攻撃
あっ、6bd0でなんか面倒な計算やってる
次に、 自機 → 敵機
とりあえず全部dumpしてみるかな
}
2ad0 :: V-wingの初期化 {
rsp+0x28 :: 名前
rsp+0x128 = rsp+0x158 - 0x30 :: 体力? 0x78 = 120 っぽい
rsp+0x12c = rsp+0x158 - 0x2c :: 攻撃力? 5 っぽい。
rsp+0x130 = rsp+0x158 - 0x28 :: 色? di で、7っぽい。
}
2102 :: X-wing(自機)の初期化 {
rsp+0x28 :: 名前
rsp+0x128 = rsp+0x158 - 0x30 :: 体力? 0x32 = 50 っぽい
rsp+0x12c = rsp+0x158 - 0x2c :: 攻撃力? 0xa = 10 っぽい。
rsp+0x130 = rsp+0x158 - 0x28 :: 色? di で、0xfっぽい。
}
10回でやられるが、12回攻撃がいる、ので負けかな。
federation は、体力 0x14 = 20、攻撃力 0x0。
なぜか、勝つと攻撃力が 10 増える。
4,7,7,5 のあとに、 0,1,8,2,8,7,0,e(14) がくる。(これ何)
これたぶん、
.text:00007FF65FA33F0A mov dword ptr [r11-48h], 2080100h
.text:00007FF65FA33F12 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA33F15 mov dword ptr [r11-44h], 0E000708h
の。
```
X-wing attacks the V-wing for the glory!
V-wing hit X-wing. X-wing's shield have only 40% power
X-wing hit V-wing. V-wing's shield have only 41% power
V-wing hit X-wing. X-wing's shield have only 20% power
V-wing hit X-wing. X-wing's shield have only 10% power
X-wing hit V-wing. V-wing's shield have only 16% power
V-wing hit X-wing. X-wing's shield have only 0% power
X-wing hit V-wing. V-wing's shield have only 8% power
??????
X-wing attacks the V-wing for the glory!
V-wing hit X-wing. X-wing's shield have only 40% power
V-wing hit X-wing. X-wing's shield have only 20% power
V-wing hit X-wing. X-wing's shield have only 10% power
V-wing hit X-wing. X-wing's shield have only 0% power
X-wing hit V-wing. V-wing's shield have only 41% power
X-wing hit V-wing. V-wing's shield have only 16% power
X-wing hit V-wing. V-wing's shield have only 8% power
```
2100 が初期化データ
4cc80以下にある。
from head import pre_calc_ens,my,ens,st_train,st_upd
#print(pre_calc_ens[1])
#print(pre_calc_ens[1][13])
#exit()
#import queue
#que = queue.SimpleQueue()
#que.put((0,0,(50,10),()))
#dps = [[[-1 for _ in range(256)] for b in range(1 << len(pre_calc_ens))] for t in range(40)]
dps = [{} for _ in range(40)]
dps[0][(0,10)] = (50,()) # hp,log
cbit = (1 << len(pre_calc_ens)) - 1
def bitcf(i):
res = 0
while i > 0:
if i & 1:
res += 1
i //= 2
return res
bitcount = [bitcf(i) for i in range(cbit+1)]
timelimit = len(my["train"])
cbitb = len(pre_calc_ens)
for t in range(50):
print(t,len(dps[t]))
isf = 0
for k,v in dps[t].items():
(bit,atk),(hp,log) = k,v
st = (hp,atk)
def add(tbit,tst,tlog):
if cbitb - bitcount[tbit] >= timelimit - t:
return
thp,tatk = tst
key = (tbit,tatk)
if key in dps[t+1]:
chp = dps[t+1][key][0]
if chp >= thp:
return
dps[t+1][key] = (thp,tlog)
pst = st_train(my["train"][t],st)
if pst is not None:
add(bit,pst,(log,0))
for i,d in enumerate(pre_calc_ens):
if (bit & (1 << i)) != 0:
continue
tst = st_upd(st,d[t])
if tst is not None:
tbit = (bit | (1 << i))
if tbit == cbit:
print('ans?',tst,(log,i+1))
ttst = st_train(my["train"][t],tst)
if ttst is not None:
add(tbit,ttst,(log,i+1))
'''
cnt = 0
cbit = (1 << len(pre_calc_ens)) - 1
while True:
cnt += 1
h = que.get()
if cnt % 10000 == 0:
print(list(map(len,dps)))
print(que.qsize())
print(h)
t,bit,st,log = h
if bit == cbit:
print('clear',log)
exit()
key = (bit,st[1])
if key in dps[t]:
chp = dps[t][key]
if chp >= st[0]:
continue
"""
if cst[0] > st[0] and cst[1] > st[1]:
continue
if cst[0] > st[0] or cst[1] > st[1]:
if cst[0] != st[0] and cst[1] != st[1]:
print('uncomperable',st,cst)
exit()
continue
"""
dps[t][key] = st[0]
pst = st_train(my["train"][t],st)
if pst is not None:
que.put((t+1,bit,pst,(log,0)))
for i,d in enumerate(pre_calc_ens):
if (bit & (1 << i)) != 0:
continue
tst = st_upd(st,d[t])
if tst is not None:
ttst = st_train(my["train"][t],tst)
if ttst is not None:
que.put((t+1,bit | (1 << i),ttst,(log,i+1)))
'''
for i,e in enumerate(ens):
eh = e["hp"]
eatk = e["atk"]
myh = my["hp"]
myatk = my["atk"]
for t in range(100):
pn = ceil((myh+0.1) / eatk)
qn = ceil((eh+0.1) / myatk)
print(pn,qn)
if pn >= qn:
print('kamo',i+1,t)
break
tr = trains[e["train"][t % 16]]
eh = max(eh,tr["hp"])
eatk += tr["atk"]
tr = trains[my["train"][t % 16]]
myh = max(myh,tr["hp"])
myatk += tr["atk"]
print('test',i+1,e["na"])
ts = ["""
VCX-100 wandering through the depths of space has discovered the T-3C
VCX-100 attacks the T-3C for the glory!
VCX-100 destroys T-3C and takes their weapons and shields
B-wing wandering through the depths of space has discovered the AA-9
B-wing attacks the AA-9 for the glory!
B-wing hit AA-9. AA-9's shield have only 33% power
AA-9 hit B-wing. B-wing's shield have only 42% power
B-wing hit AA-9. AA-9's shield have only 0% power
AA-9 hit B-wing. B-wing's shield have only 14% power
B-wing destroys AA-9 and takes their weapons and shields
Z-95 wandering through the depths of space has discovered the T-3C
Z-95 attacks the T-3C for the glory!
Z-95 hit T-3C. T-3C's shield have only 0% power
T-3C hit Z-95. Z-95's shield have only 0% power
Z-95 destroys T-3C and takes their weapons and shields
ARC-170 wandering through the depths of space has discovered the AA-9
ARC-170 attacks the AA-9 for the glory!
ARC-170 hit AA-9. AA-9's shield have only 33% power
AA-9 hit ARC-170. ARC-170's shield have only 33% power
ARC-170 hit AA-9. AA-9's shield have only 0% power
AA-9 hit ARC-170. ARC-170's shield have only 0% power
ARC-170 destroys AA-9 and takes their weapons and shields
Y-wing wandering through the depths of space has discovered the T-3C
Y-wing attacks the T-3C for the glory!
Y-wing hit T-3C. T-3C's shield have only 40% power
T-3C hit Y-wing. Y-wing's shield have only 40% power
Y-wing hit T-3C. T-3C's shield have only 20% power
T-3C hit Y-wing. Y-wing's shield have only 20% power
Y-wing hit T-3C. T-3C's shield have only 0% power
T-3C hit Y-wing. Y-wing's shield have only 0% power
Y-wing destroys T-3C and takes their weapons and shields
TIE/X1 wandering through the depths of space has discovered the Federation ship
TIE/X1 attacks the Federation ship for the glory!
TIE/X1 hit Federation ship. Federation ship's shield have only 10% power
TIE/X1 destroys Federation ship and takes their weapons and shields
MC75 wandering through the depths of space has discovered the Federation ship
MC75 attacks the Federation ship for the glory!
MC75 hit Federation ship. Federation ship's shield have only 45% power
MC75 hit Federation ship. Federation ship's shield have only 20% power
MC75 hit Federation ship. Federation ship's shield have only 5% power
MC75 hit Federation ship. Federation ship's shield have only 0% power
MC75 destroys Federation ship and takes their weapons and shields
U-wing wandering through the depths of space has discovered the T-3C
U-wing attacks the T-3C for the glory!
U-wing hit T-3C. T-3C's shield have only 0% power
T-3C hit U-wing. U-wing's shield have only 42% power
U-wing destroys T-3C and takes their weapons and shields
V-wing wandering through the depths of space has discovered the AA-9
V-wing attacks the AA-9 for the glory!
V-wing hit AA-9. AA-9's shield have only 41% power
AA-9 hit V-wing. V-wing's shield have only 41% power
V-wing hit AA-9. AA-9's shield have only 16% power
AA-9 hit V-wing. V-wing's shield have only 16% power
V-wing hit AA-9. AA-9's shield have only 8% power
AA-9 hit V-wing. V-wing's shield have only 8% power
V-wing hit AA-9. AA-9's shield have only 0% power
AA-9 hit V-wing. V-wing's shield have only 0% power
V-wing destroys AA-9 and takes their weapons and shields
N-1 wandering through the depths of space has discovered the T-3C
N-1 attacks the T-3C for the glory!
N-1 hit T-3C. T-3C's shield have only 0% power
T-3C hit N-1. N-1's shield have only 20% power
N-1 destroys T-3C and takes their weapons and shields
TIE/IN wandering through the depths of space has discovered the Federation ship
TIE/IN attacks the Federation ship for the glory!
TIE/IN hit Federation ship. Federation ship's shield have only 20% power
TIE/IN destroys Federation ship and takes their weapons and shields
X-wing wandering through the depths of space has discovered the Federation ship
X-wing attacks the Federation ship for the glory!
X-wing hit Federation ship. Federation ship's shield have only 0% power
X-wing destroys Federation ship and takes their weapons and shields
Vulture Droid wandering through the depths of space has discovered the T-3C
Vulture Droid attacks the T-3C for the glory!
Vulture Droid destroys T-3C and takes their weapons and shields
P-38 wandering through the depths of space has discovered the T-3C
P-38 attacks the T-3C for the glory!
P-38 hit T-3C. T-3C's shield have only 33% power
P-38 destroys T-3C and takes their weapons and shields
V-19 wandering through the depths of space has discovered the Federation ship
V-19 attacks the Federation ship for the glory!
V-19 hit Federation ship. Federation ship's shield have only 40% power
V-19 hit Federation ship. Federation ship's shield have only 20% power
V-19 hit Federation ship. Federation ship's shield have only 0% power
V-19 destroys Federation ship and takes their weapons and shields
E-wing wandering through the depths of space has discovered the T-3C
E-wing attacks the T-3C for the glory!
E-wing hit T-3C. T-3C's shield have only 33% power
T-3C hit E-wing. E-wing's shield have only 42% power
E-wing hit T-3C. T-3C's shield have only 0% power
T-3C hit E-wing. E-wing's shield have only 14% power
E-wing destroys T-3C and takes their weapons and shields
A-wing wandering through the depths of space has discovered the AA-9
A-wing attacks the AA-9 for the glory!
A-wing hit AA-9. AA-9's shield have only 0% power
AA-9 hit A-wing. A-wing's shield have only 0% power
A-wing destroys AA-9 and takes their weapons and shields
""",
"""
V-wing wandering through the depths of space has discovered the T-3C
V-wing attacks the T-3C for the glory!
V-wing hit T-3C. T-3C's shield have only 0% power
V-wing destroys T-3C and takes their weapons and shields
U-wing wandering through the depths of space has discovered the AA-9
U-wing attacks the AA-9 for the glory!
U-wing hit AA-9. AA-9's shield have only 41% power
U-wing destroys AA-9 and takes their weapons and shields
Z-95 wandering through the depths of space has discovered the T-3C
Z-95 attacks the T-3C for the glory!
Z-95 destroys T-3C and takes their weapons and shields
TIE/X1 wandering through the depths of space has discovered the Federation ship
TIE/X1 attacks the Federation ship for the glory!
TIE/X1 hit Federation ship. Federation ship's shield have only 5% power
TIE/X1 destroys Federation ship and takes their weapons and shields
TIE/IN wandering through the depths of space has discovered the T-3C
TIE/IN attacks the T-3C for the glory!
TIE/IN hit T-3C. T-3C's shield have only 40% power
TIE/IN destroys T-3C and takes their weapons and shields
N-1 wandering through the depths of space has discovered the AA-9
N-1 attacks the AA-9 for the glory!
N-1 hit AA-9. AA-9's shield have only 41% power
N-1 destroys AA-9 and takes their weapons and shields
Y-wing wandering through the depths of space has discovered the Federation ship
Y-wing attacks the Federation ship for the glory!
Y-wing destroys Federation ship and takes their weapons and shields
B-wing wandering through the depths of space has discovered the Federation ship
B-wing attacks the Federation ship for the glory!
B-wing destroys Federation ship and takes their weapons and shields
X-wing wandering through the depths of space has discovered the Federation ship
X-wing attacks the Federation ship for the glory!
X-wing hit Federation ship. Federation ship's shield have only 0% power
X-wing destroys Federation ship and takes their weapons and shields
E-wing wandering through the depths of space has discovered the AA-9
E-wing attacks the AA-9 for the glory!
E-wing hit AA-9. AA-9's shield have only 0% power
E-wing destroys AA-9 and takes their weapons and shields
P-38 wandering through the depths of space has discovered the Federation ship
P-38 attacks the Federation ship for the glory!
P-38 destroys Federation ship and takes their weapons and shields
MC75 wandering through the depths of space has discovered the AA-9
MC75 attacks the AA-9 for the glory!
MC75 hit AA-9. AA-9's shield have only 45% power
MC75 hit AA-9. AA-9's shield have only 8% power
MC75 destroys AA-9 and takes their weapons and shields
A-wing wandering through the depths of space has discovered the AA-9
A-wing attacks the AA-9 for the glory!
A-wing hit AA-9. AA-9's shield have only 33% power
A-wing destroys AA-9 and takes their weapons and shields
Vulture Droid wandering through the depths of space has discovered the Federation ship
Vulture Droid attacks the Federation ship for the glory!
Vulture Droid destroys Federation ship and takes their weapons and shields
ARC-170 wandering through the depths of space has discovered the T-3C
ARC-170 attacks the T-3C for the glory!
ARC-170 hit T-3C. T-3C's shield have only 0% power
ARC-170 destroys T-3C and takes their weapons and shields
V-19 wandering through the depths of space has discovered the T-3C
V-19 attacks the T-3C for the glory!
V-19 hit T-3C. T-3C's shield have only 20% power
V-19 destroys T-3C and takes their weapons and shields
VCX-100 wandering through the depths of space has discovered the AA-9
VCX-100 attacks the AA-9 for the glory!
VCX-100 destroys AA-9 and takes their weapons and shields
""",
"""
Y-wing wandering through the depths of space has discovered the Federation ship
Y-wing attacks the Federation ship for the glory!
Y-wing destroys Federation ship and takes their weapons and shields
Vulture Droid wandering through the depths of space has discovered the AA-9
Vulture Droid attacks the AA-9 for the glory!
Vulture Droid destroys AA-9 and takes their weapons and shields
U-wing wandering through the depths of space has discovered the AA-9
U-wing attacks the AA-9 for the glory!
U-wing hit AA-9. AA-9's shield have only 25% power
U-wing destroys AA-9 and takes their weapons and shields
V-19 wandering through the depths of space has discovered the Federation ship
V-19 attacks the Federation ship for the glory!
V-19 destroys Federation ship and takes their weapons and shields
B-wing wandering through the depths of space has discovered the T-3C
B-wing attacks the T-3C for the glory!
B-wing destroys T-3C and takes their weapons and shields
TIE/IN wandering through the depths of space has discovered the T-3C
TIE/IN attacks the T-3C for the glory!
TIE/IN destroys T-3C and takes their weapons and shields
P-38 wandering through the depths of space has discovered the Federation ship
P-38 attacks the Federation ship for the glory!
P-38 destroys Federation ship and takes their weapons and shields
TIE/X1 wandering through the depths of space has discovered the AA-9
TIE/X1 attacks the AA-9 for the glory!
TIE/X1 hit AA-9. AA-9's shield have only 3% power
TIE/X1 destroys AA-9 and takes their weapons and shields
X-wing wandering through the depths of space has discovered the Federation ship
X-wing attacks the Federation ship for the glory!
X-wing destroys Federation ship and takes their weapons and shields
MC75 wandering through the depths of space has discovered the AA-9
MC75 attacks the AA-9 for the glory!
MC75 hit AA-9. AA-9's shield have only 30% power
MC75 destroys AA-9 and takes their weapons and shields
VCX-100 wandering through the depths of space has discovered the AA-9
VCX-100 attacks the AA-9 for the glory!
VCX-100 destroys AA-9 and takes their weapons and shields
Z-95 wandering through the depths of space has discovered the Federation ship
Z-95 attacks the Federation ship for the glory!
Z-95 destroys Federation ship and takes their weapons and shields
A-wing wandering through the depths of space has discovered the Federation ship
A-wing attacks the Federation ship for the glory!
A-wing destroys Federation ship and takes their weapons and shields
ARC-170 wandering through the depths of space has discovered the T-3C
ARC-170 attacks the T-3C for the glory!
ARC-170 destroys T-3C and takes their weapons and shields
N-1 wandering through the depths of space has discovered the T-3C
N-1 attacks the T-3C for the glory!
N-1 destroys T-3C and takes their weapons and shields
V-wing wandering through the depths of space has discovered the Federation ship
V-wing attacks the Federation ship for the glory!
V-wing destroys Federation ship and takes their weapons and shields
E-wing wandering through the depths of space has discovered the T-3C
E-wing attacks the T-3C for the glory!
E-wing destroys T-3C and takes their weapons and shields
""",
"""
V-wing wandering through the depths of space has discovered the T-3C
V-wing attacks the T-3C for the glory!
V-wing destroys T-3C and takes their weapons and shields
VCX-100 wandering through the depths of space has discovered the AA-9
VCX-100 attacks the AA-9 for the glory!
VCX-100 destroys AA-9 and takes their weapons and shields
N-1 wandering through the depths of space has discovered the Federation ship
N-1 attacks the Federation ship for the glory!
N-1 destroys Federation ship and takes their weapons and shields
E-wing wandering through the depths of space has discovered the Federation ship
E-wing attacks the Federation ship for the glory!
E-wing destroys Federation ship and takes their weapons and shields
TIE/X1 wandering through the depths of space has discovered the T-3C
TIE/X1 attacks the T-3C for the glory!
TIE/X1 destroys T-3C and takes their weapons and shields
MC75 wandering through the depths of space has discovered the AA-9
MC75 attacks the AA-9 for the glory!
MC75 hit AA-9. AA-9's shield have only 48% power
MC75 destroys AA-9 and takes their weapons and shields
A-wing wandering through the depths of space has discovered the Federation ship
A-wing attacks the Federation ship for the glory!
A-wing destroys Federation ship and takes their weapons and shields
U-wing wandering through the depths of space has discovered the AA-9
U-wing attacks the AA-9 for the glory!
U-wing hit AA-9. AA-9's shield have only 8% power
U-wing destroys AA-9 and takes their weapons and shields
B-wing wandering through the depths of space has discovered the Federation ship
B-wing attacks the Federation ship for the glory!
B-wing destroys Federation ship and takes their weapons and shields
Y-wing wandering through the depths of space has discovered the T-3C
Y-wing attacks the T-3C for the glory!
Y-wing destroys T-3C and takes their weapons and shields
Z-95 wandering through the depths of space has discovered the AA-9
Z-95 attacks the AA-9 for the glory!
Z-95 destroys AA-9 and takes their weapons and shields
ARC-170 wandering through the depths of space has discovered the AA-9
ARC-170 attacks the AA-9 for the glory!
ARC-170 destroys AA-9 and takes their weapons and shields
Vulture Droid wandering through the depths of space has discovered the T-3C
Vulture Droid attacks the T-3C for the glory!
Vulture Droid destroys T-3C and takes their weapons and shields
X-wing wandering through the depths of space has discovered the Federation ship
X-wing attacks the Federation ship for the glory!
X-wing destroys Federation ship and takes their weapons and shields
TIE/IN wandering through the depths of space has discovered the Federation ship
TIE/IN attacks the Federation ship for the glory!
TIE/IN destroys Federation ship and takes their weapons and shields
V-19 wandering through the depths of space has discovered the Federation ship
V-19 attacks the Federation ship for the glory!
V-19 destroys Federation ship and takes their weapons and shields
P-38 wandering through the depths of space has discovered the AA-9
P-38 attacks the AA-9 for the glory!
P-38 hit AA-9. AA-9's shield have only 0% power
P-38 destroys AA-9 and takes their weapons and shields
"""
]
aps = """
.text:00007FF65FA33C30 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA33C30
.text:00007FF65FA33C30
.text:00007FF65FA33C30 sub_7FF65FA33C30 proc near ; CODE XREF: sub_7FF65FA32710+69p
.text:00007FF65FA33C30 ; DATA XREF: .rdata:off_7FF65FA73648o ...
.text:00007FF65FA33C30
.text:00007FF65FA33C30 Dest = byte ptr -278h
.text:00007FF65FA33C30 var_178 = dword ptr -178h
.text:00007FF65FA33C30 var_174 = byte ptr -174h
.text:00007FF65FA33C30 var_168 = byte ptr -168h
.text:00007FF65FA33C30 var_58 = byte ptr -58h
.text:00007FF65FA33C30 var_38 = qword ptr -38h
.text:00007FF65FA33C30 var_28 = byte ptr -28h
.text:00007FF65FA33C30
.text:00007FF65FA33C30 mov r11, rsp
.text:00007FF65FA33C33 mov [r11+18h], rbx
.text:00007FF65FA33C37 mov [r11+20h], rbp
.text:00007FF65FA33C3B push rsi
.text:00007FF65FA33C3C push rdi
.text:00007FF65FA33C3D push r12
.text:00007FF65FA33C3F push r14
.text:00007FF65FA33C41 push r15
.text:00007FF65FA33C43 sub rsp, 270h
.text:00007FF65FA33C4A mov rax, cs:__security_cookie
.text:00007FF65FA33C51 xor rax, rsp
.text:00007FF65FA33C54 mov [rsp+298h+var_38], rax
.text:00007FF65FA33C5C movdqa xmm0, cs:xmmword_7FF65FA74030
.text:00007FF65FA33C64 mov rbx, rdx
.text:00007FF65FA33C67 mov rbp, rcx
.text:00007FF65FA33C6A mov dword ptr [r11-48h], 6080200h
.text:00007FF65FA33C72 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA33C75 mov dword ptr [r11-44h], 805070Ah
.text:00007FF65FA33C7D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA33C83 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA33C87 mov word ptr [r11-40h], 101h
.text:00007FF65FA33C8E mov dword ptr [r11-68h], 64h
.text:00007FF65FA33C96 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA33C9B call cs:WaitForSingleObject
.text:00007FF65FA33CA1 test eax, eax
.text:00007FF65FA33CA3 jnz loc_7FF65FA33E9C
.text:00007FF65FA33CA9 xor r15d, r15d
.text:00007FF65FA33CAC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA33CB3
.text:00007FF65FA33CB3 loc_7FF65FA33CB3: ; CODE XREF: sub_7FF65FA33C30+253j
.text:00007FF65FA33CB3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA33CB7 test ecx, ecx
.text:00007FF65FA33CB9 jz loc_7FF65FA33E45
.text:00007FF65FA33CBF sub ecx, 1
.text:00007FF65FA33CC2 jz loc_7FF65FA33E09
.text:00007FF65FA33CC8 sub ecx, 1
.text:00007FF65FA33CCB jz loc_7FF65FA33DE7
.text:00007FF65FA33CD1 cmp ecx, 1
.text:00007FF65FA33CD4 jz short loc_7FF65FA33CE8
.text:00007FF65FA33CD6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33CDD call cs:SetEvent
.text:00007FF65FA33CE3 jmp loc_7FF65FA33E74
.text:00007FF65FA33CE8 ; ---------------------------------------------------------------------------
.text:00007FF65FA33CE8
.text:00007FF65FA33CE8 loc_7FF65FA33CE8: ; CODE XREF: sub_7FF65FA33C30+A4j
.text:00007FF65FA33CE8 mov edi, [rbx+11h]
.text:00007FF65FA33CEB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA33CEF mov esi, [rbx+15h]
.text:00007FF65FA33CF2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA33CF9 test rdx, rdx
.text:00007FF65FA33CFC jz short loc_7FF65FA33D37
.text:00007FF65FA33CFE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA33D02
.text:00007FF65FA33D02 loc_7FF65FA33D02: ; CODE XREF: sub_7FF65FA33C30+D9j
.text:00007FF65FA33D02 inc rax
.text:00007FF65FA33D05 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA33D09 jnz short loc_7FF65FA33D02
.text:00007FF65FA33D0B cmp rax, 0FFh
.text:00007FF65FA33D11 jbe short loc_7FF65FA33D1B
.text:00007FF65FA33D13 mov r8d, 0FFh
.text:00007FF65FA33D19 jmp short loc_7FF65FA33D2D
.text:00007FF65FA33D1B ; ---------------------------------------------------------------------------
.text:00007FF65FA33D1B
.text:00007FF65FA33D1B loc_7FF65FA33D1B: ; CODE XREF: sub_7FF65FA33C30+E1j
.text:00007FF65FA33D1B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA33D1F nop
.text:00007FF65FA33D20
.text:00007FF65FA33D20 loc_7FF65FA33D20: ; CODE XREF: sub_7FF65FA33C30+F8j
.text:00007FF65FA33D20 inc r8
.text:00007FF65FA33D23 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA33D28 jnz short loc_7FF65FA33D20
.text:00007FF65FA33D2A inc r8 ; Count
.text:00007FF65FA33D2D
.text:00007FF65FA33D2D loc_7FF65FA33D2D: ; CODE XREF: sub_7FF65FA33C30+E9j
.text:00007FF65FA33D2D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA33D32 call strncpy
.text:00007FF65FA33D37
.text:00007FF65FA33D37 loc_7FF65FA33D37: ; CODE XREF: sub_7FF65FA33C30+CCj
.text:00007FF65FA33D37 mov [rsp+298h+var_178], edi
.text:00007FF65FA33D3E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA33D46 mov [rsp+298h+var_174], sil
.text:00007FF65FA33D4E lea rax, [rsp+298h+Dest]
.text:00007FF65FA33D53 mov ecx, 2
.text:00007FF65FA33D58 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA33D60
.text:00007FF65FA33D60 loc_7FF65FA33D60: ; CODE XREF: sub_7FF65FA33C30+181j
.text:00007FF65FA33D60 lea rdx, [rdx+80h]
.text:00007FF65FA33D67 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA33D6A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA33D6E lea rax, [rax+80h]
.text:00007FF65FA33D75 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA33D79 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA33D7D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA33D81 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA33D85 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA33D89 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA33D8D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA33D91 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA33D95 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA33D99 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA33D9D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA33DA1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA33DA5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA33DA9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA33DAD sub rcx, 1
.text:00007FF65FA33DB1 jnz short loc_7FF65FA33D60
.text:00007FF65FA33DB3 mov rcx, [rax]
.text:00007FF65FA33DB6 mov [rdx], rcx
.text:00007FF65FA33DB9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA33DC1 mov rcx, rbp
.text:00007FF65FA33DC4 call sub_7FF65FA33840
.text:00007FF65FA33DC9 test al, al
.text:00007FF65FA33DCB jz loc_7FF65FA33E8B
.text:00007FF65FA33DD1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA33DD5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33DDC call cs:SetEvent
.text:00007FF65FA33DE2 jmp loc_7FF65FA33E74
.text:00007FF65FA33DE7 ; ---------------------------------------------------------------------------
.text:00007FF65FA33DE7
.text:00007FF65FA33DE7 loc_7FF65FA33DE7: ; CODE XREF: sub_7FF65FA33C30+9Bj
.text:00007FF65FA33DE7 mov eax, [rbp+108h]
.text:00007FF65FA33DED mov [rbx+10h], eax
.text:00007FF65FA33DF0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA33DF7 mov [rbx+14h], eax
.text:00007FF65FA33DFA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33E01 call cs:SetEvent
.text:00007FF65FA33E07 jmp short loc_7FF65FA33E74
.text:00007FF65FA33E09 ; ---------------------------------------------------------------------------
.text:00007FF65FA33E09
.text:00007FF65FA33E09 loc_7FF65FA33E09: ; CODE XREF: sub_7FF65FA33C30+92j
.text:00007FF65FA33E09 lea rdx, [rbp+8] ; Src
.text:00007FF65FA33E0D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA33E11
.text:00007FF65FA33E11 loc_7FF65FA33E11: ; CODE XREF: sub_7FF65FA33C30+1E8j
.text:00007FF65FA33E11 inc rax
.text:00007FF65FA33E14 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA33E18 jnz short loc_7FF65FA33E11
.text:00007FF65FA33E1A cmp eax, 0FFh
.text:00007FF65FA33E1F jle short loc_7FF65FA33E28
.text:00007FF65FA33E21 mov eax, 100h
.text:00007FF65FA33E26 jmp short loc_7FF65FA33E2A
.text:00007FF65FA33E28 ; ---------------------------------------------------------------------------
.text:00007FF65FA33E28
.text:00007FF65FA33E28 loc_7FF65FA33E28: ; CODE XREF: sub_7FF65FA33C30+1EFj
.text:00007FF65FA33E28 inc eax
.text:00007FF65FA33E2A
.text:00007FF65FA33E2A loc_7FF65FA33E2A: ; CODE XREF: sub_7FF65FA33C30+1F6j
.text:00007FF65FA33E2A movsxd r8, eax ; Size
.text:00007FF65FA33E2D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA33E31 call memmove
.text:00007FF65FA33E36 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33E3D call cs:SetEvent
.text:00007FF65FA33E43 jmp short loc_7FF65FA33E74
.text:00007FF65FA33E45 ; ---------------------------------------------------------------------------
.text:00007FF65FA33E45
.text:00007FF65FA33E45 loc_7FF65FA33E45: ; CODE XREF: sub_7FF65FA33C30+89j
.text:00007FF65FA33E45 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA33E4E mov rcx, rbp
.text:00007FF65FA33E51 mov rdx, [r12+rdx*8]
.text:00007FF65FA33E55 call sub_7FF65FA33840
.text:00007FF65FA33E5A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33E61 test al, al
.text:00007FF65FA33E63 jz short loc_7FF65FA33E96
.text:00007FF65FA33E65 call cs:SetEvent
.text:00007FF65FA33E6B inc r15
.text:00007FF65FA33E6E cmp r15, 1Ah
.text:00007FF65FA33E72 jge short loc_7FF65FA33ECA
.text:00007FF65FA33E74
.text:00007FF65FA33E74 loc_7FF65FA33E74: ; CODE XREF: sub_7FF65FA33C30+B3j
.text:00007FF65FA33E74 ; sub_7FF65FA33C30+1B2j ...
.text:00007FF65FA33E74 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA33E78 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA33E7B call cs:WaitForSingleObject
.text:00007FF65FA33E81 test eax, eax
.text:00007FF65FA33E83 jz loc_7FF65FA33CB3
.text:00007FF65FA33E89 jmp short loc_7FF65FA33E9C
.text:00007FF65FA33E8B ; ---------------------------------------------------------------------------
.text:00007FF65FA33E8B
.text:00007FF65FA33E8B loc_7FF65FA33E8B: ; CODE XREF: sub_7FF65FA33C30+19Bj
.text:00007FF65FA33E8B mov byte ptr [rbx+10h], 0
.text:00007FF65FA33E8F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33E96
.text:00007FF65FA33E96 loc_7FF65FA33E96: ; CODE XREF: sub_7FF65FA33C30+233j
.text:00007FF65FA33E96 call cs:SetEvent
.text:00007FF65FA33E9C
.text:00007FF65FA33E9C loc_7FF65FA33E9C: ; CODE XREF: sub_7FF65FA33C30+73j
.text:00007FF65FA33E9C ; sub_7FF65FA33C30+259j
.text:00007FF65FA33E9C xor al, al
.text:00007FF65FA33E9E
.text:00007FF65FA33E9E loc_7FF65FA33E9E: ; CODE XREF: sub_7FF65FA33C30+29Cj
.text:00007FF65FA33E9E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA33EA6 xor rcx, rsp ; StackCookie
.text:00007FF65FA33EA9 call __security_check_cookie
.text:00007FF65FA33EAE lea r11, [rsp+298h+var_28]
.text:00007FF65FA33EB6 mov rbx, [r11+40h]
.text:00007FF65FA33EBA mov rbp, [r11+48h]
.text:00007FF65FA33EBE mov rsp, r11
.text:00007FF65FA33EC1 pop r15
.text:00007FF65FA33EC3 pop r14
.text:00007FF65FA33EC5 pop r12
.text:00007FF65FA33EC7 pop rdi
.text:00007FF65FA33EC8 pop rsi
.text:00007FF65FA33EC9 retn
.text:00007FF65FA33ECA ; ---------------------------------------------------------------------------
.text:00007FF65FA33ECA
.text:00007FF65FA33ECA loc_7FF65FA33ECA: ; CODE XREF: sub_7FF65FA33C30+242j
.text:00007FF65FA33ECA mov al, 1
.text:00007FF65FA33ECC jmp short loc_7FF65FA33E9E
.text:00007FF65FA33ECC sub_7FF65FA33C30 endp
.text:00007FF65FA33ECC
.text:00007FF65FA33ECC ; ---------------------------------------------------------------------------
.text:00007FF65FA33ECE algn_7FF65FA33ECE: ; DATA XREF: .pdata:00007FF65FA7D36Co
.text:00007FF65FA33ECE align 10h
.text:00007FF65FA33ED0
.text:00007FF65FA33ED0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA33ED0
.text:00007FF65FA33ED0
.text:00007FF65FA33ED0 sub_7FF65FA33ED0 proc near ; CODE XREF: StartAddress+69p
.text:00007FF65FA33ED0 ; DATA XREF: .rdata:off_7FF65FA736D8o ...
.text:00007FF65FA33ED0
.text:00007FF65FA33ED0 Dest = byte ptr -278h
.text:00007FF65FA33ED0 var_178 = dword ptr -178h
.text:00007FF65FA33ED0 var_174 = byte ptr -174h
.text:00007FF65FA33ED0 var_168 = byte ptr -168h
.text:00007FF65FA33ED0 var_58 = byte ptr -58h
.text:00007FF65FA33ED0 var_38 = qword ptr -38h
.text:00007FF65FA33ED0 var_28 = byte ptr -28h
.text:00007FF65FA33ED0
.text:00007FF65FA33ED0 mov r11, rsp
.text:00007FF65FA33ED3 mov [r11+18h], rbx
.text:00007FF65FA33ED7 mov [r11+20h], rbp
.text:00007FF65FA33EDB push rsi
.text:00007FF65FA33EDC push rdi
.text:00007FF65FA33EDD push r12
.text:00007FF65FA33EDF push r14
.text:00007FF65FA33EE1 push r15
.text:00007FF65FA33EE3 sub rsp, 270h
.text:00007FF65FA33EEA mov rax, cs:__security_cookie
.text:00007FF65FA33EF1 xor rax, rsp
.text:00007FF65FA33EF4 mov [rsp+298h+var_38], rax
.text:00007FF65FA33EFC movdqa xmm0, cs:xmmword_7FF65FA740E0
.text:00007FF65FA33F04 mov rbx, rdx
.text:00007FF65FA33F07 mov rbp, rcx
.text:00007FF65FA33F0A mov dword ptr [r11-48h], 2080100h
.text:00007FF65FA33F12 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA33F15 mov dword ptr [r11-44h], 0E000708h
.text:00007FF65FA33F1D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA33F23 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA33F27 mov word ptr [r11-40h], 401h
.text:00007FF65FA33F2E mov dword ptr [r11-68h], 64h
.text:00007FF65FA33F36 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA33F3B call cs:WaitForSingleObject
.text:00007FF65FA33F41 test eax, eax
.text:00007FF65FA33F43 jnz loc_7FF65FA3413C
.text:00007FF65FA33F49 xor r15d, r15d
.text:00007FF65FA33F4C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA33F53
.text:00007FF65FA33F53 loc_7FF65FA33F53: ; CODE XREF: sub_7FF65FA33ED0+253j
.text:00007FF65FA33F53 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA33F57 test ecx, ecx
.text:00007FF65FA33F59 jz loc_7FF65FA340E5
.text:00007FF65FA33F5F sub ecx, 1
.text:00007FF65FA33F62 jz loc_7FF65FA340A9
.text:00007FF65FA33F68 sub ecx, 1
.text:00007FF65FA33F6B jz loc_7FF65FA34087
.text:00007FF65FA33F71 cmp ecx, 1
.text:00007FF65FA33F74 jz short loc_7FF65FA33F88
.text:00007FF65FA33F76 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA33F7D call cs:SetEvent
.text:00007FF65FA33F83 jmp loc_7FF65FA34114
.text:00007FF65FA33F88 ; ---------------------------------------------------------------------------
.text:00007FF65FA33F88
.text:00007FF65FA33F88 loc_7FF65FA33F88: ; CODE XREF: sub_7FF65FA33ED0+A4j
.text:00007FF65FA33F88 mov edi, [rbx+11h]
.text:00007FF65FA33F8B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA33F8F mov esi, [rbx+15h]
.text:00007FF65FA33F92 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA33F99 test rdx, rdx
.text:00007FF65FA33F9C jz short loc_7FF65FA33FD7
.text:00007FF65FA33F9E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA33FA2
.text:00007FF65FA33FA2 loc_7FF65FA33FA2: ; CODE XREF: sub_7FF65FA33ED0+D9j
.text:00007FF65FA33FA2 inc rax
.text:00007FF65FA33FA5 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA33FA9 jnz short loc_7FF65FA33FA2
.text:00007FF65FA33FAB cmp rax, 0FFh
.text:00007FF65FA33FB1 jbe short loc_7FF65FA33FBB
.text:00007FF65FA33FB3 mov r8d, 0FFh
.text:00007FF65FA33FB9 jmp short loc_7FF65FA33FCD
.text:00007FF65FA33FBB ; ---------------------------------------------------------------------------
.text:00007FF65FA33FBB
.text:00007FF65FA33FBB loc_7FF65FA33FBB: ; CODE XREF: sub_7FF65FA33ED0+E1j
.text:00007FF65FA33FBB or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA33FBF nop
.text:00007FF65FA33FC0
.text:00007FF65FA33FC0 loc_7FF65FA33FC0: ; CODE XREF: sub_7FF65FA33ED0+F8j
.text:00007FF65FA33FC0 inc r8
.text:00007FF65FA33FC3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA33FC8 jnz short loc_7FF65FA33FC0
.text:00007FF65FA33FCA inc r8 ; Count
.text:00007FF65FA33FCD
.text:00007FF65FA33FCD loc_7FF65FA33FCD: ; CODE XREF: sub_7FF65FA33ED0+E9j
.text:00007FF65FA33FCD lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA33FD2 call strncpy
.text:00007FF65FA33FD7
.text:00007FF65FA33FD7 loc_7FF65FA33FD7: ; CODE XREF: sub_7FF65FA33ED0+CCj
.text:00007FF65FA33FD7 mov [rsp+298h+var_178], edi
.text:00007FF65FA33FDE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA33FE6 mov [rsp+298h+var_174], sil
.text:00007FF65FA33FEE lea rax, [rsp+298h+Dest]
.text:00007FF65FA33FF3 mov ecx, 2
.text:00007FF65FA33FF8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA34000
.text:00007FF65FA34000 loc_7FF65FA34000: ; CODE XREF: sub_7FF65FA33ED0+181j
.text:00007FF65FA34000 lea rdx, [rdx+80h]
.text:00007FF65FA34007 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3400A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3400E lea rax, [rax+80h]
.text:00007FF65FA34015 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA34019 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3401D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34021 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34025 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34029 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3402D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34031 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34035 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34039 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3403D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA34041 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA34045 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA34049 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3404D sub rcx, 1
.text:00007FF65FA34051 jnz short loc_7FF65FA34000
.text:00007FF65FA34053 mov rcx, [rax]
.text:00007FF65FA34056 mov [rdx], rcx
.text:00007FF65FA34059 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34061 mov rcx, rbp
.text:00007FF65FA34064 call sub_7FF65FA33840
.text:00007FF65FA34069 test al, al
.text:00007FF65FA3406B jz loc_7FF65FA3412B
.text:00007FF65FA34071 mov byte ptr [rbx+10h], 1
.text:00007FF65FA34075 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3407C call cs:SetEvent
.text:00007FF65FA34082 jmp loc_7FF65FA34114
.text:00007FF65FA34087 ; ---------------------------------------------------------------------------
.text:00007FF65FA34087
.text:00007FF65FA34087 loc_7FF65FA34087: ; CODE XREF: sub_7FF65FA33ED0+9Bj
.text:00007FF65FA34087 mov eax, [rbp+108h]
.text:00007FF65FA3408D mov [rbx+10h], eax
.text:00007FF65FA34090 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA34097 mov [rbx+14h], eax
.text:00007FF65FA3409A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA340A1 call cs:SetEvent
.text:00007FF65FA340A7 jmp short loc_7FF65FA34114
.text:00007FF65FA340A9 ; ---------------------------------------------------------------------------
.text:00007FF65FA340A9
.text:00007FF65FA340A9 loc_7FF65FA340A9: ; CODE XREF: sub_7FF65FA33ED0+92j
.text:00007FF65FA340A9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA340AD or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA340B1
.text:00007FF65FA340B1 loc_7FF65FA340B1: ; CODE XREF: sub_7FF65FA33ED0+1E8j
.text:00007FF65FA340B1 inc rax
.text:00007FF65FA340B4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA340B8 jnz short loc_7FF65FA340B1
.text:00007FF65FA340BA cmp eax, 0FFh
.text:00007FF65FA340BF jle short loc_7FF65FA340C8
.text:00007FF65FA340C1 mov eax, 100h
.text:00007FF65FA340C6 jmp short loc_7FF65FA340CA
.text:00007FF65FA340C8 ; ---------------------------------------------------------------------------
.text:00007FF65FA340C8
.text:00007FF65FA340C8 loc_7FF65FA340C8: ; CODE XREF: sub_7FF65FA33ED0+1EFj
.text:00007FF65FA340C8 inc eax
.text:00007FF65FA340CA
.text:00007FF65FA340CA loc_7FF65FA340CA: ; CODE XREF: sub_7FF65FA33ED0+1F6j
.text:00007FF65FA340CA movsxd r8, eax ; Size
.text:00007FF65FA340CD lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA340D1 call memmove
.text:00007FF65FA340D6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA340DD call cs:SetEvent
.text:00007FF65FA340E3 jmp short loc_7FF65FA34114
.text:00007FF65FA340E5 ; ---------------------------------------------------------------------------
.text:00007FF65FA340E5
.text:00007FF65FA340E5 loc_7FF65FA340E5: ; CODE XREF: sub_7FF65FA33ED0+89j
.text:00007FF65FA340E5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA340EE mov rcx, rbp
.text:00007FF65FA340F1 mov rdx, [r12+rdx*8]
.text:00007FF65FA340F5 call sub_7FF65FA33840
.text:00007FF65FA340FA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34101 test al, al
.text:00007FF65FA34103 jz short loc_7FF65FA34136
.text:00007FF65FA34105 call cs:SetEvent
.text:00007FF65FA3410B inc r15
.text:00007FF65FA3410E cmp r15, 1Ah
.text:00007FF65FA34112 jge short loc_7FF65FA3416A
.text:00007FF65FA34114
.text:00007FF65FA34114 loc_7FF65FA34114: ; CODE XREF: sub_7FF65FA33ED0+B3j
.text:00007FF65FA34114 ; sub_7FF65FA33ED0+1B2j ...
.text:00007FF65FA34114 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34118 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3411B call cs:WaitForSingleObject
.text:00007FF65FA34121 test eax, eax
.text:00007FF65FA34123 jz loc_7FF65FA33F53
.text:00007FF65FA34129 jmp short loc_7FF65FA3413C
.text:00007FF65FA3412B ; ---------------------------------------------------------------------------
.text:00007FF65FA3412B
.text:00007FF65FA3412B loc_7FF65FA3412B: ; CODE XREF: sub_7FF65FA33ED0+19Bj
.text:00007FF65FA3412B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3412F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34136
.text:00007FF65FA34136 loc_7FF65FA34136: ; CODE XREF: sub_7FF65FA33ED0+233j
.text:00007FF65FA34136 call cs:SetEvent
.text:00007FF65FA3413C
.text:00007FF65FA3413C loc_7FF65FA3413C: ; CODE XREF: sub_7FF65FA33ED0+73j
.text:00007FF65FA3413C ; sub_7FF65FA33ED0+259j
.text:00007FF65FA3413C xor al, al
.text:00007FF65FA3413E
.text:00007FF65FA3413E loc_7FF65FA3413E: ; CODE XREF: sub_7FF65FA33ED0+29Cj
.text:00007FF65FA3413E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA34146 xor rcx, rsp ; StackCookie
.text:00007FF65FA34149 call __security_check_cookie
.text:00007FF65FA3414E lea r11, [rsp+298h+var_28]
.text:00007FF65FA34156 mov rbx, [r11+40h]
.text:00007FF65FA3415A mov rbp, [r11+48h]
.text:00007FF65FA3415E mov rsp, r11
.text:00007FF65FA34161 pop r15
.text:00007FF65FA34163 pop r14
.text:00007FF65FA34165 pop r12
.text:00007FF65FA34167 pop rdi
.text:00007FF65FA34168 pop rsi
.text:00007FF65FA34169 retn
.text:00007FF65FA3416A ; ---------------------------------------------------------------------------
.text:00007FF65FA3416A
.text:00007FF65FA3416A loc_7FF65FA3416A: ; CODE XREF: sub_7FF65FA33ED0+242j
.text:00007FF65FA3416A mov al, 1
.text:00007FF65FA3416C jmp short loc_7FF65FA3413E
.text:00007FF65FA3416C sub_7FF65FA33ED0 endp
.text:00007FF65FA3416C
.text:00007FF65FA3416C ; ---------------------------------------------------------------------------
.text:00007FF65FA3416E algn_7FF65FA3416E: ; DATA XREF: .pdata:00007FF65FA7D378o
.text:00007FF65FA3416E align 10h
.text:00007FF65FA34170
.text:00007FF65FA34170 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA34170
.text:00007FF65FA34170
.text:00007FF65FA34170 sub_7FF65FA34170 proc near ; CODE XREF: sub_7FF65FA327B0+69p
.text:00007FF65FA34170 ; DATA XREF: .rdata:off_7FF65FA73698o ...
.text:00007FF65FA34170
.text:00007FF65FA34170 Dest = byte ptr -278h
.text:00007FF65FA34170 var_178 = dword ptr -178h
.text:00007FF65FA34170 var_174 = byte ptr -174h
.text:00007FF65FA34170 var_168 = byte ptr -168h
.text:00007FF65FA34170 var_58 = byte ptr -58h
.text:00007FF65FA34170 var_38 = qword ptr -38h
.text:00007FF65FA34170 var_28 = byte ptr -28h
.text:00007FF65FA34170
.text:00007FF65FA34170 mov r11, rsp
.text:00007FF65FA34173 mov [r11+18h], rbx
.text:00007FF65FA34177 mov [r11+20h], rbp
.text:00007FF65FA3417B push rsi
.text:00007FF65FA3417C push rdi
.text:00007FF65FA3417D push r12
.text:00007FF65FA3417F push r14
.text:00007FF65FA34181 push r15
.text:00007FF65FA34183 sub rsp, 270h
.text:00007FF65FA3418A mov rax, cs:__security_cookie
.text:00007FF65FA34191 xor rax, rsp
.text:00007FF65FA34194 mov [rsp+298h+var_38], rax
.text:00007FF65FA3419C movdqa xmm0, cs:xmmword_7FF65FA74080
.text:00007FF65FA341A4 mov rbx, rdx
.text:00007FF65FA341A7 mov rbp, rcx
.text:00007FF65FA341AA mov dword ptr [r11-48h], 4000D0Fh
.text:00007FF65FA341B2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA341B5 mov dword ptr [r11-44h], 10D0A08h
.text:00007FF65FA341BD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA341C3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA341C7 mov word ptr [r11-40h], 204h
.text:00007FF65FA341CE mov dword ptr [r11-68h], 64h
.text:00007FF65FA341D6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA341DB call cs:WaitForSingleObject
.text:00007FF65FA341E1 test eax, eax
.text:00007FF65FA341E3 jnz loc_7FF65FA343DC
.text:00007FF65FA341E9 xor r15d, r15d
.text:00007FF65FA341EC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA341F3
.text:00007FF65FA341F3 loc_7FF65FA341F3: ; CODE XREF: sub_7FF65FA34170+253j
.text:00007FF65FA341F3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA341F7 test ecx, ecx
.text:00007FF65FA341F9 jz loc_7FF65FA34385
.text:00007FF65FA341FF sub ecx, 1
.text:00007FF65FA34202 jz loc_7FF65FA34349
.text:00007FF65FA34208 sub ecx, 1
.text:00007FF65FA3420B jz loc_7FF65FA34327
.text:00007FF65FA34211 cmp ecx, 1
.text:00007FF65FA34214 jz short loc_7FF65FA34228
.text:00007FF65FA34216 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3421D call cs:SetEvent
.text:00007FF65FA34223 jmp loc_7FF65FA343B4
.text:00007FF65FA34228 ; ---------------------------------------------------------------------------
.text:00007FF65FA34228
.text:00007FF65FA34228 loc_7FF65FA34228: ; CODE XREF: sub_7FF65FA34170+A4j
.text:00007FF65FA34228 mov edi, [rbx+11h]
.text:00007FF65FA3422B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA3422F mov esi, [rbx+15h]
.text:00007FF65FA34232 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA34239 test rdx, rdx
.text:00007FF65FA3423C jz short loc_7FF65FA34277
.text:00007FF65FA3423E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34242
.text:00007FF65FA34242 loc_7FF65FA34242: ; CODE XREF: sub_7FF65FA34170+D9j
.text:00007FF65FA34242 inc rax
.text:00007FF65FA34245 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34249 jnz short loc_7FF65FA34242
.text:00007FF65FA3424B cmp rax, 0FFh
.text:00007FF65FA34251 jbe short loc_7FF65FA3425B
.text:00007FF65FA34253 mov r8d, 0FFh
.text:00007FF65FA34259 jmp short loc_7FF65FA3426D
.text:00007FF65FA3425B ; ---------------------------------------------------------------------------
.text:00007FF65FA3425B
.text:00007FF65FA3425B loc_7FF65FA3425B: ; CODE XREF: sub_7FF65FA34170+E1j
.text:00007FF65FA3425B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3425F nop
.text:00007FF65FA34260
.text:00007FF65FA34260 loc_7FF65FA34260: ; CODE XREF: sub_7FF65FA34170+F8j
.text:00007FF65FA34260 inc r8
.text:00007FF65FA34263 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA34268 jnz short loc_7FF65FA34260
.text:00007FF65FA3426A inc r8 ; Count
.text:00007FF65FA3426D
.text:00007FF65FA3426D loc_7FF65FA3426D: ; CODE XREF: sub_7FF65FA34170+E9j
.text:00007FF65FA3426D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA34272 call strncpy
.text:00007FF65FA34277
.text:00007FF65FA34277 loc_7FF65FA34277: ; CODE XREF: sub_7FF65FA34170+CCj
.text:00007FF65FA34277 mov [rsp+298h+var_178], edi
.text:00007FF65FA3427E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34286 mov [rsp+298h+var_174], sil
.text:00007FF65FA3428E lea rax, [rsp+298h+Dest]
.text:00007FF65FA34293 mov ecx, 2
.text:00007FF65FA34298 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA342A0
.text:00007FF65FA342A0 loc_7FF65FA342A0: ; CODE XREF: sub_7FF65FA34170+181j
.text:00007FF65FA342A0 lea rdx, [rdx+80h]
.text:00007FF65FA342A7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA342AA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA342AE lea rax, [rax+80h]
.text:00007FF65FA342B5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA342B9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA342BD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA342C1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA342C5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA342C9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA342CD movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA342D1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA342D5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA342D9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA342DD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA342E1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA342E5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA342E9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA342ED sub rcx, 1
.text:00007FF65FA342F1 jnz short loc_7FF65FA342A0
.text:00007FF65FA342F3 mov rcx, [rax]
.text:00007FF65FA342F6 mov [rdx], rcx
.text:00007FF65FA342F9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34301 mov rcx, rbp
.text:00007FF65FA34304 call sub_7FF65FA33840
.text:00007FF65FA34309 test al, al
.text:00007FF65FA3430B jz loc_7FF65FA343CB
.text:00007FF65FA34311 mov byte ptr [rbx+10h], 1
.text:00007FF65FA34315 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3431C call cs:SetEvent
.text:00007FF65FA34322 jmp loc_7FF65FA343B4
.text:00007FF65FA34327 ; ---------------------------------------------------------------------------
.text:00007FF65FA34327
.text:00007FF65FA34327 loc_7FF65FA34327: ; CODE XREF: sub_7FF65FA34170+9Bj
.text:00007FF65FA34327 mov eax, [rbp+108h]
.text:00007FF65FA3432D mov [rbx+10h], eax
.text:00007FF65FA34330 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA34337 mov [rbx+14h], eax
.text:00007FF65FA3433A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34341 call cs:SetEvent
.text:00007FF65FA34347 jmp short loc_7FF65FA343B4
.text:00007FF65FA34349 ; ---------------------------------------------------------------------------
.text:00007FF65FA34349
.text:00007FF65FA34349 loc_7FF65FA34349: ; CODE XREF: sub_7FF65FA34170+92j
.text:00007FF65FA34349 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3434D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34351
.text:00007FF65FA34351 loc_7FF65FA34351: ; CODE XREF: sub_7FF65FA34170+1E8j
.text:00007FF65FA34351 inc rax
.text:00007FF65FA34354 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34358 jnz short loc_7FF65FA34351
.text:00007FF65FA3435A cmp eax, 0FFh
.text:00007FF65FA3435F jle short loc_7FF65FA34368
.text:00007FF65FA34361 mov eax, 100h
.text:00007FF65FA34366 jmp short loc_7FF65FA3436A
.text:00007FF65FA34368 ; ---------------------------------------------------------------------------
.text:00007FF65FA34368
.text:00007FF65FA34368 loc_7FF65FA34368: ; CODE XREF: sub_7FF65FA34170+1EFj
.text:00007FF65FA34368 inc eax
.text:00007FF65FA3436A
.text:00007FF65FA3436A loc_7FF65FA3436A: ; CODE XREF: sub_7FF65FA34170+1F6j
.text:00007FF65FA3436A movsxd r8, eax ; Size
.text:00007FF65FA3436D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA34371 call memmove
.text:00007FF65FA34376 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3437D call cs:SetEvent
.text:00007FF65FA34383 jmp short loc_7FF65FA343B4
.text:00007FF65FA34385 ; ---------------------------------------------------------------------------
.text:00007FF65FA34385
.text:00007FF65FA34385 loc_7FF65FA34385: ; CODE XREF: sub_7FF65FA34170+89j
.text:00007FF65FA34385 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3438E mov rcx, rbp
.text:00007FF65FA34391 mov rdx, [r12+rdx*8]
.text:00007FF65FA34395 call sub_7FF65FA33840
.text:00007FF65FA3439A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA343A1 test al, al
.text:00007FF65FA343A3 jz short loc_7FF65FA343D6
.text:00007FF65FA343A5 call cs:SetEvent
.text:00007FF65FA343AB inc r15
.text:00007FF65FA343AE cmp r15, 1Ah
.text:00007FF65FA343B2 jge short loc_7FF65FA3440A
.text:00007FF65FA343B4
.text:00007FF65FA343B4 loc_7FF65FA343B4: ; CODE XREF: sub_7FF65FA34170+B3j
.text:00007FF65FA343B4 ; sub_7FF65FA34170+1B2j ...
.text:00007FF65FA343B4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA343B8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA343BB call cs:WaitForSingleObject
.text:00007FF65FA343C1 test eax, eax
.text:00007FF65FA343C3 jz loc_7FF65FA341F3
.text:00007FF65FA343C9 jmp short loc_7FF65FA343DC
.text:00007FF65FA343CB ; ---------------------------------------------------------------------------
.text:00007FF65FA343CB
.text:00007FF65FA343CB loc_7FF65FA343CB: ; CODE XREF: sub_7FF65FA34170+19Bj
.text:00007FF65FA343CB mov byte ptr [rbx+10h], 0
.text:00007FF65FA343CF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA343D6
.text:00007FF65FA343D6 loc_7FF65FA343D6: ; CODE XREF: sub_7FF65FA34170+233j
.text:00007FF65FA343D6 call cs:SetEvent
.text:00007FF65FA343DC
.text:00007FF65FA343DC loc_7FF65FA343DC: ; CODE XREF: sub_7FF65FA34170+73j
.text:00007FF65FA343DC ; sub_7FF65FA34170+259j
.text:00007FF65FA343DC xor al, al
.text:00007FF65FA343DE
.text:00007FF65FA343DE loc_7FF65FA343DE: ; CODE XREF: sub_7FF65FA34170+29Cj
.text:00007FF65FA343DE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA343E6 xor rcx, rsp ; StackCookie
.text:00007FF65FA343E9 call __security_check_cookie
.text:00007FF65FA343EE lea r11, [rsp+298h+var_28]
.text:00007FF65FA343F6 mov rbx, [r11+40h]
.text:00007FF65FA343FA mov rbp, [r11+48h]
.text:00007FF65FA343FE mov rsp, r11
.text:00007FF65FA34401 pop r15
.text:00007FF65FA34403 pop r14
.text:00007FF65FA34405 pop r12
.text:00007FF65FA34407 pop rdi
.text:00007FF65FA34408 pop rsi
.text:00007FF65FA34409 retn
.text:00007FF65FA3440A ; ---------------------------------------------------------------------------
.text:00007FF65FA3440A
.text:00007FF65FA3440A loc_7FF65FA3440A: ; CODE XREF: sub_7FF65FA34170+242j
.text:00007FF65FA3440A mov al, 1
.text:00007FF65FA3440C jmp short loc_7FF65FA343DE
.text:00007FF65FA3440C sub_7FF65FA34170 endp
.text:00007FF65FA3440C
.text:00007FF65FA3440C ; ---------------------------------------------------------------------------
.text:00007FF65FA3440E algn_7FF65FA3440E: ; DATA XREF: .pdata:00007FF65FA7D384o
.text:00007FF65FA3440E align 10h
.text:00007FF65FA34410
.text:00007FF65FA34410 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA34410
.text:00007FF65FA34410
.text:00007FF65FA34410 sub_7FF65FA34410 proc near ; CODE XREF: sub_7FF65FA32850+69p
.text:00007FF65FA34410 ; DATA XREF: .rdata:off_7FF65FA73640o ...
.text:00007FF65FA34410
.text:00007FF65FA34410 Dest = byte ptr -278h
.text:00007FF65FA34410 var_178 = dword ptr -178h
.text:00007FF65FA34410 var_174 = byte ptr -174h
.text:00007FF65FA34410 var_168 = byte ptr -168h
.text:00007FF65FA34410 var_58 = byte ptr -58h
.text:00007FF65FA34410 var_38 = qword ptr -38h
.text:00007FF65FA34410 var_28 = byte ptr -28h
.text:00007FF65FA34410
.text:00007FF65FA34410 mov r11, rsp
.text:00007FF65FA34413 mov [r11+18h], rbx
.text:00007FF65FA34417 mov [r11+20h], rbp
.text:00007FF65FA3441B push rsi
.text:00007FF65FA3441C push rdi
.text:00007FF65FA3441D push r12
.text:00007FF65FA3441F push r14
.text:00007FF65FA34421 push r15
.text:00007FF65FA34423 sub rsp, 270h
.text:00007FF65FA3442A mov rax, cs:__security_cookie
.text:00007FF65FA34431 xor rax, rsp
.text:00007FF65FA34434 mov [rsp+298h+var_38], rax
.text:00007FF65FA3443C movdqa xmm0, cs:xmmword_7FF65FA74100
.text:00007FF65FA34444 mov rbx, rdx
.text:00007FF65FA34447 mov rbp, rcx
.text:00007FF65FA3444A mov dword ptr [r11-48h], 1030804h
.text:00007FF65FA34452 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34455 mov dword ptr [r11-44h], 6000907h
.text:00007FF65FA3445D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA34463 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34467 mov byte ptr [r11-40h], 0Ah
.text:00007FF65FA3446C mov dword ptr [r11-68h], 64h
.text:00007FF65FA34474 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA34479 call cs:WaitForSingleObject
.text:00007FF65FA3447F test eax, eax
.text:00007FF65FA34481 jnz loc_7FF65FA3467C
.text:00007FF65FA34487 xor r15d, r15d
.text:00007FF65FA3448A lea r12, qword_7FF65FA7CC80
.text:00007FF65FA34491
.text:00007FF65FA34491 loc_7FF65FA34491: ; CODE XREF: sub_7FF65FA34410+253j
.text:00007FF65FA34491 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA34495 test ecx, ecx
.text:00007FF65FA34497 jz loc_7FF65FA34625
.text:00007FF65FA3449D sub ecx, 1
.text:00007FF65FA344A0 jz loc_7FF65FA345E9
.text:00007FF65FA344A6 sub ecx, 1
.text:00007FF65FA344A9 jz loc_7FF65FA345C7
.text:00007FF65FA344AF cmp ecx, 1
.text:00007FF65FA344B2 jz short loc_7FF65FA344C6
.text:00007FF65FA344B4 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA344BB call cs:SetEvent
.text:00007FF65FA344C1 jmp loc_7FF65FA34654
.text:00007FF65FA344C6 ; ---------------------------------------------------------------------------
.text:00007FF65FA344C6
.text:00007FF65FA344C6 loc_7FF65FA344C6: ; CODE XREF: sub_7FF65FA34410+A2j
.text:00007FF65FA344C6 mov edi, [rbx+11h]
.text:00007FF65FA344C9 lea rdx, [rbx+19h] ; Source
.text:00007FF65FA344CD mov esi, [rbx+15h]
.text:00007FF65FA344D0 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA344D7 test rdx, rdx
.text:00007FF65FA344DA jz short loc_7FF65FA34517
.text:00007FF65FA344DC or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA344E0
.text:00007FF65FA344E0 loc_7FF65FA344E0: ; CODE XREF: sub_7FF65FA34410+D7j
.text:00007FF65FA344E0 inc rax
.text:00007FF65FA344E3 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA344E7 jnz short loc_7FF65FA344E0
.text:00007FF65FA344E9 cmp rax, 0FFh
.text:00007FF65FA344EF jbe short loc_7FF65FA344F9
.text:00007FF65FA344F1 mov r8d, 0FFh
.text:00007FF65FA344F7 jmp short loc_7FF65FA3450D
.text:00007FF65FA344F9 ; ---------------------------------------------------------------------------
.text:00007FF65FA344F9
.text:00007FF65FA344F9 loc_7FF65FA344F9: ; CODE XREF: sub_7FF65FA34410+DFj
.text:00007FF65FA344F9 or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA344FD nop dword ptr [rax]
.text:00007FF65FA34500
.text:00007FF65FA34500 loc_7FF65FA34500: ; CODE XREF: sub_7FF65FA34410+F8j
.text:00007FF65FA34500 inc r8
.text:00007FF65FA34503 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA34508 jnz short loc_7FF65FA34500
.text:00007FF65FA3450A inc r8 ; Count
.text:00007FF65FA3450D
.text:00007FF65FA3450D loc_7FF65FA3450D: ; CODE XREF: sub_7FF65FA34410+E7j
.text:00007FF65FA3450D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA34512 call strncpy
.text:00007FF65FA34517
.text:00007FF65FA34517 loc_7FF65FA34517: ; CODE XREF: sub_7FF65FA34410+CAj
.text:00007FF65FA34517 mov [rsp+298h+var_178], edi
.text:00007FF65FA3451E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34526 mov [rsp+298h+var_174], sil
.text:00007FF65FA3452E lea rax, [rsp+298h+Dest]
.text:00007FF65FA34533 mov ecx, 2
.text:00007FF65FA34538 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA34540
.text:00007FF65FA34540 loc_7FF65FA34540: ; CODE XREF: sub_7FF65FA34410+181j
.text:00007FF65FA34540 lea rdx, [rdx+80h]
.text:00007FF65FA34547 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3454A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3454E lea rax, [rax+80h]
.text:00007FF65FA34555 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA34559 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3455D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34561 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34565 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34569 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3456D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34571 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34575 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34579 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3457D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA34581 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA34585 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA34589 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3458D sub rcx, 1
.text:00007FF65FA34591 jnz short loc_7FF65FA34540
.text:00007FF65FA34593 mov rcx, [rax]
.text:00007FF65FA34596 mov [rdx], rcx
.text:00007FF65FA34599 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA345A1 mov rcx, rbp
.text:00007FF65FA345A4 call sub_7FF65FA33840
.text:00007FF65FA345A9 test al, al
.text:00007FF65FA345AB jz loc_7FF65FA3466B
.text:00007FF65FA345B1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA345B5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA345BC call cs:SetEvent
.text:00007FF65FA345C2 jmp loc_7FF65FA34654
.text:00007FF65FA345C7 ; ---------------------------------------------------------------------------
.text:00007FF65FA345C7
.text:00007FF65FA345C7 loc_7FF65FA345C7: ; CODE XREF: sub_7FF65FA34410+99j
.text:00007FF65FA345C7 mov eax, [rbp+108h]
.text:00007FF65FA345CD mov [rbx+10h], eax
.text:00007FF65FA345D0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA345D7 mov [rbx+14h], eax
.text:00007FF65FA345DA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA345E1 call cs:SetEvent
.text:00007FF65FA345E7 jmp short loc_7FF65FA34654
.text:00007FF65FA345E9 ; ---------------------------------------------------------------------------
.text:00007FF65FA345E9
.text:00007FF65FA345E9 loc_7FF65FA345E9: ; CODE XREF: sub_7FF65FA34410+90j
.text:00007FF65FA345E9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA345ED or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA345F1
.text:00007FF65FA345F1 loc_7FF65FA345F1: ; CODE XREF: sub_7FF65FA34410+1E8j
.text:00007FF65FA345F1 inc rax
.text:00007FF65FA345F4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA345F8 jnz short loc_7FF65FA345F1
.text:00007FF65FA345FA cmp eax, 0FFh
.text:00007FF65FA345FF jle short loc_7FF65FA34608
.text:00007FF65FA34601 mov eax, 100h
.text:00007FF65FA34606 jmp short loc_7FF65FA3460A
.text:00007FF65FA34608 ; ---------------------------------------------------------------------------
.text:00007FF65FA34608
.text:00007FF65FA34608 loc_7FF65FA34608: ; CODE XREF: sub_7FF65FA34410+1EFj
.text:00007FF65FA34608 inc eax
.text:00007FF65FA3460A
.text:00007FF65FA3460A loc_7FF65FA3460A: ; CODE XREF: sub_7FF65FA34410+1F6j
.text:00007FF65FA3460A movsxd r8, eax ; Size
.text:00007FF65FA3460D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA34611 call memmove
.text:00007FF65FA34616 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3461D call cs:SetEvent
.text:00007FF65FA34623 jmp short loc_7FF65FA34654
.text:00007FF65FA34625 ; ---------------------------------------------------------------------------
.text:00007FF65FA34625
.text:00007FF65FA34625 loc_7FF65FA34625: ; CODE XREF: sub_7FF65FA34410+87j
.text:00007FF65FA34625 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3462E mov rcx, rbp
.text:00007FF65FA34631 mov rdx, [r12+rdx*8]
.text:00007FF65FA34635 call sub_7FF65FA33840
.text:00007FF65FA3463A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34641 test al, al
.text:00007FF65FA34643 jz short loc_7FF65FA34676
.text:00007FF65FA34645 call cs:SetEvent
.text:00007FF65FA3464B inc r15
.text:00007FF65FA3464E cmp r15, 1Ah
.text:00007FF65FA34652 jge short loc_7FF65FA346AA
.text:00007FF65FA34654
.text:00007FF65FA34654 loc_7FF65FA34654: ; CODE XREF: sub_7FF65FA34410+B1j
.text:00007FF65FA34654 ; sub_7FF65FA34410+1B2j ...
.text:00007FF65FA34654 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34658 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3465B call cs:WaitForSingleObject
.text:00007FF65FA34661 test eax, eax
.text:00007FF65FA34663 jz loc_7FF65FA34491
.text:00007FF65FA34669 jmp short loc_7FF65FA3467C
.text:00007FF65FA3466B ; ---------------------------------------------------------------------------
.text:00007FF65FA3466B
.text:00007FF65FA3466B loc_7FF65FA3466B: ; CODE XREF: sub_7FF65FA34410+19Bj
.text:00007FF65FA3466B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3466F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34676
.text:00007FF65FA34676 loc_7FF65FA34676: ; CODE XREF: sub_7FF65FA34410+233j
.text:00007FF65FA34676 call cs:SetEvent
.text:00007FF65FA3467C
.text:00007FF65FA3467C loc_7FF65FA3467C: ; CODE XREF: sub_7FF65FA34410+71j
.text:00007FF65FA3467C ; sub_7FF65FA34410+259j
.text:00007FF65FA3467C xor al, al
.text:00007FF65FA3467E
.text:00007FF65FA3467E loc_7FF65FA3467E: ; CODE XREF: sub_7FF65FA34410+29Cj
.text:00007FF65FA3467E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA34686 xor rcx, rsp ; StackCookie
.text:00007FF65FA34689 call __security_check_cookie
.text:00007FF65FA3468E lea r11, [rsp+298h+var_28]
.text:00007FF65FA34696 mov rbx, [r11+40h]
.text:00007FF65FA3469A mov rbp, [r11+48h]
.text:00007FF65FA3469E mov rsp, r11
.text:00007FF65FA346A1 pop r15
.text:00007FF65FA346A3 pop r14
.text:00007FF65FA346A5 pop r12
.text:00007FF65FA346A7 pop rdi
.text:00007FF65FA346A8 pop rsi
.text:00007FF65FA346A9 retn
.text:00007FF65FA346AA ; ---------------------------------------------------------------------------
.text:00007FF65FA346AA
.text:00007FF65FA346AA loc_7FF65FA346AA: ; CODE XREF: sub_7FF65FA34410+242j
.text:00007FF65FA346AA mov al, 1
.text:00007FF65FA346AC jmp short loc_7FF65FA3467E
.text:00007FF65FA346AC sub_7FF65FA34410 endp
.text:00007FF65FA346AC
.text:00007FF65FA346AC ; ---------------------------------------------------------------------------
.text:00007FF65FA346AE algn_7FF65FA346AE: ; DATA XREF: .pdata:00007FF65FA7D390o
.text:00007FF65FA346AE align 10h
.text:00007FF65FA346B0
.text:00007FF65FA346B0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA346B0
.text:00007FF65FA346B0
.text:00007FF65FA346B0 sub_7FF65FA346B0 proc near ; CODE XREF: sub_7FF65FA328F0+69p
.text:00007FF65FA346B0 ; DATA XREF: .rdata:off_7FF65FA73658o ...
.text:00007FF65FA346B0
.text:00007FF65FA346B0 Dest = byte ptr -278h
.text:00007FF65FA346B0 var_178 = dword ptr -178h
.text:00007FF65FA346B0 var_174 = byte ptr -174h
.text:00007FF65FA346B0 var_168 = byte ptr -168h
.text:00007FF65FA346B0 var_58 = byte ptr -58h
.text:00007FF65FA346B0 var_38 = qword ptr -38h
.text:00007FF65FA346B0 var_28 = byte ptr -28h
.text:00007FF65FA346B0
.text:00007FF65FA346B0 mov r11, rsp
.text:00007FF65FA346B3 mov [r11+18h], rbx
.text:00007FF65FA346B7 mov [r11+20h], rbp
.text:00007FF65FA346BB push rsi
.text:00007FF65FA346BC push rdi
.text:00007FF65FA346BD push r12
.text:00007FF65FA346BF push r14
.text:00007FF65FA346C1 push r15
.text:00007FF65FA346C3 sub rsp, 270h
.text:00007FF65FA346CA mov rax, cs:__security_cookie
.text:00007FF65FA346D1 xor rax, rsp
.text:00007FF65FA346D4 mov [rsp+298h+var_38], rax
.text:00007FF65FA346DC movdqa xmm0, cs:xmmword_7FF65FA740A0
.text:00007FF65FA346E4 mov rbx, rdx
.text:00007FF65FA346E7 mov rbp, rcx
.text:00007FF65FA346EA mov dword ptr [r11-48h], 2090507h
.text:00007FF65FA346F2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA346F5 mov dword ptr [r11-44h], 4080203h
.text:00007FF65FA346FD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA34703 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34707 mov word ptr [r11-40h], 104h
.text:00007FF65FA3470E mov dword ptr [r11-68h], 64h
.text:00007FF65FA34716 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3471B call cs:WaitForSingleObject
.text:00007FF65FA34721 test eax, eax
.text:00007FF65FA34723 jnz loc_7FF65FA3491C
.text:00007FF65FA34729 xor r15d, r15d
.text:00007FF65FA3472C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA34733
.text:00007FF65FA34733 loc_7FF65FA34733: ; CODE XREF: sub_7FF65FA346B0+253j
.text:00007FF65FA34733 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA34737 test ecx, ecx
.text:00007FF65FA34739 jz loc_7FF65FA348C5
.text:00007FF65FA3473F sub ecx, 1
.text:00007FF65FA34742 jz loc_7FF65FA34889
.text:00007FF65FA34748 sub ecx, 1
.text:00007FF65FA3474B jz loc_7FF65FA34867
.text:00007FF65FA34751 cmp ecx, 1
.text:00007FF65FA34754 jz short loc_7FF65FA34768
.text:00007FF65FA34756 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3475D call cs:SetEvent
.text:00007FF65FA34763 jmp loc_7FF65FA348F4
.text:00007FF65FA34768 ; ---------------------------------------------------------------------------
.text:00007FF65FA34768
.text:00007FF65FA34768 loc_7FF65FA34768: ; CODE XREF: sub_7FF65FA346B0+A4j
.text:00007FF65FA34768 mov edi, [rbx+11h]
.text:00007FF65FA3476B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA3476F mov esi, [rbx+15h]
.text:00007FF65FA34772 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA34779 test rdx, rdx
.text:00007FF65FA3477C jz short loc_7FF65FA347B7
.text:00007FF65FA3477E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34782
.text:00007FF65FA34782 loc_7FF65FA34782: ; CODE XREF: sub_7FF65FA346B0+D9j
.text:00007FF65FA34782 inc rax
.text:00007FF65FA34785 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34789 jnz short loc_7FF65FA34782
.text:00007FF65FA3478B cmp rax, 0FFh
.text:00007FF65FA34791 jbe short loc_7FF65FA3479B
.text:00007FF65FA34793 mov r8d, 0FFh
.text:00007FF65FA34799 jmp short loc_7FF65FA347AD
.text:00007FF65FA3479B ; ---------------------------------------------------------------------------
.text:00007FF65FA3479B
.text:00007FF65FA3479B loc_7FF65FA3479B: ; CODE XREF: sub_7FF65FA346B0+E1j
.text:00007FF65FA3479B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3479F nop
.text:00007FF65FA347A0
.text:00007FF65FA347A0 loc_7FF65FA347A0: ; CODE XREF: sub_7FF65FA346B0+F8j
.text:00007FF65FA347A0 inc r8
.text:00007FF65FA347A3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA347A8 jnz short loc_7FF65FA347A0
.text:00007FF65FA347AA inc r8 ; Count
.text:00007FF65FA347AD
.text:00007FF65FA347AD loc_7FF65FA347AD: ; CODE XREF: sub_7FF65FA346B0+E9j
.text:00007FF65FA347AD lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA347B2 call strncpy
.text:00007FF65FA347B7
.text:00007FF65FA347B7 loc_7FF65FA347B7: ; CODE XREF: sub_7FF65FA346B0+CCj
.text:00007FF65FA347B7 mov [rsp+298h+var_178], edi
.text:00007FF65FA347BE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA347C6 mov [rsp+298h+var_174], sil
.text:00007FF65FA347CE lea rax, [rsp+298h+Dest]
.text:00007FF65FA347D3 mov ecx, 2
.text:00007FF65FA347D8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA347E0
.text:00007FF65FA347E0 loc_7FF65FA347E0: ; CODE XREF: sub_7FF65FA346B0+181j
.text:00007FF65FA347E0 lea rdx, [rdx+80h]
.text:00007FF65FA347E7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA347EA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA347EE lea rax, [rax+80h]
.text:00007FF65FA347F5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA347F9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA347FD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34801 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34805 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34809 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3480D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34811 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34815 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34819 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3481D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA34821 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA34825 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA34829 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3482D sub rcx, 1
.text:00007FF65FA34831 jnz short loc_7FF65FA347E0
.text:00007FF65FA34833 mov rcx, [rax]
.text:00007FF65FA34836 mov [rdx], rcx
.text:00007FF65FA34839 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34841 mov rcx, rbp
.text:00007FF65FA34844 call sub_7FF65FA33840
.text:00007FF65FA34849 test al, al
.text:00007FF65FA3484B jz loc_7FF65FA3490B
.text:00007FF65FA34851 mov byte ptr [rbx+10h], 1
.text:00007FF65FA34855 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3485C call cs:SetEvent
.text:00007FF65FA34862 jmp loc_7FF65FA348F4
.text:00007FF65FA34867 ; ---------------------------------------------------------------------------
.text:00007FF65FA34867
.text:00007FF65FA34867 loc_7FF65FA34867: ; CODE XREF: sub_7FF65FA346B0+9Bj
.text:00007FF65FA34867 mov eax, [rbp+108h]
.text:00007FF65FA3486D mov [rbx+10h], eax
.text:00007FF65FA34870 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA34877 mov [rbx+14h], eax
.text:00007FF65FA3487A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34881 call cs:SetEvent
.text:00007FF65FA34887 jmp short loc_7FF65FA348F4
.text:00007FF65FA34889 ; ---------------------------------------------------------------------------
.text:00007FF65FA34889
.text:00007FF65FA34889 loc_7FF65FA34889: ; CODE XREF: sub_7FF65FA346B0+92j
.text:00007FF65FA34889 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3488D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34891
.text:00007FF65FA34891 loc_7FF65FA34891: ; CODE XREF: sub_7FF65FA346B0+1E8j
.text:00007FF65FA34891 inc rax
.text:00007FF65FA34894 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34898 jnz short loc_7FF65FA34891
.text:00007FF65FA3489A cmp eax, 0FFh
.text:00007FF65FA3489F jle short loc_7FF65FA348A8
.text:00007FF65FA348A1 mov eax, 100h
.text:00007FF65FA348A6 jmp short loc_7FF65FA348AA
.text:00007FF65FA348A8 ; ---------------------------------------------------------------------------
.text:00007FF65FA348A8
.text:00007FF65FA348A8 loc_7FF65FA348A8: ; CODE XREF: sub_7FF65FA346B0+1EFj
.text:00007FF65FA348A8 inc eax
.text:00007FF65FA348AA
.text:00007FF65FA348AA loc_7FF65FA348AA: ; CODE XREF: sub_7FF65FA346B0+1F6j
.text:00007FF65FA348AA movsxd r8, eax ; Size
.text:00007FF65FA348AD lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA348B1 call memmove
.text:00007FF65FA348B6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA348BD call cs:SetEvent
.text:00007FF65FA348C3 jmp short loc_7FF65FA348F4
.text:00007FF65FA348C5 ; ---------------------------------------------------------------------------
.text:00007FF65FA348C5
.text:00007FF65FA348C5 loc_7FF65FA348C5: ; CODE XREF: sub_7FF65FA346B0+89j
.text:00007FF65FA348C5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA348CE mov rcx, rbp
.text:00007FF65FA348D1 mov rdx, [r12+rdx*8]
.text:00007FF65FA348D5 call sub_7FF65FA33840
.text:00007FF65FA348DA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA348E1 test al, al
.text:00007FF65FA348E3 jz short loc_7FF65FA34916
.text:00007FF65FA348E5 call cs:SetEvent
.text:00007FF65FA348EB inc r15
.text:00007FF65FA348EE cmp r15, 1Ah
.text:00007FF65FA348F2 jge short loc_7FF65FA3494A
.text:00007FF65FA348F4
.text:00007FF65FA348F4 loc_7FF65FA348F4: ; CODE XREF: sub_7FF65FA346B0+B3j
.text:00007FF65FA348F4 ; sub_7FF65FA346B0+1B2j ...
.text:00007FF65FA348F4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA348F8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA348FB call cs:WaitForSingleObject
.text:00007FF65FA34901 test eax, eax
.text:00007FF65FA34903 jz loc_7FF65FA34733
.text:00007FF65FA34909 jmp short loc_7FF65FA3491C
.text:00007FF65FA3490B ; ---------------------------------------------------------------------------
.text:00007FF65FA3490B
.text:00007FF65FA3490B loc_7FF65FA3490B: ; CODE XREF: sub_7FF65FA346B0+19Bj
.text:00007FF65FA3490B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3490F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34916
.text:00007FF65FA34916 loc_7FF65FA34916: ; CODE XREF: sub_7FF65FA346B0+233j
.text:00007FF65FA34916 call cs:SetEvent
.text:00007FF65FA3491C
.text:00007FF65FA3491C loc_7FF65FA3491C: ; CODE XREF: sub_7FF65FA346B0+73j
.text:00007FF65FA3491C ; sub_7FF65FA346B0+259j
.text:00007FF65FA3491C xor al, al
.text:00007FF65FA3491E
.text:00007FF65FA3491E loc_7FF65FA3491E: ; CODE XREF: sub_7FF65FA346B0+29Cj
.text:00007FF65FA3491E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA34926 xor rcx, rsp ; StackCookie
.text:00007FF65FA34929 call __security_check_cookie
.text:00007FF65FA3492E lea r11, [rsp+298h+var_28]
.text:00007FF65FA34936 mov rbx, [r11+40h]
.text:00007FF65FA3493A mov rbp, [r11+48h]
.text:00007FF65FA3493E mov rsp, r11
.text:00007FF65FA34941 pop r15
.text:00007FF65FA34943 pop r14
.text:00007FF65FA34945 pop r12
.text:00007FF65FA34947 pop rdi
.text:00007FF65FA34948 pop rsi
.text:00007FF65FA34949 retn
.text:00007FF65FA3494A ; ---------------------------------------------------------------------------
.text:00007FF65FA3494A
.text:00007FF65FA3494A loc_7FF65FA3494A: ; CODE XREF: sub_7FF65FA346B0+242j
.text:00007FF65FA3494A mov al, 1
.text:00007FF65FA3494C jmp short loc_7FF65FA3491E
.text:00007FF65FA3494C sub_7FF65FA346B0 endp
.text:00007FF65FA3494C
.text:00007FF65FA3494C ; ---------------------------------------------------------------------------
.text:00007FF65FA3494E algn_7FF65FA3494E: ; DATA XREF: .pdata:00007FF65FA7D39Co
.text:00007FF65FA3494E align 10h
.text:00007FF65FA34950
.text:00007FF65FA34950 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA34950
.text:00007FF65FA34950
.text:00007FF65FA34950 sub_7FF65FA34950 proc near ; CODE XREF: sub_7FF65FA32990+69p
.text:00007FF65FA34950 ; DATA XREF: .rdata:off_7FF65FA73628o ...
.text:00007FF65FA34950
.text:00007FF65FA34950 Dest = byte ptr -278h
.text:00007FF65FA34950 var_178 = dword ptr -178h
.text:00007FF65FA34950 var_174 = byte ptr -174h
.text:00007FF65FA34950 var_168 = byte ptr -168h
.text:00007FF65FA34950 var_58 = byte ptr -58h
.text:00007FF65FA34950 var_38 = qword ptr -38h
.text:00007FF65FA34950 var_28 = byte ptr -28h
.text:00007FF65FA34950
.text:00007FF65FA34950 mov r11, rsp
.text:00007FF65FA34953 mov [r11+18h], rbx
.text:00007FF65FA34957 mov [r11+20h], rbp
.text:00007FF65FA3495B push rsi
.text:00007FF65FA3495C push rdi
.text:00007FF65FA3495D push r12
.text:00007FF65FA3495F push r14
.text:00007FF65FA34961 push r15
.text:00007FF65FA34963 sub rsp, 270h
.text:00007FF65FA3496A mov rax, cs:__security_cookie
.text:00007FF65FA34971 xor rax, rsp
.text:00007FF65FA34974 mov [rsp+298h+var_38], rax
.text:00007FF65FA3497C movdqa xmm0, cs:xmmword_7FF65FA74060
.text:00007FF65FA34984 mov rbx, rdx
.text:00007FF65FA34987 mov rbp, rcx
.text:00007FF65FA3498A mov dword ptr [r11-48h], 4080507h
.text:00007FF65FA34992 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34995 mov dword ptr [r11-44h], 3080F00h
.text:00007FF65FA3499D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA349A3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA349A7 mov word ptr [r11-40h], 10Bh
.text:00007FF65FA349AE mov dword ptr [r11-68h], 64h
.text:00007FF65FA349B6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA349BB call cs:WaitForSingleObject
.text:00007FF65FA349C1 test eax, eax
.text:00007FF65FA349C3 jnz loc_7FF65FA34BBC
.text:00007FF65FA349C9 xor r15d, r15d
.text:00007FF65FA349CC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA349D3
.text:00007FF65FA349D3 loc_7FF65FA349D3: ; CODE XREF: sub_7FF65FA34950+253j
.text:00007FF65FA349D3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA349D7 test ecx, ecx
.text:00007FF65FA349D9 jz loc_7FF65FA34B65
.text:00007FF65FA349DF sub ecx, 1
.text:00007FF65FA349E2 jz loc_7FF65FA34B29
.text:00007FF65FA349E8 sub ecx, 1
.text:00007FF65FA349EB jz loc_7FF65FA34B07
.text:00007FF65FA349F1 cmp ecx, 1
.text:00007FF65FA349F4 jz short loc_7FF65FA34A08
.text:00007FF65FA349F6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA349FD call cs:SetEvent
.text:00007FF65FA34A03 jmp loc_7FF65FA34B94
.text:00007FF65FA34A08 ; ---------------------------------------------------------------------------
.text:00007FF65FA34A08
.text:00007FF65FA34A08 loc_7FF65FA34A08: ; CODE XREF: sub_7FF65FA34950+A4j
.text:00007FF65FA34A08 mov edi, [rbx+11h]
.text:00007FF65FA34A0B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA34A0F mov esi, [rbx+15h]
.text:00007FF65FA34A12 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA34A19 test rdx, rdx
.text:00007FF65FA34A1C jz short loc_7FF65FA34A57
.text:00007FF65FA34A1E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34A22
.text:00007FF65FA34A22 loc_7FF65FA34A22: ; CODE XREF: sub_7FF65FA34950+D9j
.text:00007FF65FA34A22 inc rax
.text:00007FF65FA34A25 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34A29 jnz short loc_7FF65FA34A22
.text:00007FF65FA34A2B cmp rax, 0FFh
.text:00007FF65FA34A31 jbe short loc_7FF65FA34A3B
.text:00007FF65FA34A33 mov r8d, 0FFh
.text:00007FF65FA34A39 jmp short loc_7FF65FA34A4D
.text:00007FF65FA34A3B ; ---------------------------------------------------------------------------
.text:00007FF65FA34A3B
.text:00007FF65FA34A3B loc_7FF65FA34A3B: ; CODE XREF: sub_7FF65FA34950+E1j
.text:00007FF65FA34A3B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34A3F nop
.text:00007FF65FA34A40
.text:00007FF65FA34A40 loc_7FF65FA34A40: ; CODE XREF: sub_7FF65FA34950+F8j
.text:00007FF65FA34A40 inc r8
.text:00007FF65FA34A43 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA34A48 jnz short loc_7FF65FA34A40
.text:00007FF65FA34A4A inc r8 ; Count
.text:00007FF65FA34A4D
.text:00007FF65FA34A4D loc_7FF65FA34A4D: ; CODE XREF: sub_7FF65FA34950+E9j
.text:00007FF65FA34A4D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA34A52 call strncpy
.text:00007FF65FA34A57
.text:00007FF65FA34A57 loc_7FF65FA34A57: ; CODE XREF: sub_7FF65FA34950+CCj
.text:00007FF65FA34A57 mov [rsp+298h+var_178], edi
.text:00007FF65FA34A5E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34A66 mov [rsp+298h+var_174], sil
.text:00007FF65FA34A6E lea rax, [rsp+298h+Dest]
.text:00007FF65FA34A73 mov ecx, 2
.text:00007FF65FA34A78 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA34A80
.text:00007FF65FA34A80 loc_7FF65FA34A80: ; CODE XREF: sub_7FF65FA34950+181j
.text:00007FF65FA34A80 lea rdx, [rdx+80h]
.text:00007FF65FA34A87 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA34A8A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA34A8E lea rax, [rax+80h]
.text:00007FF65FA34A95 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA34A99 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA34A9D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34AA1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34AA5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34AA9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA34AAD movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34AB1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34AB5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34AB9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA34ABD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA34AC1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA34AC5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA34AC9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA34ACD sub rcx, 1
.text:00007FF65FA34AD1 jnz short loc_7FF65FA34A80
.text:00007FF65FA34AD3 mov rcx, [rax]
.text:00007FF65FA34AD6 mov [rdx], rcx
.text:00007FF65FA34AD9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34AE1 mov rcx, rbp
.text:00007FF65FA34AE4 call sub_7FF65FA33840
.text:00007FF65FA34AE9 test al, al
.text:00007FF65FA34AEB jz loc_7FF65FA34BAB
.text:00007FF65FA34AF1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA34AF5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34AFC call cs:SetEvent
.text:00007FF65FA34B02 jmp loc_7FF65FA34B94
.text:00007FF65FA34B07 ; ---------------------------------------------------------------------------
.text:00007FF65FA34B07
.text:00007FF65FA34B07 loc_7FF65FA34B07: ; CODE XREF: sub_7FF65FA34950+9Bj
.text:00007FF65FA34B07 mov eax, [rbp+108h]
.text:00007FF65FA34B0D mov [rbx+10h], eax
.text:00007FF65FA34B10 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA34B17 mov [rbx+14h], eax
.text:00007FF65FA34B1A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34B21 call cs:SetEvent
.text:00007FF65FA34B27 jmp short loc_7FF65FA34B94
.text:00007FF65FA34B29 ; ---------------------------------------------------------------------------
.text:00007FF65FA34B29
.text:00007FF65FA34B29 loc_7FF65FA34B29: ; CODE XREF: sub_7FF65FA34950+92j
.text:00007FF65FA34B29 lea rdx, [rbp+8] ; Src
.text:00007FF65FA34B2D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34B31
.text:00007FF65FA34B31 loc_7FF65FA34B31: ; CODE XREF: sub_7FF65FA34950+1E8j
.text:00007FF65FA34B31 inc rax
.text:00007FF65FA34B34 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34B38 jnz short loc_7FF65FA34B31
.text:00007FF65FA34B3A cmp eax, 0FFh
.text:00007FF65FA34B3F jle short loc_7FF65FA34B48
.text:00007FF65FA34B41 mov eax, 100h
.text:00007FF65FA34B46 jmp short loc_7FF65FA34B4A
.text:00007FF65FA34B48 ; ---------------------------------------------------------------------------
.text:00007FF65FA34B48
.text:00007FF65FA34B48 loc_7FF65FA34B48: ; CODE XREF: sub_7FF65FA34950+1EFj
.text:00007FF65FA34B48 inc eax
.text:00007FF65FA34B4A
.text:00007FF65FA34B4A loc_7FF65FA34B4A: ; CODE XREF: sub_7FF65FA34950+1F6j
.text:00007FF65FA34B4A movsxd r8, eax ; Size
.text:00007FF65FA34B4D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA34B51 call memmove
.text:00007FF65FA34B56 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34B5D call cs:SetEvent
.text:00007FF65FA34B63 jmp short loc_7FF65FA34B94
.text:00007FF65FA34B65 ; ---------------------------------------------------------------------------
.text:00007FF65FA34B65
.text:00007FF65FA34B65 loc_7FF65FA34B65: ; CODE XREF: sub_7FF65FA34950+89j
.text:00007FF65FA34B65 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA34B6E mov rcx, rbp
.text:00007FF65FA34B71 mov rdx, [r12+rdx*8]
.text:00007FF65FA34B75 call sub_7FF65FA33840
.text:00007FF65FA34B7A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34B81 test al, al
.text:00007FF65FA34B83 jz short loc_7FF65FA34BB6
.text:00007FF65FA34B85 call cs:SetEvent
.text:00007FF65FA34B8B inc r15
.text:00007FF65FA34B8E cmp r15, 1Ah
.text:00007FF65FA34B92 jge short loc_7FF65FA34BEA
.text:00007FF65FA34B94
.text:00007FF65FA34B94 loc_7FF65FA34B94: ; CODE XREF: sub_7FF65FA34950+B3j
.text:00007FF65FA34B94 ; sub_7FF65FA34950+1B2j ...
.text:00007FF65FA34B94 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34B98 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34B9B call cs:WaitForSingleObject
.text:00007FF65FA34BA1 test eax, eax
.text:00007FF65FA34BA3 jz loc_7FF65FA349D3
.text:00007FF65FA34BA9 jmp short loc_7FF65FA34BBC
.text:00007FF65FA34BAB ; ---------------------------------------------------------------------------
.text:00007FF65FA34BAB
.text:00007FF65FA34BAB loc_7FF65FA34BAB: ; CODE XREF: sub_7FF65FA34950+19Bj
.text:00007FF65FA34BAB mov byte ptr [rbx+10h], 0
.text:00007FF65FA34BAF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34BB6
.text:00007FF65FA34BB6 loc_7FF65FA34BB6: ; CODE XREF: sub_7FF65FA34950+233j
.text:00007FF65FA34BB6 call cs:SetEvent
.text:00007FF65FA34BBC
.text:00007FF65FA34BBC loc_7FF65FA34BBC: ; CODE XREF: sub_7FF65FA34950+73j
.text:00007FF65FA34BBC ; sub_7FF65FA34950+259j
.text:00007FF65FA34BBC xor al, al
.text:00007FF65FA34BBE
.text:00007FF65FA34BBE loc_7FF65FA34BBE: ; CODE XREF: sub_7FF65FA34950+29Cj
.text:00007FF65FA34BBE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA34BC6 xor rcx, rsp ; StackCookie
.text:00007FF65FA34BC9 call __security_check_cookie
.text:00007FF65FA34BCE lea r11, [rsp+298h+var_28]
.text:00007FF65FA34BD6 mov rbx, [r11+40h]
.text:00007FF65FA34BDA mov rbp, [r11+48h]
.text:00007FF65FA34BDE mov rsp, r11
.text:00007FF65FA34BE1 pop r15
.text:00007FF65FA34BE3 pop r14
.text:00007FF65FA34BE5 pop r12
.text:00007FF65FA34BE7 pop rdi
.text:00007FF65FA34BE8 pop rsi
.text:00007FF65FA34BE9 retn
.text:00007FF65FA34BEA ; ---------------------------------------------------------------------------
.text:00007FF65FA34BEA
.text:00007FF65FA34BEA loc_7FF65FA34BEA: ; CODE XREF: sub_7FF65FA34950+242j
.text:00007FF65FA34BEA mov al, 1
.text:00007FF65FA34BEC jmp short loc_7FF65FA34BBE
.text:00007FF65FA34BEC sub_7FF65FA34950 endp
.text:00007FF65FA34BEC
.text:00007FF65FA34BEC ; ---------------------------------------------------------------------------
.text:00007FF65FA34BEE algn_7FF65FA34BEE: ; DATA XREF: .pdata:00007FF65FA7D3A8o
.text:00007FF65FA34BEE align 10h
.text:00007FF65FA34BF0
.text:00007FF65FA34BF0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA34BF0
.text:00007FF65FA34BF0
.text:00007FF65FA34BF0 sub_7FF65FA34BF0 proc near ; CODE XREF: sub_7FF65FA32A30+69p
.text:00007FF65FA34BF0 ; DATA XREF: .rdata:off_7FF65FA73630o ...
.text:00007FF65FA34BF0
.text:00007FF65FA34BF0 Dest = byte ptr -278h
.text:00007FF65FA34BF0 var_178 = dword ptr -178h
.text:00007FF65FA34BF0 var_174 = byte ptr -174h
.text:00007FF65FA34BF0 var_168 = byte ptr -168h
.text:00007FF65FA34BF0 var_58 = byte ptr -58h
.text:00007FF65FA34BF0 var_38 = qword ptr -38h
.text:00007FF65FA34BF0 var_28 = byte ptr -28h
.text:00007FF65FA34BF0
.text:00007FF65FA34BF0 mov r11, rsp
.text:00007FF65FA34BF3 mov [r11+18h], rbx
.text:00007FF65FA34BF7 mov [r11+20h], rbp
.text:00007FF65FA34BFB push rsi
.text:00007FF65FA34BFC push rdi
.text:00007FF65FA34BFD push r12
.text:00007FF65FA34BFF push r14
.text:00007FF65FA34C01 push r15
.text:00007FF65FA34C03 sub rsp, 270h
.text:00007FF65FA34C0A mov rax, cs:__security_cookie
.text:00007FF65FA34C11 xor rax, rsp
.text:00007FF65FA34C14 mov [rsp+298h+var_38], rax
.text:00007FF65FA34C1C movdqa xmm0, cs:xmmword_7FF65FA740B0
.text:00007FF65FA34C24 mov rbx, rdx
.text:00007FF65FA34C27 mov rbp, rcx
.text:00007FF65FA34C2A mov dword ptr [r11-48h], 9010F05h
.text:00007FF65FA34C32 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34C35 mov dword ptr [r11-44h], 0A000Ah
.text:00007FF65FA34C3D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA34C43 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34C47 mov word ptr [r11-40h], 10Bh
.text:00007FF65FA34C4E mov dword ptr [r11-68h], 64h
.text:00007FF65FA34C56 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA34C5B call cs:WaitForSingleObject
.text:00007FF65FA34C61 test eax, eax
.text:00007FF65FA34C63 jnz loc_7FF65FA34E5C
.text:00007FF65FA34C69 xor r15d, r15d
.text:00007FF65FA34C6C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA34C73
.text:00007FF65FA34C73 loc_7FF65FA34C73: ; CODE XREF: sub_7FF65FA34BF0+253j
.text:00007FF65FA34C73 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA34C77 test ecx, ecx
.text:00007FF65FA34C79 jz loc_7FF65FA34E05
.text:00007FF65FA34C7F sub ecx, 1
.text:00007FF65FA34C82 jz loc_7FF65FA34DC9
.text:00007FF65FA34C88 sub ecx, 1
.text:00007FF65FA34C8B jz loc_7FF65FA34DA7
.text:00007FF65FA34C91 cmp ecx, 1
.text:00007FF65FA34C94 jz short loc_7FF65FA34CA8
.text:00007FF65FA34C96 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34C9D call cs:SetEvent
.text:00007FF65FA34CA3 jmp loc_7FF65FA34E34
.text:00007FF65FA34CA8 ; ---------------------------------------------------------------------------
.text:00007FF65FA34CA8
.text:00007FF65FA34CA8 loc_7FF65FA34CA8: ; CODE XREF: sub_7FF65FA34BF0+A4j
.text:00007FF65FA34CA8 mov edi, [rbx+11h]
.text:00007FF65FA34CAB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA34CAF mov esi, [rbx+15h]
.text:00007FF65FA34CB2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA34CB9 test rdx, rdx
.text:00007FF65FA34CBC jz short loc_7FF65FA34CF7
.text:00007FF65FA34CBE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34CC2
.text:00007FF65FA34CC2 loc_7FF65FA34CC2: ; CODE XREF: sub_7FF65FA34BF0+D9j
.text:00007FF65FA34CC2 inc rax
.text:00007FF65FA34CC5 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34CC9 jnz short loc_7FF65FA34CC2
.text:00007FF65FA34CCB cmp rax, 0FFh
.text:00007FF65FA34CD1 jbe short loc_7FF65FA34CDB
.text:00007FF65FA34CD3 mov r8d, 0FFh
.text:00007FF65FA34CD9 jmp short loc_7FF65FA34CED
.text:00007FF65FA34CDB ; ---------------------------------------------------------------------------
.text:00007FF65FA34CDB
.text:00007FF65FA34CDB loc_7FF65FA34CDB: ; CODE XREF: sub_7FF65FA34BF0+E1j
.text:00007FF65FA34CDB or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34CDF nop
.text:00007FF65FA34CE0
.text:00007FF65FA34CE0 loc_7FF65FA34CE0: ; CODE XREF: sub_7FF65FA34BF0+F8j
.text:00007FF65FA34CE0 inc r8
.text:00007FF65FA34CE3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA34CE8 jnz short loc_7FF65FA34CE0
.text:00007FF65FA34CEA inc r8 ; Count
.text:00007FF65FA34CED
.text:00007FF65FA34CED loc_7FF65FA34CED: ; CODE XREF: sub_7FF65FA34BF0+E9j
.text:00007FF65FA34CED lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA34CF2 call strncpy
.text:00007FF65FA34CF7
.text:00007FF65FA34CF7 loc_7FF65FA34CF7: ; CODE XREF: sub_7FF65FA34BF0+CCj
.text:00007FF65FA34CF7 mov [rsp+298h+var_178], edi
.text:00007FF65FA34CFE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34D06 mov [rsp+298h+var_174], sil
.text:00007FF65FA34D0E lea rax, [rsp+298h+Dest]
.text:00007FF65FA34D13 mov ecx, 2
.text:00007FF65FA34D18 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA34D20
.text:00007FF65FA34D20 loc_7FF65FA34D20: ; CODE XREF: sub_7FF65FA34BF0+181j
.text:00007FF65FA34D20 lea rdx, [rdx+80h]
.text:00007FF65FA34D27 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA34D2A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA34D2E lea rax, [rax+80h]
.text:00007FF65FA34D35 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA34D39 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA34D3D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34D41 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34D45 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34D49 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA34D4D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34D51 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34D55 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34D59 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA34D5D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA34D61 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA34D65 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA34D69 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA34D6D sub rcx, 1
.text:00007FF65FA34D71 jnz short loc_7FF65FA34D20
.text:00007FF65FA34D73 mov rcx, [rax]
.text:00007FF65FA34D76 mov [rdx], rcx
.text:00007FF65FA34D79 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34D81 mov rcx, rbp
.text:00007FF65FA34D84 call sub_7FF65FA33840
.text:00007FF65FA34D89 test al, al
.text:00007FF65FA34D8B jz loc_7FF65FA34E4B
.text:00007FF65FA34D91 mov byte ptr [rbx+10h], 1
.text:00007FF65FA34D95 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34D9C call cs:SetEvent
.text:00007FF65FA34DA2 jmp loc_7FF65FA34E34
.text:00007FF65FA34DA7 ; ---------------------------------------------------------------------------
.text:00007FF65FA34DA7
.text:00007FF65FA34DA7 loc_7FF65FA34DA7: ; CODE XREF: sub_7FF65FA34BF0+9Bj
.text:00007FF65FA34DA7 mov eax, [rbp+108h]
.text:00007FF65FA34DAD mov [rbx+10h], eax
.text:00007FF65FA34DB0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA34DB7 mov [rbx+14h], eax
.text:00007FF65FA34DBA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34DC1 call cs:SetEvent
.text:00007FF65FA34DC7 jmp short loc_7FF65FA34E34
.text:00007FF65FA34DC9 ; ---------------------------------------------------------------------------
.text:00007FF65FA34DC9
.text:00007FF65FA34DC9 loc_7FF65FA34DC9: ; CODE XREF: sub_7FF65FA34BF0+92j
.text:00007FF65FA34DC9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA34DCD or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34DD1
.text:00007FF65FA34DD1 loc_7FF65FA34DD1: ; CODE XREF: sub_7FF65FA34BF0+1E8j
.text:00007FF65FA34DD1 inc rax
.text:00007FF65FA34DD4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34DD8 jnz short loc_7FF65FA34DD1
.text:00007FF65FA34DDA cmp eax, 0FFh
.text:00007FF65FA34DDF jle short loc_7FF65FA34DE8
.text:00007FF65FA34DE1 mov eax, 100h
.text:00007FF65FA34DE6 jmp short loc_7FF65FA34DEA
.text:00007FF65FA34DE8 ; ---------------------------------------------------------------------------
.text:00007FF65FA34DE8
.text:00007FF65FA34DE8 loc_7FF65FA34DE8: ; CODE XREF: sub_7FF65FA34BF0+1EFj
.text:00007FF65FA34DE8 inc eax
.text:00007FF65FA34DEA
.text:00007FF65FA34DEA loc_7FF65FA34DEA: ; CODE XREF: sub_7FF65FA34BF0+1F6j
.text:00007FF65FA34DEA movsxd r8, eax ; Size
.text:00007FF65FA34DED lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA34DF1 call memmove
.text:00007FF65FA34DF6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34DFD call cs:SetEvent
.text:00007FF65FA34E03 jmp short loc_7FF65FA34E34
.text:00007FF65FA34E05 ; ---------------------------------------------------------------------------
.text:00007FF65FA34E05
.text:00007FF65FA34E05 loc_7FF65FA34E05: ; CODE XREF: sub_7FF65FA34BF0+89j
.text:00007FF65FA34E05 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA34E0E mov rcx, rbp
.text:00007FF65FA34E11 mov rdx, [r12+rdx*8]
.text:00007FF65FA34E15 call sub_7FF65FA33840
.text:00007FF65FA34E1A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34E21 test al, al
.text:00007FF65FA34E23 jz short loc_7FF65FA34E56
.text:00007FF65FA34E25 call cs:SetEvent
.text:00007FF65FA34E2B inc r15
.text:00007FF65FA34E2E cmp r15, 1Ah
.text:00007FF65FA34E32 jge short loc_7FF65FA34E8A
.text:00007FF65FA34E34
.text:00007FF65FA34E34 loc_7FF65FA34E34: ; CODE XREF: sub_7FF65FA34BF0+B3j
.text:00007FF65FA34E34 ; sub_7FF65FA34BF0+1B2j ...
.text:00007FF65FA34E34 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34E38 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34E3B call cs:WaitForSingleObject
.text:00007FF65FA34E41 test eax, eax
.text:00007FF65FA34E43 jz loc_7FF65FA34C73
.text:00007FF65FA34E49 jmp short loc_7FF65FA34E5C
.text:00007FF65FA34E4B ; ---------------------------------------------------------------------------
.text:00007FF65FA34E4B
.text:00007FF65FA34E4B loc_7FF65FA34E4B: ; CODE XREF: sub_7FF65FA34BF0+19Bj
.text:00007FF65FA34E4B mov byte ptr [rbx+10h], 0
.text:00007FF65FA34E4F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34E56
.text:00007FF65FA34E56 loc_7FF65FA34E56: ; CODE XREF: sub_7FF65FA34BF0+233j
.text:00007FF65FA34E56 call cs:SetEvent
.text:00007FF65FA34E5C
.text:00007FF65FA34E5C loc_7FF65FA34E5C: ; CODE XREF: sub_7FF65FA34BF0+73j
.text:00007FF65FA34E5C ; sub_7FF65FA34BF0+259j
.text:00007FF65FA34E5C xor al, al
.text:00007FF65FA34E5E
.text:00007FF65FA34E5E loc_7FF65FA34E5E: ; CODE XREF: sub_7FF65FA34BF0+29Cj
.text:00007FF65FA34E5E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA34E66 xor rcx, rsp ; StackCookie
.text:00007FF65FA34E69 call __security_check_cookie
.text:00007FF65FA34E6E lea r11, [rsp+298h+var_28]
.text:00007FF65FA34E76 mov rbx, [r11+40h]
.text:00007FF65FA34E7A mov rbp, [r11+48h]
.text:00007FF65FA34E7E mov rsp, r11
.text:00007FF65FA34E81 pop r15
.text:00007FF65FA34E83 pop r14
.text:00007FF65FA34E85 pop r12
.text:00007FF65FA34E87 pop rdi
.text:00007FF65FA34E88 pop rsi
.text:00007FF65FA34E89 retn
.text:00007FF65FA34E8A ; ---------------------------------------------------------------------------
.text:00007FF65FA34E8A
.text:00007FF65FA34E8A loc_7FF65FA34E8A: ; CODE XREF: sub_7FF65FA34BF0+242j
.text:00007FF65FA34E8A mov al, 1
.text:00007FF65FA34E8C jmp short loc_7FF65FA34E5E
.text:00007FF65FA34E8C sub_7FF65FA34BF0 endp
.text:00007FF65FA34E8C
.text:00007FF65FA34E8C ; ---------------------------------------------------------------------------
.text:00007FF65FA34E8E algn_7FF65FA34E8E: ; DATA XREF: .pdata:00007FF65FA7D3B4o
.text:00007FF65FA34E8E align 10h
.text:00007FF65FA34E90
.text:00007FF65FA34E90 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA34E90
.text:00007FF65FA34E90
.text:00007FF65FA34E90 sub_7FF65FA34E90 proc near ; CODE XREF: sub_7FF65FA32AD0+6Ap
.text:00007FF65FA34E90 ; DATA XREF: .rdata:off_7FF65FA736C8o ...
.text:00007FF65FA34E90
.text:00007FF65FA34E90 Dest = byte ptr -278h
.text:00007FF65FA34E90 var_178 = dword ptr -178h
.text:00007FF65FA34E90 var_174 = byte ptr -174h
.text:00007FF65FA34E90 var_168 = byte ptr -168h
.text:00007FF65FA34E90 var_58 = byte ptr -58h
.text:00007FF65FA34E90 var_38 = qword ptr -38h
.text:00007FF65FA34E90 var_28 = byte ptr -28h
.text:00007FF65FA34E90
.text:00007FF65FA34E90 mov r11, rsp
.text:00007FF65FA34E93 mov [r11+18h], rbx
.text:00007FF65FA34E97 mov [r11+20h], rbp
.text:00007FF65FA34E9B push rsi
.text:00007FF65FA34E9C push rdi
.text:00007FF65FA34E9D push r12
.text:00007FF65FA34E9F push r14
.text:00007FF65FA34EA1 push r15
.text:00007FF65FA34EA3 sub rsp, 270h
.text:00007FF65FA34EAA mov rax, cs:__security_cookie
.text:00007FF65FA34EB1 xor rax, rsp
.text:00007FF65FA34EB4 mov [rsp+298h+var_38], rax
.text:00007FF65FA34EBC movdqa xmm0, cs:xmmword_7FF65FA740C0
.text:00007FF65FA34EC4 mov rbx, rdx
.text:00007FF65FA34EC7 mov rbp, rcx
.text:00007FF65FA34ECA mov dword ptr [r11-48h], 2010807h
.text:00007FF65FA34ED2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA34ED5 mov dword ptr [r11-44h], 1040002h
.text:00007FF65FA34EDD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA34EE3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA34EE7 mov word ptr [r11-40h], 10Fh
.text:00007FF65FA34EEE mov dword ptr [r11-68h], 64h
.text:00007FF65FA34EF6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA34EFB call cs:WaitForSingleObject
.text:00007FF65FA34F01 test eax, eax
.text:00007FF65FA34F03 jnz loc_7FF65FA350FC
.text:00007FF65FA34F09 xor r15d, r15d
.text:00007FF65FA34F0C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA34F13
.text:00007FF65FA34F13 loc_7FF65FA34F13: ; CODE XREF: sub_7FF65FA34E90+253j
.text:00007FF65FA34F13 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA34F17 test ecx, ecx
.text:00007FF65FA34F19 jz loc_7FF65FA350A5
.text:00007FF65FA34F1F sub ecx, 1
.text:00007FF65FA34F22 jz loc_7FF65FA35069
.text:00007FF65FA34F28 sub ecx, 1
.text:00007FF65FA34F2B jz loc_7FF65FA35047
.text:00007FF65FA34F31 cmp ecx, 1
.text:00007FF65FA34F34 jz short loc_7FF65FA34F48
.text:00007FF65FA34F36 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA34F3D call cs:SetEvent
.text:00007FF65FA34F43 jmp loc_7FF65FA350D4
.text:00007FF65FA34F48 ; ---------------------------------------------------------------------------
.text:00007FF65FA34F48
.text:00007FF65FA34F48 loc_7FF65FA34F48: ; CODE XREF: sub_7FF65FA34E90+A4j
.text:00007FF65FA34F48 mov edi, [rbx+11h]
.text:00007FF65FA34F4B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA34F4F mov esi, [rbx+15h]
.text:00007FF65FA34F52 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA34F59 test rdx, rdx
.text:00007FF65FA34F5C jz short loc_7FF65FA34F97
.text:00007FF65FA34F5E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34F62
.text:00007FF65FA34F62 loc_7FF65FA34F62: ; CODE XREF: sub_7FF65FA34E90+D9j
.text:00007FF65FA34F62 inc rax
.text:00007FF65FA34F65 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA34F69 jnz short loc_7FF65FA34F62
.text:00007FF65FA34F6B cmp rax, 0FFh
.text:00007FF65FA34F71 jbe short loc_7FF65FA34F7B
.text:00007FF65FA34F73 mov r8d, 0FFh
.text:00007FF65FA34F79 jmp short loc_7FF65FA34F8D
.text:00007FF65FA34F7B ; ---------------------------------------------------------------------------
.text:00007FF65FA34F7B
.text:00007FF65FA34F7B loc_7FF65FA34F7B: ; CODE XREF: sub_7FF65FA34E90+E1j
.text:00007FF65FA34F7B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA34F7F nop
.text:00007FF65FA34F80
.text:00007FF65FA34F80 loc_7FF65FA34F80: ; CODE XREF: sub_7FF65FA34E90+F8j
.text:00007FF65FA34F80 inc r8
.text:00007FF65FA34F83 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA34F88 jnz short loc_7FF65FA34F80
.text:00007FF65FA34F8A inc r8 ; Count
.text:00007FF65FA34F8D
.text:00007FF65FA34F8D loc_7FF65FA34F8D: ; CODE XREF: sub_7FF65FA34E90+E9j
.text:00007FF65FA34F8D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA34F92 call strncpy
.text:00007FF65FA34F97
.text:00007FF65FA34F97 loc_7FF65FA34F97: ; CODE XREF: sub_7FF65FA34E90+CCj
.text:00007FF65FA34F97 mov [rsp+298h+var_178], edi
.text:00007FF65FA34F9E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA34FA6 mov [rsp+298h+var_174], sil
.text:00007FF65FA34FAE lea rax, [rsp+298h+Dest]
.text:00007FF65FA34FB3 mov ecx, 2
.text:00007FF65FA34FB8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA34FC0
.text:00007FF65FA34FC0 loc_7FF65FA34FC0: ; CODE XREF: sub_7FF65FA34E90+181j
.text:00007FF65FA34FC0 lea rdx, [rdx+80h]
.text:00007FF65FA34FC7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA34FCA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA34FCE lea rax, [rax+80h]
.text:00007FF65FA34FD5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA34FD9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA34FDD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA34FE1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA34FE5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA34FE9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA34FED movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA34FF1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA34FF5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA34FF9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA34FFD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA35001 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA35005 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA35009 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3500D sub rcx, 1
.text:00007FF65FA35011 jnz short loc_7FF65FA34FC0
.text:00007FF65FA35013 mov rcx, [rax]
.text:00007FF65FA35016 mov [rdx], rcx
.text:00007FF65FA35019 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35021 mov rcx, rbp
.text:00007FF65FA35024 call sub_7FF65FA33840
.text:00007FF65FA35029 test al, al
.text:00007FF65FA3502B jz loc_7FF65FA350EB
.text:00007FF65FA35031 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35035 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3503C call cs:SetEvent
.text:00007FF65FA35042 jmp loc_7FF65FA350D4
.text:00007FF65FA35047 ; ---------------------------------------------------------------------------
.text:00007FF65FA35047
.text:00007FF65FA35047 loc_7FF65FA35047: ; CODE XREF: sub_7FF65FA34E90+9Bj
.text:00007FF65FA35047 mov eax, [rbp+108h]
.text:00007FF65FA3504D mov [rbx+10h], eax
.text:00007FF65FA35050 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA35057 mov [rbx+14h], eax
.text:00007FF65FA3505A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35061 call cs:SetEvent
.text:00007FF65FA35067 jmp short loc_7FF65FA350D4
.text:00007FF65FA35069 ; ---------------------------------------------------------------------------
.text:00007FF65FA35069
.text:00007FF65FA35069 loc_7FF65FA35069: ; CODE XREF: sub_7FF65FA34E90+92j
.text:00007FF65FA35069 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3506D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35071
.text:00007FF65FA35071 loc_7FF65FA35071: ; CODE XREF: sub_7FF65FA34E90+1E8j
.text:00007FF65FA35071 inc rax
.text:00007FF65FA35074 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35078 jnz short loc_7FF65FA35071
.text:00007FF65FA3507A cmp eax, 0FFh
.text:00007FF65FA3507F jle short loc_7FF65FA35088
.text:00007FF65FA35081 mov eax, 100h
.text:00007FF65FA35086 jmp short loc_7FF65FA3508A
.text:00007FF65FA35088 ; ---------------------------------------------------------------------------
.text:00007FF65FA35088
.text:00007FF65FA35088 loc_7FF65FA35088: ; CODE XREF: sub_7FF65FA34E90+1EFj
.text:00007FF65FA35088 inc eax
.text:00007FF65FA3508A
.text:00007FF65FA3508A loc_7FF65FA3508A: ; CODE XREF: sub_7FF65FA34E90+1F6j
.text:00007FF65FA3508A movsxd r8, eax ; Size
.text:00007FF65FA3508D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA35091 call memmove
.text:00007FF65FA35096 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3509D call cs:SetEvent
.text:00007FF65FA350A3 jmp short loc_7FF65FA350D4
.text:00007FF65FA350A5 ; ---------------------------------------------------------------------------
.text:00007FF65FA350A5
.text:00007FF65FA350A5 loc_7FF65FA350A5: ; CODE XREF: sub_7FF65FA34E90+89j
.text:00007FF65FA350A5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA350AE mov rcx, rbp
.text:00007FF65FA350B1 mov rdx, [r12+rdx*8]
.text:00007FF65FA350B5 call sub_7FF65FA33840
.text:00007FF65FA350BA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA350C1 test al, al
.text:00007FF65FA350C3 jz short loc_7FF65FA350F6
.text:00007FF65FA350C5 call cs:SetEvent
.text:00007FF65FA350CB inc r15
.text:00007FF65FA350CE cmp r15, 1Ah
.text:00007FF65FA350D2 jge short loc_7FF65FA3512A
.text:00007FF65FA350D4
.text:00007FF65FA350D4 loc_7FF65FA350D4: ; CODE XREF: sub_7FF65FA34E90+B3j
.text:00007FF65FA350D4 ; sub_7FF65FA34E90+1B2j ...
.text:00007FF65FA350D4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA350D8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA350DB call cs:WaitForSingleObject
.text:00007FF65FA350E1 test eax, eax
.text:00007FF65FA350E3 jz loc_7FF65FA34F13
.text:00007FF65FA350E9 jmp short loc_7FF65FA350FC
.text:00007FF65FA350EB ; ---------------------------------------------------------------------------
.text:00007FF65FA350EB
.text:00007FF65FA350EB loc_7FF65FA350EB: ; CODE XREF: sub_7FF65FA34E90+19Bj
.text:00007FF65FA350EB mov byte ptr [rbx+10h], 0
.text:00007FF65FA350EF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA350F6
.text:00007FF65FA350F6 loc_7FF65FA350F6: ; CODE XREF: sub_7FF65FA34E90+233j
.text:00007FF65FA350F6 call cs:SetEvent
.text:00007FF65FA350FC
.text:00007FF65FA350FC loc_7FF65FA350FC: ; CODE XREF: sub_7FF65FA34E90+73j
.text:00007FF65FA350FC ; sub_7FF65FA34E90+259j
.text:00007FF65FA350FC xor al, al
.text:00007FF65FA350FE
.text:00007FF65FA350FE loc_7FF65FA350FE: ; CODE XREF: sub_7FF65FA34E90+29Cj
.text:00007FF65FA350FE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA35106 xor rcx, rsp ; StackCookie
.text:00007FF65FA35109 call __security_check_cookie
.text:00007FF65FA3510E lea r11, [rsp+298h+var_28]
.text:00007FF65FA35116 mov rbx, [r11+40h]
.text:00007FF65FA3511A mov rbp, [r11+48h]
.text:00007FF65FA3511E mov rsp, r11
.text:00007FF65FA35121 pop r15
.text:00007FF65FA35123 pop r14
.text:00007FF65FA35125 pop r12
.text:00007FF65FA35127 pop rdi
.text:00007FF65FA35128 pop rsi
.text:00007FF65FA35129 retn
.text:00007FF65FA3512A ; ---------------------------------------------------------------------------
.text:00007FF65FA3512A
.text:00007FF65FA3512A loc_7FF65FA3512A: ; CODE XREF: sub_7FF65FA34E90+242j
.text:00007FF65FA3512A mov al, 1
.text:00007FF65FA3512C jmp short loc_7FF65FA350FE
.text:00007FF65FA3512C sub_7FF65FA34E90 endp
.text:00007FF65FA3512C
.text:00007FF65FA3512C ; ---------------------------------------------------------------------------
.text:00007FF65FA3512E algn_7FF65FA3512E: ; DATA XREF: .pdata:00007FF65FA7D3C0o
.text:00007FF65FA3512E align 10h
.text:00007FF65FA35130
.text:00007FF65FA35130 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA35130
.text:00007FF65FA35130
.text:00007FF65FA35130 sub_7FF65FA35130 proc near ; CODE XREF: sub_7FF65FA32B80+69p
.text:00007FF65FA35130 ; DATA XREF: .rdata:off_7FF65FA73690o ...
.text:00007FF65FA35130
.text:00007FF65FA35130 Dest = byte ptr -278h
.text:00007FF65FA35130 var_178 = dword ptr -178h
.text:00007FF65FA35130 var_174 = byte ptr -174h
.text:00007FF65FA35130 var_168 = byte ptr -168h
.text:00007FF65FA35130 var_58 = byte ptr -58h
.text:00007FF65FA35130 var_38 = qword ptr -38h
.text:00007FF65FA35130 var_28 = byte ptr -28h
.text:00007FF65FA35130
.text:00007FF65FA35130 mov r11, rsp
.text:00007FF65FA35133 mov [r11+18h], rbx
.text:00007FF65FA35137 mov [r11+20h], rbp
.text:00007FF65FA3513B push rsi
.text:00007FF65FA3513C push rdi
.text:00007FF65FA3513D push r12
.text:00007FF65FA3513F push r14
.text:00007FF65FA35141 push r15
.text:00007FF65FA35143 sub rsp, 270h
.text:00007FF65FA3514A mov rax, cs:__security_cookie
.text:00007FF65FA35151 xor rax, rsp
.text:00007FF65FA35154 mov [rsp+298h+var_38], rax
.text:00007FF65FA3515C movdqa xmm0, cs:xmmword_7FF65FA740D0
.text:00007FF65FA35164 mov rbx, rdx
.text:00007FF65FA35167 mov rbp, rcx
.text:00007FF65FA3516A mov dword ptr [r11-48h], 0F070402h
.text:00007FF65FA35172 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35175 mov dword ptr [r11-44h], 6010202h
.text:00007FF65FA3517D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA35183 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35187 mov word ptr [r11-40h], 108h
.text:00007FF65FA3518E mov dword ptr [r11-68h], 64h
.text:00007FF65FA35196 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3519B call cs:WaitForSingleObject
.text:00007FF65FA351A1 test eax, eax
.text:00007FF65FA351A3 jnz loc_7FF65FA3539C
.text:00007FF65FA351A9 xor r15d, r15d
.text:00007FF65FA351AC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA351B3
.text:00007FF65FA351B3 loc_7FF65FA351B3: ; CODE XREF: sub_7FF65FA35130+253j
.text:00007FF65FA351B3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA351B7 test ecx, ecx
.text:00007FF65FA351B9 jz loc_7FF65FA35345
.text:00007FF65FA351BF sub ecx, 1
.text:00007FF65FA351C2 jz loc_7FF65FA35309
.text:00007FF65FA351C8 sub ecx, 1
.text:00007FF65FA351CB jz loc_7FF65FA352E7
.text:00007FF65FA351D1 cmp ecx, 1
.text:00007FF65FA351D4 jz short loc_7FF65FA351E8
.text:00007FF65FA351D6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA351DD call cs:SetEvent
.text:00007FF65FA351E3 jmp loc_7FF65FA35374
.text:00007FF65FA351E8 ; ---------------------------------------------------------------------------
.text:00007FF65FA351E8
.text:00007FF65FA351E8 loc_7FF65FA351E8: ; CODE XREF: sub_7FF65FA35130+A4j
.text:00007FF65FA351E8 mov edi, [rbx+11h]
.text:00007FF65FA351EB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA351EF mov esi, [rbx+15h]
.text:00007FF65FA351F2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA351F9 test rdx, rdx
.text:00007FF65FA351FC jz short loc_7FF65FA35237
.text:00007FF65FA351FE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35202
.text:00007FF65FA35202 loc_7FF65FA35202: ; CODE XREF: sub_7FF65FA35130+D9j
.text:00007FF65FA35202 inc rax
.text:00007FF65FA35205 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35209 jnz short loc_7FF65FA35202
.text:00007FF65FA3520B cmp rax, 0FFh
.text:00007FF65FA35211 jbe short loc_7FF65FA3521B
.text:00007FF65FA35213 mov r8d, 0FFh
.text:00007FF65FA35219 jmp short loc_7FF65FA3522D
.text:00007FF65FA3521B ; ---------------------------------------------------------------------------
.text:00007FF65FA3521B
.text:00007FF65FA3521B loc_7FF65FA3521B: ; CODE XREF: sub_7FF65FA35130+E1j
.text:00007FF65FA3521B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3521F nop
.text:00007FF65FA35220
.text:00007FF65FA35220 loc_7FF65FA35220: ; CODE XREF: sub_7FF65FA35130+F8j
.text:00007FF65FA35220 inc r8
.text:00007FF65FA35223 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA35228 jnz short loc_7FF65FA35220
.text:00007FF65FA3522A inc r8 ; Count
.text:00007FF65FA3522D
.text:00007FF65FA3522D loc_7FF65FA3522D: ; CODE XREF: sub_7FF65FA35130+E9j
.text:00007FF65FA3522D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA35232 call strncpy
.text:00007FF65FA35237
.text:00007FF65FA35237 loc_7FF65FA35237: ; CODE XREF: sub_7FF65FA35130+CCj
.text:00007FF65FA35237 mov [rsp+298h+var_178], edi
.text:00007FF65FA3523E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35246 mov [rsp+298h+var_174], sil
.text:00007FF65FA3524E lea rax, [rsp+298h+Dest]
.text:00007FF65FA35253 mov ecx, 2
.text:00007FF65FA35258 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA35260
.text:00007FF65FA35260 loc_7FF65FA35260: ; CODE XREF: sub_7FF65FA35130+181j
.text:00007FF65FA35260 lea rdx, [rdx+80h]
.text:00007FF65FA35267 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3526A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3526E lea rax, [rax+80h]
.text:00007FF65FA35275 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA35279 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3527D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA35281 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA35285 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA35289 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3528D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA35291 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA35295 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA35299 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3529D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA352A1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA352A5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA352A9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA352AD sub rcx, 1
.text:00007FF65FA352B1 jnz short loc_7FF65FA35260
.text:00007FF65FA352B3 mov rcx, [rax]
.text:00007FF65FA352B6 mov [rdx], rcx
.text:00007FF65FA352B9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA352C1 mov rcx, rbp
.text:00007FF65FA352C4 call sub_7FF65FA33840
.text:00007FF65FA352C9 test al, al
.text:00007FF65FA352CB jz loc_7FF65FA3538B
.text:00007FF65FA352D1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA352D5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA352DC call cs:SetEvent
.text:00007FF65FA352E2 jmp loc_7FF65FA35374
.text:00007FF65FA352E7 ; ---------------------------------------------------------------------------
.text:00007FF65FA352E7
.text:00007FF65FA352E7 loc_7FF65FA352E7: ; CODE XREF: sub_7FF65FA35130+9Bj
.text:00007FF65FA352E7 mov eax, [rbp+108h]
.text:00007FF65FA352ED mov [rbx+10h], eax
.text:00007FF65FA352F0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA352F7 mov [rbx+14h], eax
.text:00007FF65FA352FA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35301 call cs:SetEvent
.text:00007FF65FA35307 jmp short loc_7FF65FA35374
.text:00007FF65FA35309 ; ---------------------------------------------------------------------------
.text:00007FF65FA35309
.text:00007FF65FA35309 loc_7FF65FA35309: ; CODE XREF: sub_7FF65FA35130+92j
.text:00007FF65FA35309 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3530D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35311
.text:00007FF65FA35311 loc_7FF65FA35311: ; CODE XREF: sub_7FF65FA35130+1E8j
.text:00007FF65FA35311 inc rax
.text:00007FF65FA35314 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35318 jnz short loc_7FF65FA35311
.text:00007FF65FA3531A cmp eax, 0FFh
.text:00007FF65FA3531F jle short loc_7FF65FA35328
.text:00007FF65FA35321 mov eax, 100h
.text:00007FF65FA35326 jmp short loc_7FF65FA3532A
.text:00007FF65FA35328 ; ---------------------------------------------------------------------------
.text:00007FF65FA35328
.text:00007FF65FA35328 loc_7FF65FA35328: ; CODE XREF: sub_7FF65FA35130+1EFj
.text:00007FF65FA35328 inc eax
.text:00007FF65FA3532A
.text:00007FF65FA3532A loc_7FF65FA3532A: ; CODE XREF: sub_7FF65FA35130+1F6j
.text:00007FF65FA3532A movsxd r8, eax ; Size
.text:00007FF65FA3532D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA35331 call memmove
.text:00007FF65FA35336 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3533D call cs:SetEvent
.text:00007FF65FA35343 jmp short loc_7FF65FA35374
.text:00007FF65FA35345 ; ---------------------------------------------------------------------------
.text:00007FF65FA35345
.text:00007FF65FA35345 loc_7FF65FA35345: ; CODE XREF: sub_7FF65FA35130+89j
.text:00007FF65FA35345 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3534E mov rcx, rbp
.text:00007FF65FA35351 mov rdx, [r12+rdx*8]
.text:00007FF65FA35355 call sub_7FF65FA33840
.text:00007FF65FA3535A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35361 test al, al
.text:00007FF65FA35363 jz short loc_7FF65FA35396
.text:00007FF65FA35365 call cs:SetEvent
.text:00007FF65FA3536B inc r15
.text:00007FF65FA3536E cmp r15, 1Ah
.text:00007FF65FA35372 jge short loc_7FF65FA353CA
.text:00007FF65FA35374
.text:00007FF65FA35374 loc_7FF65FA35374: ; CODE XREF: sub_7FF65FA35130+B3j
.text:00007FF65FA35374 ; sub_7FF65FA35130+1B2j ...
.text:00007FF65FA35374 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35378 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3537B call cs:WaitForSingleObject
.text:00007FF65FA35381 test eax, eax
.text:00007FF65FA35383 jz loc_7FF65FA351B3
.text:00007FF65FA35389 jmp short loc_7FF65FA3539C
.text:00007FF65FA3538B ; ---------------------------------------------------------------------------
.text:00007FF65FA3538B
.text:00007FF65FA3538B loc_7FF65FA3538B: ; CODE XREF: sub_7FF65FA35130+19Bj
.text:00007FF65FA3538B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3538F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35396
.text:00007FF65FA35396 loc_7FF65FA35396: ; CODE XREF: sub_7FF65FA35130+233j
.text:00007FF65FA35396 call cs:SetEvent
.text:00007FF65FA3539C
.text:00007FF65FA3539C loc_7FF65FA3539C: ; CODE XREF: sub_7FF65FA35130+73j
.text:00007FF65FA3539C ; sub_7FF65FA35130+259j
.text:00007FF65FA3539C xor al, al
.text:00007FF65FA3539E
.text:00007FF65FA3539E loc_7FF65FA3539E: ; CODE XREF: sub_7FF65FA35130+29Cj
.text:00007FF65FA3539E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA353A6 xor rcx, rsp ; StackCookie
.text:00007FF65FA353A9 call __security_check_cookie
.text:00007FF65FA353AE lea r11, [rsp+298h+var_28]
.text:00007FF65FA353B6 mov rbx, [r11+40h]
.text:00007FF65FA353BA mov rbp, [r11+48h]
.text:00007FF65FA353BE mov rsp, r11
.text:00007FF65FA353C1 pop r15
.text:00007FF65FA353C3 pop r14
.text:00007FF65FA353C5 pop r12
.text:00007FF65FA353C7 pop rdi
.text:00007FF65FA353C8 pop rsi
.text:00007FF65FA353C9 retn
.text:00007FF65FA353CA ; ---------------------------------------------------------------------------
.text:00007FF65FA353CA
.text:00007FF65FA353CA loc_7FF65FA353CA: ; CODE XREF: sub_7FF65FA35130+242j
.text:00007FF65FA353CA mov al, 1
.text:00007FF65FA353CC jmp short loc_7FF65FA3539E
.text:00007FF65FA353CC sub_7FF65FA35130 endp
.text:00007FF65FA353CC
.text:00007FF65FA353CC ; ---------------------------------------------------------------------------
.text:00007FF65FA353CE algn_7FF65FA353CE: ; DATA XREF: .pdata:00007FF65FA7D3CCo
.text:00007FF65FA353CE align 10h
.text:00007FF65FA353D0
.text:00007FF65FA353D0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA353D0
.text:00007FF65FA353D0
.text:00007FF65FA353D0 sub_7FF65FA353D0 proc near ; CODE XREF: sub_7FF65FA32C20+69p
.text:00007FF65FA353D0 ; DATA XREF: .rdata:off_7FF65FA73660o ...
.text:00007FF65FA353D0
.text:00007FF65FA353D0 Dest = byte ptr -278h
.text:00007FF65FA353D0 var_178 = dword ptr -178h
.text:00007FF65FA353D0 var_174 = byte ptr -174h
.text:00007FF65FA353D0 var_168 = byte ptr -168h
.text:00007FF65FA353D0 var_58 = byte ptr -58h
.text:00007FF65FA353D0 var_38 = qword ptr -38h
.text:00007FF65FA353D0 var_28 = byte ptr -28h
.text:00007FF65FA353D0
.text:00007FF65FA353D0 mov r11, rsp
.text:00007FF65FA353D3 mov [r11+18h], rbx
.text:00007FF65FA353D7 mov [r11+20h], rbp
.text:00007FF65FA353DB push rsi
.text:00007FF65FA353DC push rdi
.text:00007FF65FA353DD push r12
.text:00007FF65FA353DF push r14
.text:00007FF65FA353E1 push r15
.text:00007FF65FA353E3 sub rsp, 270h
.text:00007FF65FA353EA mov rax, cs:__security_cookie
.text:00007FF65FA353F1 xor rax, rsp
.text:00007FF65FA353F4 mov [rsp+298h+var_38], rax
.text:00007FF65FA353FC movdqa xmm0, cs:xmmword_7FF65FA740F0
.text:00007FF65FA35404 mov rbx, rdx
.text:00007FF65FA35407 mov rbp, rcx
.text:00007FF65FA3540A mov dword ptr [r11-48h], 206040Fh
.text:00007FF65FA35412 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35415 mov dword ptr [r11-44h], 5060Fh
.text:00007FF65FA3541D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA35423 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35427 mov word ptr [r11-40h], 104h
.text:00007FF65FA3542E mov dword ptr [r11-68h], 64h
.text:00007FF65FA35436 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3543B call cs:WaitForSingleObject
.text:00007FF65FA35441 test eax, eax
.text:00007FF65FA35443 jnz loc_7FF65FA3563C
.text:00007FF65FA35449 xor r15d, r15d
.text:00007FF65FA3544C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA35453
.text:00007FF65FA35453 loc_7FF65FA35453: ; CODE XREF: sub_7FF65FA353D0+253j
.text:00007FF65FA35453 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA35457 test ecx, ecx
.text:00007FF65FA35459 jz loc_7FF65FA355E5
.text:00007FF65FA3545F sub ecx, 1
.text:00007FF65FA35462 jz loc_7FF65FA355A9
.text:00007FF65FA35468 sub ecx, 1
.text:00007FF65FA3546B jz loc_7FF65FA35587
.text:00007FF65FA35471 cmp ecx, 1
.text:00007FF65FA35474 jz short loc_7FF65FA35488
.text:00007FF65FA35476 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3547D call cs:SetEvent
.text:00007FF65FA35483 jmp loc_7FF65FA35614
.text:00007FF65FA35488 ; ---------------------------------------------------------------------------
.text:00007FF65FA35488
.text:00007FF65FA35488 loc_7FF65FA35488: ; CODE XREF: sub_7FF65FA353D0+A4j
.text:00007FF65FA35488 mov edi, [rbx+11h]
.text:00007FF65FA3548B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA3548F mov esi, [rbx+15h]
.text:00007FF65FA35492 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA35499 test rdx, rdx
.text:00007FF65FA3549C jz short loc_7FF65FA354D7
.text:00007FF65FA3549E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA354A2
.text:00007FF65FA354A2 loc_7FF65FA354A2: ; CODE XREF: sub_7FF65FA353D0+D9j
.text:00007FF65FA354A2 inc rax
.text:00007FF65FA354A5 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA354A9 jnz short loc_7FF65FA354A2
.text:00007FF65FA354AB cmp rax, 0FFh
.text:00007FF65FA354B1 jbe short loc_7FF65FA354BB
.text:00007FF65FA354B3 mov r8d, 0FFh
.text:00007FF65FA354B9 jmp short loc_7FF65FA354CD
.text:00007FF65FA354BB ; ---------------------------------------------------------------------------
.text:00007FF65FA354BB
.text:00007FF65FA354BB loc_7FF65FA354BB: ; CODE XREF: sub_7FF65FA353D0+E1j
.text:00007FF65FA354BB or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA354BF nop
.text:00007FF65FA354C0
.text:00007FF65FA354C0 loc_7FF65FA354C0: ; CODE XREF: sub_7FF65FA353D0+F8j
.text:00007FF65FA354C0 inc r8
.text:00007FF65FA354C3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA354C8 jnz short loc_7FF65FA354C0
.text:00007FF65FA354CA inc r8 ; Count
.text:00007FF65FA354CD
.text:00007FF65FA354CD loc_7FF65FA354CD: ; CODE XREF: sub_7FF65FA353D0+E9j
.text:00007FF65FA354CD lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA354D2 call strncpy
.text:00007FF65FA354D7
.text:00007FF65FA354D7 loc_7FF65FA354D7: ; CODE XREF: sub_7FF65FA353D0+CCj
.text:00007FF65FA354D7 mov [rsp+298h+var_178], edi
.text:00007FF65FA354DE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA354E6 mov [rsp+298h+var_174], sil
.text:00007FF65FA354EE lea rax, [rsp+298h+Dest]
.text:00007FF65FA354F3 mov ecx, 2
.text:00007FF65FA354F8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA35500
.text:00007FF65FA35500 loc_7FF65FA35500: ; CODE XREF: sub_7FF65FA353D0+181j
.text:00007FF65FA35500 lea rdx, [rdx+80h]
.text:00007FF65FA35507 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3550A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3550E lea rax, [rax+80h]
.text:00007FF65FA35515 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA35519 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3551D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA35521 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA35525 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA35529 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3552D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA35531 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA35535 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA35539 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3553D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA35541 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA35545 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA35549 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3554D sub rcx, 1
.text:00007FF65FA35551 jnz short loc_7FF65FA35500
.text:00007FF65FA35553 mov rcx, [rax]
.text:00007FF65FA35556 mov [rdx], rcx
.text:00007FF65FA35559 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35561 mov rcx, rbp
.text:00007FF65FA35564 call sub_7FF65FA33840
.text:00007FF65FA35569 test al, al
.text:00007FF65FA3556B jz loc_7FF65FA3562B
.text:00007FF65FA35571 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35575 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3557C call cs:SetEvent
.text:00007FF65FA35582 jmp loc_7FF65FA35614
.text:00007FF65FA35587 ; ---------------------------------------------------------------------------
.text:00007FF65FA35587
.text:00007FF65FA35587 loc_7FF65FA35587: ; CODE XREF: sub_7FF65FA353D0+9Bj
.text:00007FF65FA35587 mov eax, [rbp+108h]
.text:00007FF65FA3558D mov [rbx+10h], eax
.text:00007FF65FA35590 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA35597 mov [rbx+14h], eax
.text:00007FF65FA3559A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA355A1 call cs:SetEvent
.text:00007FF65FA355A7 jmp short loc_7FF65FA35614
.text:00007FF65FA355A9 ; ---------------------------------------------------------------------------
.text:00007FF65FA355A9
.text:00007FF65FA355A9 loc_7FF65FA355A9: ; CODE XREF: sub_7FF65FA353D0+92j
.text:00007FF65FA355A9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA355AD or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA355B1
.text:00007FF65FA355B1 loc_7FF65FA355B1: ; CODE XREF: sub_7FF65FA353D0+1E8j
.text:00007FF65FA355B1 inc rax
.text:00007FF65FA355B4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA355B8 jnz short loc_7FF65FA355B1
.text:00007FF65FA355BA cmp eax, 0FFh
.text:00007FF65FA355BF jle short loc_7FF65FA355C8
.text:00007FF65FA355C1 mov eax, 100h
.text:00007FF65FA355C6 jmp short loc_7FF65FA355CA
.text:00007FF65FA355C8 ; ---------------------------------------------------------------------------
.text:00007FF65FA355C8
.text:00007FF65FA355C8 loc_7FF65FA355C8: ; CODE XREF: sub_7FF65FA353D0+1EFj
.text:00007FF65FA355C8 inc eax
.text:00007FF65FA355CA
.text:00007FF65FA355CA loc_7FF65FA355CA: ; CODE XREF: sub_7FF65FA353D0+1F6j
.text:00007FF65FA355CA movsxd r8, eax ; Size
.text:00007FF65FA355CD lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA355D1 call memmove
.text:00007FF65FA355D6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA355DD call cs:SetEvent
.text:00007FF65FA355E3 jmp short loc_7FF65FA35614
.text:00007FF65FA355E5 ; ---------------------------------------------------------------------------
.text:00007FF65FA355E5
.text:00007FF65FA355E5 loc_7FF65FA355E5: ; CODE XREF: sub_7FF65FA353D0+89j
.text:00007FF65FA355E5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA355EE mov rcx, rbp
.text:00007FF65FA355F1 mov rdx, [r12+rdx*8]
.text:00007FF65FA355F5 call sub_7FF65FA33840
.text:00007FF65FA355FA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35601 test al, al
.text:00007FF65FA35603 jz short loc_7FF65FA35636
.text:00007FF65FA35605 call cs:SetEvent
.text:00007FF65FA3560B inc r15
.text:00007FF65FA3560E cmp r15, 1Ah
.text:00007FF65FA35612 jge short loc_7FF65FA3566A
.text:00007FF65FA35614
.text:00007FF65FA35614 loc_7FF65FA35614: ; CODE XREF: sub_7FF65FA353D0+B3j
.text:00007FF65FA35614 ; sub_7FF65FA353D0+1B2j ...
.text:00007FF65FA35614 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35618 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3561B call cs:WaitForSingleObject
.text:00007FF65FA35621 test eax, eax
.text:00007FF65FA35623 jz loc_7FF65FA35453
.text:00007FF65FA35629 jmp short loc_7FF65FA3563C
.text:00007FF65FA3562B ; ---------------------------------------------------------------------------
.text:00007FF65FA3562B
.text:00007FF65FA3562B loc_7FF65FA3562B: ; CODE XREF: sub_7FF65FA353D0+19Bj
.text:00007FF65FA3562B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3562F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35636
.text:00007FF65FA35636 loc_7FF65FA35636: ; CODE XREF: sub_7FF65FA353D0+233j
.text:00007FF65FA35636 call cs:SetEvent
.text:00007FF65FA3563C
.text:00007FF65FA3563C loc_7FF65FA3563C: ; CODE XREF: sub_7FF65FA353D0+73j
.text:00007FF65FA3563C ; sub_7FF65FA353D0+259j
.text:00007FF65FA3563C xor al, al
.text:00007FF65FA3563E
.text:00007FF65FA3563E loc_7FF65FA3563E: ; CODE XREF: sub_7FF65FA353D0+29Cj
.text:00007FF65FA3563E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA35646 xor rcx, rsp ; StackCookie
.text:00007FF65FA35649 call __security_check_cookie
.text:00007FF65FA3564E lea r11, [rsp+298h+var_28]
.text:00007FF65FA35656 mov rbx, [r11+40h]
.text:00007FF65FA3565A mov rbp, [r11+48h]
.text:00007FF65FA3565E mov rsp, r11
.text:00007FF65FA35661 pop r15
.text:00007FF65FA35663 pop r14
.text:00007FF65FA35665 pop r12
.text:00007FF65FA35667 pop rdi
.text:00007FF65FA35668 pop rsi
.text:00007FF65FA35669 retn
.text:00007FF65FA3566A ; ---------------------------------------------------------------------------
.text:00007FF65FA3566A
.text:00007FF65FA3566A loc_7FF65FA3566A: ; CODE XREF: sub_7FF65FA353D0+242j
.text:00007FF65FA3566A mov al, 1
.text:00007FF65FA3566C jmp short loc_7FF65FA3563E
.text:00007FF65FA3566C sub_7FF65FA353D0 endp
.text:00007FF65FA3566C
.text:00007FF65FA3566C ; ---------------------------------------------------------------------------
.text:00007FF65FA3566E algn_7FF65FA3566E: ; DATA XREF: .pdata:00007FF65FA7D3D8o
.text:00007FF65FA3566E align 10h
.text:00007FF65FA35670
.text:00007FF65FA35670 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA35670
.text:00007FF65FA35670
.text:00007FF65FA35670 sub_7FF65FA35670 proc near ; CODE XREF: sub_7FF65FA32CC0+65p
.text:00007FF65FA35670 ; DATA XREF: .rdata:off_7FF65FA73638o ...
.text:00007FF65FA35670
.text:00007FF65FA35670 Dest = byte ptr -278h
.text:00007FF65FA35670 var_178 = dword ptr -178h
.text:00007FF65FA35670 var_174 = byte ptr -174h
.text:00007FF65FA35670 var_168 = byte ptr -168h
.text:00007FF65FA35670 var_58 = byte ptr -58h
.text:00007FF65FA35670 var_38 = qword ptr -38h
.text:00007FF65FA35670 var_28 = byte ptr -28h
.text:00007FF65FA35670
.text:00007FF65FA35670 mov r11, rsp
.text:00007FF65FA35673 mov [r11+18h], rbx
.text:00007FF65FA35677 mov [r11+20h], rbp
.text:00007FF65FA3567B push rsi
.text:00007FF65FA3567C push rdi
.text:00007FF65FA3567D push r12
.text:00007FF65FA3567F push r14
.text:00007FF65FA35681 push r15
.text:00007FF65FA35683 sub rsp, 270h
.text:00007FF65FA3568A mov rax, cs:__security_cookie
.text:00007FF65FA35691 xor rax, rsp
.text:00007FF65FA35694 mov [rsp+298h+var_38], rax
.text:00007FF65FA3569C movdqa xmm0, cs:xmmword_7FF65FA74070
.text:00007FF65FA356A4 mov rbx, rdx
.text:00007FF65FA356A7 mov rbp, rcx
.text:00007FF65FA356AA mov dword ptr [r11-48h], 500000Fh
.text:00007FF65FA356B2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA356B5 mov dword ptr [r11-44h], 4010909h
.text:00007FF65FA356BD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA356C3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA356C7 mov word ptr [r11-40h], 108h
.text:00007FF65FA356CE mov dword ptr [r11-68h], 64h
.text:00007FF65FA356D6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA356DB call cs:WaitForSingleObject
.text:00007FF65FA356E1 test eax, eax
.text:00007FF65FA356E3 jnz loc_7FF65FA358DC
.text:00007FF65FA356E9 xor r15d, r15d
.text:00007FF65FA356EC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA356F3
.text:00007FF65FA356F3 loc_7FF65FA356F3: ; CODE XREF: sub_7FF65FA35670+253j
.text:00007FF65FA356F3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA356F7 test ecx, ecx
.text:00007FF65FA356F9 jz loc_7FF65FA35885
.text:00007FF65FA356FF sub ecx, 1
.text:00007FF65FA35702 jz loc_7FF65FA35849
.text:00007FF65FA35708 sub ecx, 1
.text:00007FF65FA3570B jz loc_7FF65FA35827
.text:00007FF65FA35711 cmp ecx, 1
.text:00007FF65FA35714 jz short loc_7FF65FA35728
.text:00007FF65FA35716 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3571D call cs:SetEvent
.text:00007FF65FA35723 jmp loc_7FF65FA358B4
.text:00007FF65FA35728 ; ---------------------------------------------------------------------------
.text:00007FF65FA35728
.text:00007FF65FA35728 loc_7FF65FA35728: ; CODE XREF: sub_7FF65FA35670+A4j
.text:00007FF65FA35728 mov edi, [rbx+11h]
.text:00007FF65FA3572B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA3572F mov esi, [rbx+15h]
.text:00007FF65FA35732 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA35739 test rdx, rdx
.text:00007FF65FA3573C jz short loc_7FF65FA35777
.text:00007FF65FA3573E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35742
.text:00007FF65FA35742 loc_7FF65FA35742: ; CODE XREF: sub_7FF65FA35670+D9j
.text:00007FF65FA35742 inc rax
.text:00007FF65FA35745 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35749 jnz short loc_7FF65FA35742
.text:00007FF65FA3574B cmp rax, 0FFh
.text:00007FF65FA35751 jbe short loc_7FF65FA3575B
.text:00007FF65FA35753 mov r8d, 0FFh
.text:00007FF65FA35759 jmp short loc_7FF65FA3576D
.text:00007FF65FA3575B ; ---------------------------------------------------------------------------
.text:00007FF65FA3575B
.text:00007FF65FA3575B loc_7FF65FA3575B: ; CODE XREF: sub_7FF65FA35670+E1j
.text:00007FF65FA3575B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3575F nop
.text:00007FF65FA35760
.text:00007FF65FA35760 loc_7FF65FA35760: ; CODE XREF: sub_7FF65FA35670+F8j
.text:00007FF65FA35760 inc r8
.text:00007FF65FA35763 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA35768 jnz short loc_7FF65FA35760
.text:00007FF65FA3576A inc r8 ; Count
.text:00007FF65FA3576D
.text:00007FF65FA3576D loc_7FF65FA3576D: ; CODE XREF: sub_7FF65FA35670+E9j
.text:00007FF65FA3576D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA35772 call strncpy
.text:00007FF65FA35777
.text:00007FF65FA35777 loc_7FF65FA35777: ; CODE XREF: sub_7FF65FA35670+CCj
.text:00007FF65FA35777 mov [rsp+298h+var_178], edi
.text:00007FF65FA3577E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35786 mov [rsp+298h+var_174], sil
.text:00007FF65FA3578E lea rax, [rsp+298h+Dest]
.text:00007FF65FA35793 mov ecx, 2
.text:00007FF65FA35798 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA357A0
.text:00007FF65FA357A0 loc_7FF65FA357A0: ; CODE XREF: sub_7FF65FA35670+181j
.text:00007FF65FA357A0 lea rdx, [rdx+80h]
.text:00007FF65FA357A7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA357AA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA357AE lea rax, [rax+80h]
.text:00007FF65FA357B5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA357B9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA357BD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA357C1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA357C5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA357C9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA357CD movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA357D1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA357D5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA357D9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA357DD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA357E1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA357E5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA357E9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA357ED sub rcx, 1
.text:00007FF65FA357F1 jnz short loc_7FF65FA357A0
.text:00007FF65FA357F3 mov rcx, [rax]
.text:00007FF65FA357F6 mov [rdx], rcx
.text:00007FF65FA357F9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35801 mov rcx, rbp
.text:00007FF65FA35804 call sub_7FF65FA33840
.text:00007FF65FA35809 test al, al
.text:00007FF65FA3580B jz loc_7FF65FA358CB
.text:00007FF65FA35811 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35815 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3581C call cs:SetEvent
.text:00007FF65FA35822 jmp loc_7FF65FA358B4
.text:00007FF65FA35827 ; ---------------------------------------------------------------------------
.text:00007FF65FA35827
.text:00007FF65FA35827 loc_7FF65FA35827: ; CODE XREF: sub_7FF65FA35670+9Bj
.text:00007FF65FA35827 mov eax, [rbp+108h]
.text:00007FF65FA3582D mov [rbx+10h], eax
.text:00007FF65FA35830 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA35837 mov [rbx+14h], eax
.text:00007FF65FA3583A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35841 call cs:SetEvent
.text:00007FF65FA35847 jmp short loc_7FF65FA358B4
.text:00007FF65FA35849 ; ---------------------------------------------------------------------------
.text:00007FF65FA35849
.text:00007FF65FA35849 loc_7FF65FA35849: ; CODE XREF: sub_7FF65FA35670+92j
.text:00007FF65FA35849 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3584D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35851
.text:00007FF65FA35851 loc_7FF65FA35851: ; CODE XREF: sub_7FF65FA35670+1E8j
.text:00007FF65FA35851 inc rax
.text:00007FF65FA35854 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35858 jnz short loc_7FF65FA35851
.text:00007FF65FA3585A cmp eax, 0FFh
.text:00007FF65FA3585F jle short loc_7FF65FA35868
.text:00007FF65FA35861 mov eax, 100h
.text:00007FF65FA35866 jmp short loc_7FF65FA3586A
.text:00007FF65FA35868 ; ---------------------------------------------------------------------------
.text:00007FF65FA35868
.text:00007FF65FA35868 loc_7FF65FA35868: ; CODE XREF: sub_7FF65FA35670+1EFj
.text:00007FF65FA35868 inc eax
.text:00007FF65FA3586A
.text:00007FF65FA3586A loc_7FF65FA3586A: ; CODE XREF: sub_7FF65FA35670+1F6j
.text:00007FF65FA3586A movsxd r8, eax ; Size
.text:00007FF65FA3586D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA35871 call memmove
.text:00007FF65FA35876 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3587D call cs:SetEvent
.text:00007FF65FA35883 jmp short loc_7FF65FA358B4
.text:00007FF65FA35885 ; ---------------------------------------------------------------------------
.text:00007FF65FA35885
.text:00007FF65FA35885 loc_7FF65FA35885: ; CODE XREF: sub_7FF65FA35670+89j
.text:00007FF65FA35885 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3588E mov rcx, rbp
.text:00007FF65FA35891 mov rdx, [r12+rdx*8]
.text:00007FF65FA35895 call sub_7FF65FA33840
.text:00007FF65FA3589A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA358A1 test al, al
.text:00007FF65FA358A3 jz short loc_7FF65FA358D6
.text:00007FF65FA358A5 call cs:SetEvent
.text:00007FF65FA358AB inc r15
.text:00007FF65FA358AE cmp r15, 1Ah
.text:00007FF65FA358B2 jge short loc_7FF65FA3590A
.text:00007FF65FA358B4
.text:00007FF65FA358B4 loc_7FF65FA358B4: ; CODE XREF: sub_7FF65FA35670+B3j
.text:00007FF65FA358B4 ; sub_7FF65FA35670+1B2j ...
.text:00007FF65FA358B4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA358B8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA358BB call cs:WaitForSingleObject
.text:00007FF65FA358C1 test eax, eax
.text:00007FF65FA358C3 jz loc_7FF65FA356F3
.text:00007FF65FA358C9 jmp short loc_7FF65FA358DC
.text:00007FF65FA358CB ; ---------------------------------------------------------------------------
.text:00007FF65FA358CB
.text:00007FF65FA358CB loc_7FF65FA358CB: ; CODE XREF: sub_7FF65FA35670+19Bj
.text:00007FF65FA358CB mov byte ptr [rbx+10h], 0
.text:00007FF65FA358CF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA358D6
.text:00007FF65FA358D6 loc_7FF65FA358D6: ; CODE XREF: sub_7FF65FA35670+233j
.text:00007FF65FA358D6 call cs:SetEvent
.text:00007FF65FA358DC
.text:00007FF65FA358DC loc_7FF65FA358DC: ; CODE XREF: sub_7FF65FA35670+73j
.text:00007FF65FA358DC ; sub_7FF65FA35670+259j
.text:00007FF65FA358DC xor al, al
.text:00007FF65FA358DE
.text:00007FF65FA358DE loc_7FF65FA358DE: ; CODE XREF: sub_7FF65FA35670+29Cj
.text:00007FF65FA358DE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA358E6 xor rcx, rsp ; StackCookie
.text:00007FF65FA358E9 call __security_check_cookie
.text:00007FF65FA358EE lea r11, [rsp+298h+var_28]
.text:00007FF65FA358F6 mov rbx, [r11+40h]
.text:00007FF65FA358FA mov rbp, [r11+48h]
.text:00007FF65FA358FE mov rsp, r11
.text:00007FF65FA35901 pop r15
.text:00007FF65FA35903 pop r14
.text:00007FF65FA35905 pop r12
.text:00007FF65FA35907 pop rdi
.text:00007FF65FA35908 pop rsi
.text:00007FF65FA35909 retn
.text:00007FF65FA3590A ; ---------------------------------------------------------------------------
.text:00007FF65FA3590A
.text:00007FF65FA3590A loc_7FF65FA3590A: ; CODE XREF: sub_7FF65FA35670+242j
.text:00007FF65FA3590A mov al, 1
.text:00007FF65FA3590C jmp short loc_7FF65FA358DE
.text:00007FF65FA3590C sub_7FF65FA35670 endp
.text:00007FF65FA3590C
.text:00007FF65FA3590C ; ---------------------------------------------------------------------------
.text:00007FF65FA3590E algn_7FF65FA3590E: ; DATA XREF: .pdata:00007FF65FA7D3E4o
.text:00007FF65FA3590E align 10h
.text:00007FF65FA35910
.text:00007FF65FA35910 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA35910
.text:00007FF65FA35910
.text:00007FF65FA35910 sub_7FF65FA35910 proc near ; CODE XREF: sub_7FF65FA32D60+69p
.text:00007FF65FA35910 ; DATA XREF: .rdata:off_7FF65FA73650o ...
.text:00007FF65FA35910
.text:00007FF65FA35910 Dest = byte ptr -278h
.text:00007FF65FA35910 var_178 = dword ptr -178h
.text:00007FF65FA35910 var_174 = byte ptr -174h
.text:00007FF65FA35910 var_168 = byte ptr -168h
.text:00007FF65FA35910 var_58 = byte ptr -58h
.text:00007FF65FA35910 var_38 = qword ptr -38h
.text:00007FF65FA35910 var_28 = byte ptr -28h
.text:00007FF65FA35910
.text:00007FF65FA35910 mov r11, rsp
.text:00007FF65FA35913 mov [r11+18h], rbx
.text:00007FF65FA35917 mov [r11+20h], rbp
.text:00007FF65FA3591B push rsi
.text:00007FF65FA3591C push rdi
.text:00007FF65FA3591D push r12
.text:00007FF65FA3591F push r14
.text:00007FF65FA35921 push r15
.text:00007FF65FA35923 sub rsp, 270h
.text:00007FF65FA3592A mov rax, cs:__security_cookie
.text:00007FF65FA35931 xor rax, rsp
.text:00007FF65FA35934 mov [rsp+298h+var_38], rax
.text:00007FF65FA3593C movdqa xmm0, cs:xmmword_7FF65FA74000
.text:00007FF65FA35944 mov rbx, rdx
.text:00007FF65FA35947 mov rbp, rcx
.text:00007FF65FA3594A mov dword ptr [r11-48h], 0A070205h
.text:00007FF65FA35952 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35955 mov dword ptr [r11-44h], 0B010A09h
.text:00007FF65FA3595D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA35963 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35967 mov word ptr [r11-40h], 105h
.text:00007FF65FA3596E mov dword ptr [r11-68h], 64h
.text:00007FF65FA35976 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3597B call cs:WaitForSingleObject
.text:00007FF65FA35981 test eax, eax
.text:00007FF65FA35983 jnz loc_7FF65FA35B7C
.text:00007FF65FA35989 xor r15d, r15d
.text:00007FF65FA3598C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA35993
.text:00007FF65FA35993 loc_7FF65FA35993: ; CODE XREF: sub_7FF65FA35910+253j
.text:00007FF65FA35993 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA35997 test ecx, ecx
.text:00007FF65FA35999 jz loc_7FF65FA35B25
.text:00007FF65FA3599F sub ecx, 1
.text:00007FF65FA359A2 jz loc_7FF65FA35AE9
.text:00007FF65FA359A8 sub ecx, 1
.text:00007FF65FA359AB jz loc_7FF65FA35AC7
.text:00007FF65FA359B1 cmp ecx, 1
.text:00007FF65FA359B4 jz short loc_7FF65FA359C8
.text:00007FF65FA359B6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA359BD call cs:SetEvent
.text:00007FF65FA359C3 jmp loc_7FF65FA35B54
.text:00007FF65FA359C8 ; ---------------------------------------------------------------------------
.text:00007FF65FA359C8
.text:00007FF65FA359C8 loc_7FF65FA359C8: ; CODE XREF: sub_7FF65FA35910+A4j
.text:00007FF65FA359C8 mov edi, [rbx+11h]
.text:00007FF65FA359CB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA359CF mov esi, [rbx+15h]
.text:00007FF65FA359D2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA359D9 test rdx, rdx
.text:00007FF65FA359DC jz short loc_7FF65FA35A17
.text:00007FF65FA359DE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA359E2
.text:00007FF65FA359E2 loc_7FF65FA359E2: ; CODE XREF: sub_7FF65FA35910+D9j
.text:00007FF65FA359E2 inc rax
.text:00007FF65FA359E5 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA359E9 jnz short loc_7FF65FA359E2
.text:00007FF65FA359EB cmp rax, 0FFh
.text:00007FF65FA359F1 jbe short loc_7FF65FA359FB
.text:00007FF65FA359F3 mov r8d, 0FFh
.text:00007FF65FA359F9 jmp short loc_7FF65FA35A0D
.text:00007FF65FA359FB ; ---------------------------------------------------------------------------
.text:00007FF65FA359FB
.text:00007FF65FA359FB loc_7FF65FA359FB: ; CODE XREF: sub_7FF65FA35910+E1j
.text:00007FF65FA359FB or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA359FF nop
.text:00007FF65FA35A00
.text:00007FF65FA35A00 loc_7FF65FA35A00: ; CODE XREF: sub_7FF65FA35910+F8j
.text:00007FF65FA35A00 inc r8
.text:00007FF65FA35A03 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA35A08 jnz short loc_7FF65FA35A00
.text:00007FF65FA35A0A inc r8 ; Count
.text:00007FF65FA35A0D
.text:00007FF65FA35A0D loc_7FF65FA35A0D: ; CODE XREF: sub_7FF65FA35910+E9j
.text:00007FF65FA35A0D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA35A12 call strncpy
.text:00007FF65FA35A17
.text:00007FF65FA35A17 loc_7FF65FA35A17: ; CODE XREF: sub_7FF65FA35910+CCj
.text:00007FF65FA35A17 mov [rsp+298h+var_178], edi
.text:00007FF65FA35A1E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35A26 mov [rsp+298h+var_174], sil
.text:00007FF65FA35A2E lea rax, [rsp+298h+Dest]
.text:00007FF65FA35A33 mov ecx, 2
.text:00007FF65FA35A38 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA35A40
.text:00007FF65FA35A40 loc_7FF65FA35A40: ; CODE XREF: sub_7FF65FA35910+181j
.text:00007FF65FA35A40 lea rdx, [rdx+80h]
.text:00007FF65FA35A47 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA35A4A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA35A4E lea rax, [rax+80h]
.text:00007FF65FA35A55 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA35A59 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA35A5D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA35A61 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA35A65 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA35A69 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA35A6D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA35A71 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA35A75 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA35A79 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA35A7D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA35A81 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA35A85 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA35A89 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA35A8D sub rcx, 1
.text:00007FF65FA35A91 jnz short loc_7FF65FA35A40
.text:00007FF65FA35A93 mov rcx, [rax]
.text:00007FF65FA35A96 mov [rdx], rcx
.text:00007FF65FA35A99 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35AA1 mov rcx, rbp
.text:00007FF65FA35AA4 call sub_7FF65FA33840
.text:00007FF65FA35AA9 test al, al
.text:00007FF65FA35AAB jz loc_7FF65FA35B6B
.text:00007FF65FA35AB1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35AB5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35ABC call cs:SetEvent
.text:00007FF65FA35AC2 jmp loc_7FF65FA35B54
.text:00007FF65FA35AC7 ; ---------------------------------------------------------------------------
.text:00007FF65FA35AC7
.text:00007FF65FA35AC7 loc_7FF65FA35AC7: ; CODE XREF: sub_7FF65FA35910+9Bj
.text:00007FF65FA35AC7 mov eax, [rbp+108h]
.text:00007FF65FA35ACD mov [rbx+10h], eax
.text:00007FF65FA35AD0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA35AD7 mov [rbx+14h], eax
.text:00007FF65FA35ADA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35AE1 call cs:SetEvent
.text:00007FF65FA35AE7 jmp short loc_7FF65FA35B54
.text:00007FF65FA35AE9 ; ---------------------------------------------------------------------------
.text:00007FF65FA35AE9
.text:00007FF65FA35AE9 loc_7FF65FA35AE9: ; CODE XREF: sub_7FF65FA35910+92j
.text:00007FF65FA35AE9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA35AED or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35AF1
.text:00007FF65FA35AF1 loc_7FF65FA35AF1: ; CODE XREF: sub_7FF65FA35910+1E8j
.text:00007FF65FA35AF1 inc rax
.text:00007FF65FA35AF4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35AF8 jnz short loc_7FF65FA35AF1
.text:00007FF65FA35AFA cmp eax, 0FFh
.text:00007FF65FA35AFF jle short loc_7FF65FA35B08
.text:00007FF65FA35B01 mov eax, 100h
.text:00007FF65FA35B06 jmp short loc_7FF65FA35B0A
.text:00007FF65FA35B08 ; ---------------------------------------------------------------------------
.text:00007FF65FA35B08
.text:00007FF65FA35B08 loc_7FF65FA35B08: ; CODE XREF: sub_7FF65FA35910+1EFj
.text:00007FF65FA35B08 inc eax
.text:00007FF65FA35B0A
.text:00007FF65FA35B0A loc_7FF65FA35B0A: ; CODE XREF: sub_7FF65FA35910+1F6j
.text:00007FF65FA35B0A movsxd r8, eax ; Size
.text:00007FF65FA35B0D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA35B11 call memmove
.text:00007FF65FA35B16 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35B1D call cs:SetEvent
.text:00007FF65FA35B23 jmp short loc_7FF65FA35B54
.text:00007FF65FA35B25 ; ---------------------------------------------------------------------------
.text:00007FF65FA35B25
.text:00007FF65FA35B25 loc_7FF65FA35B25: ; CODE XREF: sub_7FF65FA35910+89j
.text:00007FF65FA35B25 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA35B2E mov rcx, rbp
.text:00007FF65FA35B31 mov rdx, [r12+rdx*8]
.text:00007FF65FA35B35 call sub_7FF65FA33840
.text:00007FF65FA35B3A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35B41 test al, al
.text:00007FF65FA35B43 jz short loc_7FF65FA35B76
.text:00007FF65FA35B45 call cs:SetEvent
.text:00007FF65FA35B4B inc r15
.text:00007FF65FA35B4E cmp r15, 1Ah
.text:00007FF65FA35B52 jge short loc_7FF65FA35BAA
.text:00007FF65FA35B54
.text:00007FF65FA35B54 loc_7FF65FA35B54: ; CODE XREF: sub_7FF65FA35910+B3j
.text:00007FF65FA35B54 ; sub_7FF65FA35910+1B2j ...
.text:00007FF65FA35B54 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35B58 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35B5B call cs:WaitForSingleObject
.text:00007FF65FA35B61 test eax, eax
.text:00007FF65FA35B63 jz loc_7FF65FA35993
.text:00007FF65FA35B69 jmp short loc_7FF65FA35B7C
.text:00007FF65FA35B6B ; ---------------------------------------------------------------------------
.text:00007FF65FA35B6B
.text:00007FF65FA35B6B loc_7FF65FA35B6B: ; CODE XREF: sub_7FF65FA35910+19Bj
.text:00007FF65FA35B6B mov byte ptr [rbx+10h], 0
.text:00007FF65FA35B6F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35B76
.text:00007FF65FA35B76 loc_7FF65FA35B76: ; CODE XREF: sub_7FF65FA35910+233j
.text:00007FF65FA35B76 call cs:SetEvent
.text:00007FF65FA35B7C
.text:00007FF65FA35B7C loc_7FF65FA35B7C: ; CODE XREF: sub_7FF65FA35910+73j
.text:00007FF65FA35B7C ; sub_7FF65FA35910+259j
.text:00007FF65FA35B7C xor al, al
.text:00007FF65FA35B7E
.text:00007FF65FA35B7E loc_7FF65FA35B7E: ; CODE XREF: sub_7FF65FA35910+29Cj
.text:00007FF65FA35B7E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA35B86 xor rcx, rsp ; StackCookie
.text:00007FF65FA35B89 call __security_check_cookie
.text:00007FF65FA35B8E lea r11, [rsp+298h+var_28]
.text:00007FF65FA35B96 mov rbx, [r11+40h]
.text:00007FF65FA35B9A mov rbp, [r11+48h]
.text:00007FF65FA35B9E mov rsp, r11
.text:00007FF65FA35BA1 pop r15
.text:00007FF65FA35BA3 pop r14
.text:00007FF65FA35BA5 pop r12
.text:00007FF65FA35BA7 pop rdi
.text:00007FF65FA35BA8 pop rsi
.text:00007FF65FA35BA9 retn
.text:00007FF65FA35BAA ; ---------------------------------------------------------------------------
.text:00007FF65FA35BAA
.text:00007FF65FA35BAA loc_7FF65FA35BAA: ; CODE XREF: sub_7FF65FA35910+242j
.text:00007FF65FA35BAA mov al, 1
.text:00007FF65FA35BAC jmp short loc_7FF65FA35B7E
.text:00007FF65FA35BAC sub_7FF65FA35910 endp
.text:00007FF65FA35BAC
.text:00007FF65FA35BAC ; ---------------------------------------------------------------------------
.text:00007FF65FA35BAE algn_7FF65FA35BAE: ; DATA XREF: .pdata:00007FF65FA7D3F0o
.text:00007FF65FA35BAE align 10h
.text:00007FF65FA35BB0
.text:00007FF65FA35BB0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA35BB0
.text:00007FF65FA35BB0
.text:00007FF65FA35BB0 sub_7FF65FA35BB0 proc near ; CODE XREF: sub_7FF65FA32E00+69p
.text:00007FF65FA35BB0 ; DATA XREF: .rdata:off_7FF65FA73688o ...
.text:00007FF65FA35BB0
.text:00007FF65FA35BB0 Dest = byte ptr -278h
.text:00007FF65FA35BB0 var_178 = dword ptr -178h
.text:00007FF65FA35BB0 var_174 = byte ptr -174h
.text:00007FF65FA35BB0 var_168 = byte ptr -168h
.text:00007FF65FA35BB0 var_58 = byte ptr -58h
.text:00007FF65FA35BB0 var_38 = qword ptr -38h
.text:00007FF65FA35BB0 var_28 = byte ptr -28h
.text:00007FF65FA35BB0
.text:00007FF65FA35BB0 mov r11, rsp
.text:00007FF65FA35BB3 mov [r11+18h], rbx
.text:00007FF65FA35BB7 mov [r11+20h], rbp
.text:00007FF65FA35BBB push rsi
.text:00007FF65FA35BBC push rdi
.text:00007FF65FA35BBD push r12
.text:00007FF65FA35BBF push r14
.text:00007FF65FA35BC1 push r15
.text:00007FF65FA35BC3 sub rsp, 270h
.text:00007FF65FA35BCA mov rax, cs:__security_cookie
.text:00007FF65FA35BD1 xor rax, rsp
.text:00007FF65FA35BD4 mov [rsp+298h+var_38], rax
.text:00007FF65FA35BDC movdqa xmm0, cs:xmmword_7FF65FA74050
.text:00007FF65FA35BE4 mov rbx, rdx
.text:00007FF65FA35BE7 mov rbp, rcx
.text:00007FF65FA35BEA mov dword ptr [r11-48h], 5010804h
.text:00007FF65FA35BF2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35BF5 mov dword ptr [r11-44h], 903040Fh
.text:00007FF65FA35BFD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA35C03 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35C07 mov word ptr [r11-40h], 103h
.text:00007FF65FA35C0E mov dword ptr [r11-68h], 64h
.text:00007FF65FA35C16 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA35C1B call cs:WaitForSingleObject
.text:00007FF65FA35C21 test eax, eax
.text:00007FF65FA35C23 jnz loc_7FF65FA35E1C
.text:00007FF65FA35C29 xor r15d, r15d
.text:00007FF65FA35C2C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA35C33
.text:00007FF65FA35C33 loc_7FF65FA35C33: ; CODE XREF: sub_7FF65FA35BB0+253j
.text:00007FF65FA35C33 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA35C37 test ecx, ecx
.text:00007FF65FA35C39 jz loc_7FF65FA35DC5
.text:00007FF65FA35C3F sub ecx, 1
.text:00007FF65FA35C42 jz loc_7FF65FA35D89
.text:00007FF65FA35C48 sub ecx, 1
.text:00007FF65FA35C4B jz loc_7FF65FA35D67
.text:00007FF65FA35C51 cmp ecx, 1
.text:00007FF65FA35C54 jz short loc_7FF65FA35C68
.text:00007FF65FA35C56 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35C5D call cs:SetEvent
.text:00007FF65FA35C63 jmp loc_7FF65FA35DF4
.text:00007FF65FA35C68 ; ---------------------------------------------------------------------------
.text:00007FF65FA35C68
.text:00007FF65FA35C68 loc_7FF65FA35C68: ; CODE XREF: sub_7FF65FA35BB0+A4j
.text:00007FF65FA35C68 mov edi, [rbx+11h]
.text:00007FF65FA35C6B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA35C6F mov esi, [rbx+15h]
.text:00007FF65FA35C72 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA35C79 test rdx, rdx
.text:00007FF65FA35C7C jz short loc_7FF65FA35CB7
.text:00007FF65FA35C7E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35C82
.text:00007FF65FA35C82 loc_7FF65FA35C82: ; CODE XREF: sub_7FF65FA35BB0+D9j
.text:00007FF65FA35C82 inc rax
.text:00007FF65FA35C85 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35C89 jnz short loc_7FF65FA35C82
.text:00007FF65FA35C8B cmp rax, 0FFh
.text:00007FF65FA35C91 jbe short loc_7FF65FA35C9B
.text:00007FF65FA35C93 mov r8d, 0FFh
.text:00007FF65FA35C99 jmp short loc_7FF65FA35CAD
.text:00007FF65FA35C9B ; ---------------------------------------------------------------------------
.text:00007FF65FA35C9B
.text:00007FF65FA35C9B loc_7FF65FA35C9B: ; CODE XREF: sub_7FF65FA35BB0+E1j
.text:00007FF65FA35C9B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35C9F nop
.text:00007FF65FA35CA0
.text:00007FF65FA35CA0 loc_7FF65FA35CA0: ; CODE XREF: sub_7FF65FA35BB0+F8j
.text:00007FF65FA35CA0 inc r8
.text:00007FF65FA35CA3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA35CA8 jnz short loc_7FF65FA35CA0
.text:00007FF65FA35CAA inc r8 ; Count
.text:00007FF65FA35CAD
.text:00007FF65FA35CAD loc_7FF65FA35CAD: ; CODE XREF: sub_7FF65FA35BB0+E9j
.text:00007FF65FA35CAD lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA35CB2 call strncpy
.text:00007FF65FA35CB7
.text:00007FF65FA35CB7 loc_7FF65FA35CB7: ; CODE XREF: sub_7FF65FA35BB0+CCj
.text:00007FF65FA35CB7 mov [rsp+298h+var_178], edi
.text:00007FF65FA35CBE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35CC6 mov [rsp+298h+var_174], sil
.text:00007FF65FA35CCE lea rax, [rsp+298h+Dest]
.text:00007FF65FA35CD3 mov ecx, 2
.text:00007FF65FA35CD8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA35CE0
.text:00007FF65FA35CE0 loc_7FF65FA35CE0: ; CODE XREF: sub_7FF65FA35BB0+181j
.text:00007FF65FA35CE0 lea rdx, [rdx+80h]
.text:00007FF65FA35CE7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA35CEA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA35CEE lea rax, [rax+80h]
.text:00007FF65FA35CF5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA35CF9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA35CFD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA35D01 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA35D05 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA35D09 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA35D0D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA35D11 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA35D15 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA35D19 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA35D1D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA35D21 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA35D25 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA35D29 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA35D2D sub rcx, 1
.text:00007FF65FA35D31 jnz short loc_7FF65FA35CE0
.text:00007FF65FA35D33 mov rcx, [rax]
.text:00007FF65FA35D36 mov [rdx], rcx
.text:00007FF65FA35D39 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35D41 mov rcx, rbp
.text:00007FF65FA35D44 call sub_7FF65FA33840
.text:00007FF65FA35D49 test al, al
.text:00007FF65FA35D4B jz loc_7FF65FA35E0B
.text:00007FF65FA35D51 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35D55 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35D5C call cs:SetEvent
.text:00007FF65FA35D62 jmp loc_7FF65FA35DF4
.text:00007FF65FA35D67 ; ---------------------------------------------------------------------------
.text:00007FF65FA35D67
.text:00007FF65FA35D67 loc_7FF65FA35D67: ; CODE XREF: sub_7FF65FA35BB0+9Bj
.text:00007FF65FA35D67 mov eax, [rbp+108h]
.text:00007FF65FA35D6D mov [rbx+10h], eax
.text:00007FF65FA35D70 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA35D77 mov [rbx+14h], eax
.text:00007FF65FA35D7A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35D81 call cs:SetEvent
.text:00007FF65FA35D87 jmp short loc_7FF65FA35DF4
.text:00007FF65FA35D89 ; ---------------------------------------------------------------------------
.text:00007FF65FA35D89
.text:00007FF65FA35D89 loc_7FF65FA35D89: ; CODE XREF: sub_7FF65FA35BB0+92j
.text:00007FF65FA35D89 lea rdx, [rbp+8] ; Src
.text:00007FF65FA35D8D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35D91
.text:00007FF65FA35D91 loc_7FF65FA35D91: ; CODE XREF: sub_7FF65FA35BB0+1E8j
.text:00007FF65FA35D91 inc rax
.text:00007FF65FA35D94 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35D98 jnz short loc_7FF65FA35D91
.text:00007FF65FA35D9A cmp eax, 0FFh
.text:00007FF65FA35D9F jle short loc_7FF65FA35DA8
.text:00007FF65FA35DA1 mov eax, 100h
.text:00007FF65FA35DA6 jmp short loc_7FF65FA35DAA
.text:00007FF65FA35DA8 ; ---------------------------------------------------------------------------
.text:00007FF65FA35DA8
.text:00007FF65FA35DA8 loc_7FF65FA35DA8: ; CODE XREF: sub_7FF65FA35BB0+1EFj
.text:00007FF65FA35DA8 inc eax
.text:00007FF65FA35DAA
.text:00007FF65FA35DAA loc_7FF65FA35DAA: ; CODE XREF: sub_7FF65FA35BB0+1F6j
.text:00007FF65FA35DAA movsxd r8, eax ; Size
.text:00007FF65FA35DAD lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA35DB1 call memmove
.text:00007FF65FA35DB6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35DBD call cs:SetEvent
.text:00007FF65FA35DC3 jmp short loc_7FF65FA35DF4
.text:00007FF65FA35DC5 ; ---------------------------------------------------------------------------
.text:00007FF65FA35DC5
.text:00007FF65FA35DC5 loc_7FF65FA35DC5: ; CODE XREF: sub_7FF65FA35BB0+89j
.text:00007FF65FA35DC5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA35DCE mov rcx, rbp
.text:00007FF65FA35DD1 mov rdx, [r12+rdx*8]
.text:00007FF65FA35DD5 call sub_7FF65FA33840
.text:00007FF65FA35DDA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35DE1 test al, al
.text:00007FF65FA35DE3 jz short loc_7FF65FA35E16
.text:00007FF65FA35DE5 call cs:SetEvent
.text:00007FF65FA35DEB inc r15
.text:00007FF65FA35DEE cmp r15, 1Ah
.text:00007FF65FA35DF2 jge short loc_7FF65FA35E4A
.text:00007FF65FA35DF4
.text:00007FF65FA35DF4 loc_7FF65FA35DF4: ; CODE XREF: sub_7FF65FA35BB0+B3j
.text:00007FF65FA35DF4 ; sub_7FF65FA35BB0+1B2j ...
.text:00007FF65FA35DF4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35DF8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35DFB call cs:WaitForSingleObject
.text:00007FF65FA35E01 test eax, eax
.text:00007FF65FA35E03 jz loc_7FF65FA35C33
.text:00007FF65FA35E09 jmp short loc_7FF65FA35E1C
.text:00007FF65FA35E0B ; ---------------------------------------------------------------------------
.text:00007FF65FA35E0B
.text:00007FF65FA35E0B loc_7FF65FA35E0B: ; CODE XREF: sub_7FF65FA35BB0+19Bj
.text:00007FF65FA35E0B mov byte ptr [rbx+10h], 0
.text:00007FF65FA35E0F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35E16
.text:00007FF65FA35E16 loc_7FF65FA35E16: ; CODE XREF: sub_7FF65FA35BB0+233j
.text:00007FF65FA35E16 call cs:SetEvent
.text:00007FF65FA35E1C
.text:00007FF65FA35E1C loc_7FF65FA35E1C: ; CODE XREF: sub_7FF65FA35BB0+73j
.text:00007FF65FA35E1C ; sub_7FF65FA35BB0+259j
.text:00007FF65FA35E1C xor al, al
.text:00007FF65FA35E1E
.text:00007FF65FA35E1E loc_7FF65FA35E1E: ; CODE XREF: sub_7FF65FA35BB0+29Cj
.text:00007FF65FA35E1E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA35E26 xor rcx, rsp ; StackCookie
.text:00007FF65FA35E29 call __security_check_cookie
.text:00007FF65FA35E2E lea r11, [rsp+298h+var_28]
.text:00007FF65FA35E36 mov rbx, [r11+40h]
.text:00007FF65FA35E3A mov rbp, [r11+48h]
.text:00007FF65FA35E3E mov rsp, r11
.text:00007FF65FA35E41 pop r15
.text:00007FF65FA35E43 pop r14
.text:00007FF65FA35E45 pop r12
.text:00007FF65FA35E47 pop rdi
.text:00007FF65FA35E48 pop rsi
.text:00007FF65FA35E49 retn
.text:00007FF65FA35E4A ; ---------------------------------------------------------------------------
.text:00007FF65FA35E4A
.text:00007FF65FA35E4A loc_7FF65FA35E4A: ; CODE XREF: sub_7FF65FA35BB0+242j
.text:00007FF65FA35E4A mov al, 1
.text:00007FF65FA35E4C jmp short loc_7FF65FA35E1E
.text:00007FF65FA35E4C sub_7FF65FA35BB0 endp
.text:00007FF65FA35E4C
.text:00007FF65FA35E4C ; ---------------------------------------------------------------------------
.text:00007FF65FA35E4E algn_7FF65FA35E4E: ; DATA XREF: .pdata:00007FF65FA7D3FCo
.text:00007FF65FA35E4E align 10h
.text:00007FF65FA35E50
.text:00007FF65FA35E50 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA35E50
.text:00007FF65FA35E50
.text:00007FF65FA35E50 sub_7FF65FA35E50 proc near ; CODE XREF: sub_7FF65FA32EA0+69p
.text:00007FF65FA35E50 ; DATA XREF: .rdata:off_7FF65FA73678o ...
.text:00007FF65FA35E50
.text:00007FF65FA35E50 Dest = byte ptr -278h
.text:00007FF65FA35E50 var_178 = dword ptr -178h
.text:00007FF65FA35E50 var_174 = byte ptr -174h
.text:00007FF65FA35E50 var_168 = byte ptr -168h
.text:00007FF65FA35E50 var_58 = byte ptr -58h
.text:00007FF65FA35E50 var_38 = qword ptr -38h
.text:00007FF65FA35E50 var_28 = byte ptr -28h
.text:00007FF65FA35E50
.text:00007FF65FA35E50 mov r11, rsp
.text:00007FF65FA35E53 mov [r11+18h], rbx
.text:00007FF65FA35E57 mov [r11+20h], rbp
.text:00007FF65FA35E5B push rsi
.text:00007FF65FA35E5C push rdi
.text:00007FF65FA35E5D push r12
.text:00007FF65FA35E5F push r14
.text:00007FF65FA35E61 push r15
.text:00007FF65FA35E63 sub rsp, 270h
.text:00007FF65FA35E6A mov rax, cs:__security_cookie
.text:00007FF65FA35E71 xor rax, rsp
.text:00007FF65FA35E74 mov [rsp+298h+var_38], rax
.text:00007FF65FA35E7C movdqa xmm0, cs:xmmword_7FF65FA74010
.text:00007FF65FA35E84 mov rbx, rdx
.text:00007FF65FA35E87 mov rbp, rcx
.text:00007FF65FA35E8A mov dword ptr [r11-48h], 2070603h
.text:00007FF65FA35E92 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA35E95 mov dword ptr [r11-44h], 3090206h
.text:00007FF65FA35E9D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA35EA3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA35EA7 mov word ptr [r11-40h], 107h
.text:00007FF65FA35EAE mov dword ptr [r11-68h], 64h
.text:00007FF65FA35EB6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA35EBB call cs:WaitForSingleObject
.text:00007FF65FA35EC1 test eax, eax
.text:00007FF65FA35EC3 jnz loc_7FF65FA360BC
.text:00007FF65FA35EC9 xor r15d, r15d
.text:00007FF65FA35ECC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA35ED3
.text:00007FF65FA35ED3 loc_7FF65FA35ED3: ; CODE XREF: sub_7FF65FA35E50+253j
.text:00007FF65FA35ED3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA35ED7 test ecx, ecx
.text:00007FF65FA35ED9 jz loc_7FF65FA36065
.text:00007FF65FA35EDF sub ecx, 1
.text:00007FF65FA35EE2 jz loc_7FF65FA36029
.text:00007FF65FA35EE8 sub ecx, 1
.text:00007FF65FA35EEB jz loc_7FF65FA36007
.text:00007FF65FA35EF1 cmp ecx, 1
.text:00007FF65FA35EF4 jz short loc_7FF65FA35F08
.text:00007FF65FA35EF6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35EFD call cs:SetEvent
.text:00007FF65FA35F03 jmp loc_7FF65FA36094
.text:00007FF65FA35F08 ; ---------------------------------------------------------------------------
.text:00007FF65FA35F08
.text:00007FF65FA35F08 loc_7FF65FA35F08: ; CODE XREF: sub_7FF65FA35E50+A4j
.text:00007FF65FA35F08 mov edi, [rbx+11h]
.text:00007FF65FA35F0B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA35F0F mov esi, [rbx+15h]
.text:00007FF65FA35F12 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA35F19 test rdx, rdx
.text:00007FF65FA35F1C jz short loc_7FF65FA35F57
.text:00007FF65FA35F1E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35F22
.text:00007FF65FA35F22 loc_7FF65FA35F22: ; CODE XREF: sub_7FF65FA35E50+D9j
.text:00007FF65FA35F22 inc rax
.text:00007FF65FA35F25 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA35F29 jnz short loc_7FF65FA35F22
.text:00007FF65FA35F2B cmp rax, 0FFh
.text:00007FF65FA35F31 jbe short loc_7FF65FA35F3B
.text:00007FF65FA35F33 mov r8d, 0FFh
.text:00007FF65FA35F39 jmp short loc_7FF65FA35F4D
.text:00007FF65FA35F3B ; ---------------------------------------------------------------------------
.text:00007FF65FA35F3B
.text:00007FF65FA35F3B loc_7FF65FA35F3B: ; CODE XREF: sub_7FF65FA35E50+E1j
.text:00007FF65FA35F3B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA35F3F nop
.text:00007FF65FA35F40
.text:00007FF65FA35F40 loc_7FF65FA35F40: ; CODE XREF: sub_7FF65FA35E50+F8j
.text:00007FF65FA35F40 inc r8
.text:00007FF65FA35F43 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA35F48 jnz short loc_7FF65FA35F40
.text:00007FF65FA35F4A inc r8 ; Count
.text:00007FF65FA35F4D
.text:00007FF65FA35F4D loc_7FF65FA35F4D: ; CODE XREF: sub_7FF65FA35E50+E9j
.text:00007FF65FA35F4D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA35F52 call strncpy
.text:00007FF65FA35F57
.text:00007FF65FA35F57 loc_7FF65FA35F57: ; CODE XREF: sub_7FF65FA35E50+CCj
.text:00007FF65FA35F57 mov [rsp+298h+var_178], edi
.text:00007FF65FA35F5E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35F66 mov [rsp+298h+var_174], sil
.text:00007FF65FA35F6E lea rax, [rsp+298h+Dest]
.text:00007FF65FA35F73 mov ecx, 2
.text:00007FF65FA35F78 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA35F80
.text:00007FF65FA35F80 loc_7FF65FA35F80: ; CODE XREF: sub_7FF65FA35E50+181j
.text:00007FF65FA35F80 lea rdx, [rdx+80h]
.text:00007FF65FA35F87 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA35F8A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA35F8E lea rax, [rax+80h]
.text:00007FF65FA35F95 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA35F99 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA35F9D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA35FA1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA35FA5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA35FA9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA35FAD movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA35FB1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA35FB5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA35FB9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA35FBD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA35FC1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA35FC5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA35FC9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA35FCD sub rcx, 1
.text:00007FF65FA35FD1 jnz short loc_7FF65FA35F80
.text:00007FF65FA35FD3 mov rcx, [rax]
.text:00007FF65FA35FD6 mov [rdx], rcx
.text:00007FF65FA35FD9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA35FE1 mov rcx, rbp
.text:00007FF65FA35FE4 call sub_7FF65FA33840
.text:00007FF65FA35FE9 test al, al
.text:00007FF65FA35FEB jz loc_7FF65FA360AB
.text:00007FF65FA35FF1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA35FF5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA35FFC call cs:SetEvent
.text:00007FF65FA36002 jmp loc_7FF65FA36094
.text:00007FF65FA36007 ; ---------------------------------------------------------------------------
.text:00007FF65FA36007
.text:00007FF65FA36007 loc_7FF65FA36007: ; CODE XREF: sub_7FF65FA35E50+9Bj
.text:00007FF65FA36007 mov eax, [rbp+108h]
.text:00007FF65FA3600D mov [rbx+10h], eax
.text:00007FF65FA36010 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA36017 mov [rbx+14h], eax
.text:00007FF65FA3601A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36021 call cs:SetEvent
.text:00007FF65FA36027 jmp short loc_7FF65FA36094
.text:00007FF65FA36029 ; ---------------------------------------------------------------------------
.text:00007FF65FA36029
.text:00007FF65FA36029 loc_7FF65FA36029: ; CODE XREF: sub_7FF65FA35E50+92j
.text:00007FF65FA36029 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3602D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA36031
.text:00007FF65FA36031 loc_7FF65FA36031: ; CODE XREF: sub_7FF65FA35E50+1E8j
.text:00007FF65FA36031 inc rax
.text:00007FF65FA36034 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA36038 jnz short loc_7FF65FA36031
.text:00007FF65FA3603A cmp eax, 0FFh
.text:00007FF65FA3603F jle short loc_7FF65FA36048
.text:00007FF65FA36041 mov eax, 100h
.text:00007FF65FA36046 jmp short loc_7FF65FA3604A
.text:00007FF65FA36048 ; ---------------------------------------------------------------------------
.text:00007FF65FA36048
.text:00007FF65FA36048 loc_7FF65FA36048: ; CODE XREF: sub_7FF65FA35E50+1EFj
.text:00007FF65FA36048 inc eax
.text:00007FF65FA3604A
.text:00007FF65FA3604A loc_7FF65FA3604A: ; CODE XREF: sub_7FF65FA35E50+1F6j
.text:00007FF65FA3604A movsxd r8, eax ; Size
.text:00007FF65FA3604D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA36051 call memmove
.text:00007FF65FA36056 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3605D call cs:SetEvent
.text:00007FF65FA36063 jmp short loc_7FF65FA36094
.text:00007FF65FA36065 ; ---------------------------------------------------------------------------
.text:00007FF65FA36065
.text:00007FF65FA36065 loc_7FF65FA36065: ; CODE XREF: sub_7FF65FA35E50+89j
.text:00007FF65FA36065 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3606E mov rcx, rbp
.text:00007FF65FA36071 mov rdx, [r12+rdx*8]
.text:00007FF65FA36075 call sub_7FF65FA33840
.text:00007FF65FA3607A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36081 test al, al
.text:00007FF65FA36083 jz short loc_7FF65FA360B6
.text:00007FF65FA36085 call cs:SetEvent
.text:00007FF65FA3608B inc r15
.text:00007FF65FA3608E cmp r15, 1Ah
.text:00007FF65FA36092 jge short loc_7FF65FA360EA
.text:00007FF65FA36094
.text:00007FF65FA36094 loc_7FF65FA36094: ; CODE XREF: sub_7FF65FA35E50+B3j
.text:00007FF65FA36094 ; sub_7FF65FA35E50+1B2j ...
.text:00007FF65FA36094 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA36098 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3609B call cs:WaitForSingleObject
.text:00007FF65FA360A1 test eax, eax
.text:00007FF65FA360A3 jz loc_7FF65FA35ED3
.text:00007FF65FA360A9 jmp short loc_7FF65FA360BC
.text:00007FF65FA360AB ; ---------------------------------------------------------------------------
.text:00007FF65FA360AB
.text:00007FF65FA360AB loc_7FF65FA360AB: ; CODE XREF: sub_7FF65FA35E50+19Bj
.text:00007FF65FA360AB mov byte ptr [rbx+10h], 0
.text:00007FF65FA360AF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA360B6
.text:00007FF65FA360B6 loc_7FF65FA360B6: ; CODE XREF: sub_7FF65FA35E50+233j
.text:00007FF65FA360B6 call cs:SetEvent
.text:00007FF65FA360BC
.text:00007FF65FA360BC loc_7FF65FA360BC: ; CODE XREF: sub_7FF65FA35E50+73j
.text:00007FF65FA360BC ; sub_7FF65FA35E50+259j
.text:00007FF65FA360BC xor al, al
.text:00007FF65FA360BE
.text:00007FF65FA360BE loc_7FF65FA360BE: ; CODE XREF: sub_7FF65FA35E50+29Cj
.text:00007FF65FA360BE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA360C6 xor rcx, rsp ; StackCookie
.text:00007FF65FA360C9 call __security_check_cookie
.text:00007FF65FA360CE lea r11, [rsp+298h+var_28]
.text:00007FF65FA360D6 mov rbx, [r11+40h]
.text:00007FF65FA360DA mov rbp, [r11+48h]
.text:00007FF65FA360DE mov rsp, r11
.text:00007FF65FA360E1 pop r15
.text:00007FF65FA360E3 pop r14
.text:00007FF65FA360E5 pop r12
.text:00007FF65FA360E7 pop rdi
.text:00007FF65FA360E8 pop rsi
.text:00007FF65FA360E9 retn
.text:00007FF65FA360EA ; ---------------------------------------------------------------------------
.text:00007FF65FA360EA
.text:00007FF65FA360EA loc_7FF65FA360EA: ; CODE XREF: sub_7FF65FA35E50+242j
.text:00007FF65FA360EA mov al, 1
.text:00007FF65FA360EC jmp short loc_7FF65FA360BE
.text:00007FF65FA360EC sub_7FF65FA35E50 endp
.text:00007FF65FA360EC
.text:00007FF65FA360EC ; ---------------------------------------------------------------------------
.text:00007FF65FA360EE algn_7FF65FA360EE: ; DATA XREF: .pdata:00007FF65FA7D408o
.text:00007FF65FA360EE align 10h
.text:00007FF65FA360F0
.text:00007FF65FA360F0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA360F0
.text:00007FF65FA360F0
.text:00007FF65FA360F0 sub_7FF65FA360F0 proc near ; CODE XREF: sub_7FF65FA32F40+69p
.text:00007FF65FA360F0 ; DATA XREF: .rdata:off_7FF65FA736C0o ...
.text:00007FF65FA360F0
.text:00007FF65FA360F0 Dest = byte ptr -278h
.text:00007FF65FA360F0 var_178 = dword ptr -178h
.text:00007FF65FA360F0 var_174 = byte ptr -174h
.text:00007FF65FA360F0 var_168 = byte ptr -168h
.text:00007FF65FA360F0 var_58 = byte ptr -58h
.text:00007FF65FA360F0 var_38 = qword ptr -38h
.text:00007FF65FA360F0 var_28 = byte ptr -28h
.text:00007FF65FA360F0
.text:00007FF65FA360F0 mov r11, rsp
.text:00007FF65FA360F3 mov [r11+18h], rbx
.text:00007FF65FA360F7 mov [r11+20h], rbp
.text:00007FF65FA360FB push rsi
.text:00007FF65FA360FC push rdi
.text:00007FF65FA360FD push r12
.text:00007FF65FA360FF push r14
.text:00007FF65FA36101 push r15
.text:00007FF65FA36103 sub rsp, 270h
.text:00007FF65FA3610A mov rax, cs:__security_cookie
.text:00007FF65FA36111 xor rax, rsp
.text:00007FF65FA36114 mov [rsp+298h+var_38], rax
.text:00007FF65FA3611C movdqa xmm0, cs:xmmword_7FF65FA74040
.text:00007FF65FA36124 mov rbx, rdx
.text:00007FF65FA36127 mov rbp, rcx
.text:00007FF65FA3612A mov dword ptr [r11-48h], 8090207h
.text:00007FF65FA36132 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA36135 mov dword ptr [r11-44h], 1040200h
.text:00007FF65FA3613D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA36143 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA36147 mov word ptr [r11-40h], 103h
.text:00007FF65FA3614E mov dword ptr [r11-68h], 64h
.text:00007FF65FA36156 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3615B call cs:WaitForSingleObject
.text:00007FF65FA36161 test eax, eax
.text:00007FF65FA36163 jnz loc_7FF65FA3635C
.text:00007FF65FA36169 xor r15d, r15d
.text:00007FF65FA3616C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA36173
.text:00007FF65FA36173 loc_7FF65FA36173: ; CODE XREF: sub_7FF65FA360F0+253j
.text:00007FF65FA36173 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA36177 test ecx, ecx
.text:00007FF65FA36179 jz loc_7FF65FA36305
.text:00007FF65FA3617F sub ecx, 1
.text:00007FF65FA36182 jz loc_7FF65FA362C9
.text:00007FF65FA36188 sub ecx, 1
.text:00007FF65FA3618B jz loc_7FF65FA362A7
.text:00007FF65FA36191 cmp ecx, 1
.text:00007FF65FA36194 jz short loc_7FF65FA361A8
.text:00007FF65FA36196 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3619D call cs:SetEvent
.text:00007FF65FA361A3 jmp loc_7FF65FA36334
.text:00007FF65FA361A8 ; ---------------------------------------------------------------------------
.text:00007FF65FA361A8
.text:00007FF65FA361A8 loc_7FF65FA361A8: ; CODE XREF: sub_7FF65FA360F0+A4j
.text:00007FF65FA361A8 mov edi, [rbx+11h]
.text:00007FF65FA361AB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA361AF mov esi, [rbx+15h]
.text:00007FF65FA361B2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA361B9 test rdx, rdx
.text:00007FF65FA361BC jz short loc_7FF65FA361F7
.text:00007FF65FA361BE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA361C2
.text:00007FF65FA361C2 loc_7FF65FA361C2: ; CODE XREF: sub_7FF65FA360F0+D9j
.text:00007FF65FA361C2 inc rax
.text:00007FF65FA361C5 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA361C9 jnz short loc_7FF65FA361C2
.text:00007FF65FA361CB cmp rax, 0FFh
.text:00007FF65FA361D1 jbe short loc_7FF65FA361DB
.text:00007FF65FA361D3 mov r8d, 0FFh
.text:00007FF65FA361D9 jmp short loc_7FF65FA361ED
.text:00007FF65FA361DB ; ---------------------------------------------------------------------------
.text:00007FF65FA361DB
.text:00007FF65FA361DB loc_7FF65FA361DB: ; CODE XREF: sub_7FF65FA360F0+E1j
.text:00007FF65FA361DB or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA361DF nop
.text:00007FF65FA361E0
.text:00007FF65FA361E0 loc_7FF65FA361E0: ; CODE XREF: sub_7FF65FA360F0+F8j
.text:00007FF65FA361E0 inc r8
.text:00007FF65FA361E3 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA361E8 jnz short loc_7FF65FA361E0
.text:00007FF65FA361EA inc r8 ; Count
.text:00007FF65FA361ED
.text:00007FF65FA361ED loc_7FF65FA361ED: ; CODE XREF: sub_7FF65FA360F0+E9j
.text:00007FF65FA361ED lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA361F2 call strncpy
.text:00007FF65FA361F7
.text:00007FF65FA361F7 loc_7FF65FA361F7: ; CODE XREF: sub_7FF65FA360F0+CCj
.text:00007FF65FA361F7 mov [rsp+298h+var_178], edi
.text:00007FF65FA361FE lea rdx, [rsp+298h+var_168]
.text:00007FF65FA36206 mov [rsp+298h+var_174], sil
.text:00007FF65FA3620E lea rax, [rsp+298h+Dest]
.text:00007FF65FA36213 mov ecx, 2
.text:00007FF65FA36218 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA36220
.text:00007FF65FA36220 loc_7FF65FA36220: ; CODE XREF: sub_7FF65FA360F0+181j
.text:00007FF65FA36220 lea rdx, [rdx+80h]
.text:00007FF65FA36227 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3622A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3622E lea rax, [rax+80h]
.text:00007FF65FA36235 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA36239 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3623D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA36241 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA36245 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA36249 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3624D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA36251 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA36255 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA36259 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3625D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA36261 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA36265 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA36269 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3626D sub rcx, 1
.text:00007FF65FA36271 jnz short loc_7FF65FA36220
.text:00007FF65FA36273 mov rcx, [rax]
.text:00007FF65FA36276 mov [rdx], rcx
.text:00007FF65FA36279 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA36281 mov rcx, rbp
.text:00007FF65FA36284 call sub_7FF65FA33840
.text:00007FF65FA36289 test al, al
.text:00007FF65FA3628B jz loc_7FF65FA3634B
.text:00007FF65FA36291 mov byte ptr [rbx+10h], 1
.text:00007FF65FA36295 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3629C call cs:SetEvent
.text:00007FF65FA362A2 jmp loc_7FF65FA36334
.text:00007FF65FA362A7 ; ---------------------------------------------------------------------------
.text:00007FF65FA362A7
.text:00007FF65FA362A7 loc_7FF65FA362A7: ; CODE XREF: sub_7FF65FA360F0+9Bj
.text:00007FF65FA362A7 mov eax, [rbp+108h]
.text:00007FF65FA362AD mov [rbx+10h], eax
.text:00007FF65FA362B0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA362B7 mov [rbx+14h], eax
.text:00007FF65FA362BA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA362C1 call cs:SetEvent
.text:00007FF65FA362C7 jmp short loc_7FF65FA36334
.text:00007FF65FA362C9 ; ---------------------------------------------------------------------------
.text:00007FF65FA362C9
.text:00007FF65FA362C9 loc_7FF65FA362C9: ; CODE XREF: sub_7FF65FA360F0+92j
.text:00007FF65FA362C9 lea rdx, [rbp+8] ; Src
.text:00007FF65FA362CD or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA362D1
.text:00007FF65FA362D1 loc_7FF65FA362D1: ; CODE XREF: sub_7FF65FA360F0+1E8j
.text:00007FF65FA362D1 inc rax
.text:00007FF65FA362D4 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA362D8 jnz short loc_7FF65FA362D1
.text:00007FF65FA362DA cmp eax, 0FFh
.text:00007FF65FA362DF jle short loc_7FF65FA362E8
.text:00007FF65FA362E1 mov eax, 100h
.text:00007FF65FA362E6 jmp short loc_7FF65FA362EA
.text:00007FF65FA362E8 ; ---------------------------------------------------------------------------
.text:00007FF65FA362E8
.text:00007FF65FA362E8 loc_7FF65FA362E8: ; CODE XREF: sub_7FF65FA360F0+1EFj
.text:00007FF65FA362E8 inc eax
.text:00007FF65FA362EA
.text:00007FF65FA362EA loc_7FF65FA362EA: ; CODE XREF: sub_7FF65FA360F0+1F6j
.text:00007FF65FA362EA movsxd r8, eax ; Size
.text:00007FF65FA362ED lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA362F1 call memmove
.text:00007FF65FA362F6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA362FD call cs:SetEvent
.text:00007FF65FA36303 jmp short loc_7FF65FA36334
.text:00007FF65FA36305 ; ---------------------------------------------------------------------------
.text:00007FF65FA36305
.text:00007FF65FA36305 loc_7FF65FA36305: ; CODE XREF: sub_7FF65FA360F0+89j
.text:00007FF65FA36305 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3630E mov rcx, rbp
.text:00007FF65FA36311 mov rdx, [r12+rdx*8]
.text:00007FF65FA36315 call sub_7FF65FA33840
.text:00007FF65FA3631A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36321 test al, al
.text:00007FF65FA36323 jz short loc_7FF65FA36356
.text:00007FF65FA36325 call cs:SetEvent
.text:00007FF65FA3632B inc r15
.text:00007FF65FA3632E cmp r15, 1Ah
.text:00007FF65FA36332 jge short loc_7FF65FA3638A
.text:00007FF65FA36334
.text:00007FF65FA36334 loc_7FF65FA36334: ; CODE XREF: sub_7FF65FA360F0+B3j
.text:00007FF65FA36334 ; sub_7FF65FA360F0+1B2j ...
.text:00007FF65FA36334 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA36338 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3633B call cs:WaitForSingleObject
.text:00007FF65FA36341 test eax, eax
.text:00007FF65FA36343 jz loc_7FF65FA36173
.text:00007FF65FA36349 jmp short loc_7FF65FA3635C
.text:00007FF65FA3634B ; ---------------------------------------------------------------------------
.text:00007FF65FA3634B
.text:00007FF65FA3634B loc_7FF65FA3634B: ; CODE XREF: sub_7FF65FA360F0+19Bj
.text:00007FF65FA3634B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3634F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36356
.text:00007FF65FA36356 loc_7FF65FA36356: ; CODE XREF: sub_7FF65FA360F0+233j
.text:00007FF65FA36356 call cs:SetEvent
.text:00007FF65FA3635C
.text:00007FF65FA3635C loc_7FF65FA3635C: ; CODE XREF: sub_7FF65FA360F0+73j
.text:00007FF65FA3635C ; sub_7FF65FA360F0+259j
.text:00007FF65FA3635C xor al, al
.text:00007FF65FA3635E
.text:00007FF65FA3635E loc_7FF65FA3635E: ; CODE XREF: sub_7FF65FA360F0+29Cj
.text:00007FF65FA3635E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA36366 xor rcx, rsp ; StackCookie
.text:00007FF65FA36369 call __security_check_cookie
.text:00007FF65FA3636E lea r11, [rsp+298h+var_28]
.text:00007FF65FA36376 mov rbx, [r11+40h]
.text:00007FF65FA3637A mov rbp, [r11+48h]
.text:00007FF65FA3637E mov rsp, r11
.text:00007FF65FA36381 pop r15
.text:00007FF65FA36383 pop r14
.text:00007FF65FA36385 pop r12
.text:00007FF65FA36387 pop rdi
.text:00007FF65FA36388 pop rsi
.text:00007FF65FA36389 retn
.text:00007FF65FA3638A ; ---------------------------------------------------------------------------
.text:00007FF65FA3638A
.text:00007FF65FA3638A loc_7FF65FA3638A: ; CODE XREF: sub_7FF65FA360F0+242j
.text:00007FF65FA3638A mov al, 1
.text:00007FF65FA3638C jmp short loc_7FF65FA3635E
.text:00007FF65FA3638C sub_7FF65FA360F0 endp
.text:00007FF65FA3638C
.text:00007FF65FA3638C ; ---------------------------------------------------------------------------
.text:00007FF65FA3638E algn_7FF65FA3638E: ; DATA XREF: .pdata:00007FF65FA7D414o
.text:00007FF65FA3638E align 10h
.text:00007FF65FA36390
.text:00007FF65FA36390 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA36390
.text:00007FF65FA36390
.text:00007FF65FA36390 sub_7FF65FA36390 proc near ; CODE XREF: sub_7FF65FA32FE0+69p
.text:00007FF65FA36390 ; DATA XREF: .rdata:off_7FF65FA736D0o ...
.text:00007FF65FA36390
.text:00007FF65FA36390 Dest = byte ptr -278h
.text:00007FF65FA36390 var_178 = dword ptr -178h
.text:00007FF65FA36390 var_174 = byte ptr -174h
.text:00007FF65FA36390 var_168 = byte ptr -168h
.text:00007FF65FA36390 var_58 = byte ptr -58h
.text:00007FF65FA36390 var_38 = qword ptr -38h
.text:00007FF65FA36390 var_28 = byte ptr -28h
.text:00007FF65FA36390
.text:00007FF65FA36390 mov r11, rsp
.text:00007FF65FA36393 mov [r11+18h], rbx
.text:00007FF65FA36397 mov [r11+20h], rbp
.text:00007FF65FA3639B push rsi
.text:00007FF65FA3639C push rdi
.text:00007FF65FA3639D push r12
.text:00007FF65FA3639F push r14
.text:00007FF65FA363A1 push r15
.text:00007FF65FA363A3 sub rsp, 270h
.text:00007FF65FA363AA mov rax, cs:__security_cookie
.text:00007FF65FA363B1 xor rax, rsp
.text:00007FF65FA363B4 mov [rsp+298h+var_38], rax
.text:00007FF65FA363BC movdqa xmm0, cs:xmmword_7FF65FA74020
.text:00007FF65FA363C4 mov rbx, rdx
.text:00007FF65FA363C7 mov rbp, rcx
.text:00007FF65FA363CA mov dword ptr [r11-48h], 3000606h
.text:00007FF65FA363D2 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA363D5 mov dword ptr [r11-44h], 9080306h
.text:00007FF65FA363DD movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA363E3 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA363E7 mov word ptr [r11-40h], 100h
.text:00007FF65FA363EE mov dword ptr [r11-68h], 64h
.text:00007FF65FA363F6 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA363FB call cs:WaitForSingleObject
.text:00007FF65FA36401 test eax, eax
.text:00007FF65FA36403 jnz loc_7FF65FA365FC
.text:00007FF65FA36409 xor r15d, r15d
.text:00007FF65FA3640C lea r12, qword_7FF65FA7CC80
.text:00007FF65FA36413
.text:00007FF65FA36413 loc_7FF65FA36413: ; CODE XREF: sub_7FF65FA36390+253j
.text:00007FF65FA36413 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA36417 test ecx, ecx
.text:00007FF65FA36419 jz loc_7FF65FA365A5
.text:00007FF65FA3641F sub ecx, 1
.text:00007FF65FA36422 jz loc_7FF65FA36569
.text:00007FF65FA36428 sub ecx, 1
.text:00007FF65FA3642B jz loc_7FF65FA36547
.text:00007FF65FA36431 cmp ecx, 1
.text:00007FF65FA36434 jz short loc_7FF65FA36448
.text:00007FF65FA36436 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3643D call cs:SetEvent
.text:00007FF65FA36443 jmp loc_7FF65FA365D4
.text:00007FF65FA36448 ; ---------------------------------------------------------------------------
.text:00007FF65FA36448
.text:00007FF65FA36448 loc_7FF65FA36448: ; CODE XREF: sub_7FF65FA36390+A4j
.text:00007FF65FA36448 mov edi, [rbx+11h]
.text:00007FF65FA3644B lea rdx, [rbx+19h] ; Source
.text:00007FF65FA3644F mov esi, [rbx+15h]
.text:00007FF65FA36452 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA36459 test rdx, rdx
.text:00007FF65FA3645C jz short loc_7FF65FA36497
.text:00007FF65FA3645E or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA36462
.text:00007FF65FA36462 loc_7FF65FA36462: ; CODE XREF: sub_7FF65FA36390+D9j
.text:00007FF65FA36462 inc rax
.text:00007FF65FA36465 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA36469 jnz short loc_7FF65FA36462
.text:00007FF65FA3646B cmp rax, 0FFh
.text:00007FF65FA36471 jbe short loc_7FF65FA3647B
.text:00007FF65FA36473 mov r8d, 0FFh
.text:00007FF65FA36479 jmp short loc_7FF65FA3648D
.text:00007FF65FA3647B ; ---------------------------------------------------------------------------
.text:00007FF65FA3647B
.text:00007FF65FA3647B loc_7FF65FA3647B: ; CODE XREF: sub_7FF65FA36390+E1j
.text:00007FF65FA3647B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3647F nop
.text:00007FF65FA36480
.text:00007FF65FA36480 loc_7FF65FA36480: ; CODE XREF: sub_7FF65FA36390+F8j
.text:00007FF65FA36480 inc r8
.text:00007FF65FA36483 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA36488 jnz short loc_7FF65FA36480
.text:00007FF65FA3648A inc r8 ; Count
.text:00007FF65FA3648D
.text:00007FF65FA3648D loc_7FF65FA3648D: ; CODE XREF: sub_7FF65FA36390+E9j
.text:00007FF65FA3648D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA36492 call strncpy
.text:00007FF65FA36497
.text:00007FF65FA36497 loc_7FF65FA36497: ; CODE XREF: sub_7FF65FA36390+CCj
.text:00007FF65FA36497 mov [rsp+298h+var_178], edi
.text:00007FF65FA3649E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA364A6 mov [rsp+298h+var_174], sil
.text:00007FF65FA364AE lea rax, [rsp+298h+Dest]
.text:00007FF65FA364B3 mov ecx, 2
.text:00007FF65FA364B8 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA364C0
.text:00007FF65FA364C0 loc_7FF65FA364C0: ; CODE XREF: sub_7FF65FA36390+181j
.text:00007FF65FA364C0 lea rdx, [rdx+80h]
.text:00007FF65FA364C7 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA364CA movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA364CE lea rax, [rax+80h]
.text:00007FF65FA364D5 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA364D9 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA364DD movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA364E1 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA364E5 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA364E9 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA364ED movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA364F1 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA364F5 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA364F9 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA364FD movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA36501 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA36505 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA36509 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA3650D sub rcx, 1
.text:00007FF65FA36511 jnz short loc_7FF65FA364C0
.text:00007FF65FA36513 mov rcx, [rax]
.text:00007FF65FA36516 mov [rdx], rcx
.text:00007FF65FA36519 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA36521 mov rcx, rbp
.text:00007FF65FA36524 call sub_7FF65FA33840
.text:00007FF65FA36529 test al, al
.text:00007FF65FA3652B jz loc_7FF65FA365EB
.text:00007FF65FA36531 mov byte ptr [rbx+10h], 1
.text:00007FF65FA36535 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3653C call cs:SetEvent
.text:00007FF65FA36542 jmp loc_7FF65FA365D4
.text:00007FF65FA36547 ; ---------------------------------------------------------------------------
.text:00007FF65FA36547
.text:00007FF65FA36547 loc_7FF65FA36547: ; CODE XREF: sub_7FF65FA36390+9Bj
.text:00007FF65FA36547 mov eax, [rbp+108h]
.text:00007FF65FA3654D mov [rbx+10h], eax
.text:00007FF65FA36550 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA36557 mov [rbx+14h], eax
.text:00007FF65FA3655A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36561 call cs:SetEvent
.text:00007FF65FA36567 jmp short loc_7FF65FA365D4
.text:00007FF65FA36569 ; ---------------------------------------------------------------------------
.text:00007FF65FA36569
.text:00007FF65FA36569 loc_7FF65FA36569: ; CODE XREF: sub_7FF65FA36390+92j
.text:00007FF65FA36569 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3656D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA36571
.text:00007FF65FA36571 loc_7FF65FA36571: ; CODE XREF: sub_7FF65FA36390+1E8j
.text:00007FF65FA36571 inc rax
.text:00007FF65FA36574 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA36578 jnz short loc_7FF65FA36571
.text:00007FF65FA3657A cmp eax, 0FFh
.text:00007FF65FA3657F jle short loc_7FF65FA36588
.text:00007FF65FA36581 mov eax, 100h
.text:00007FF65FA36586 jmp short loc_7FF65FA3658A
.text:00007FF65FA36588 ; ---------------------------------------------------------------------------
.text:00007FF65FA36588
.text:00007FF65FA36588 loc_7FF65FA36588: ; CODE XREF: sub_7FF65FA36390+1EFj
.text:00007FF65FA36588 inc eax
.text:00007FF65FA3658A
.text:00007FF65FA3658A loc_7FF65FA3658A: ; CODE XREF: sub_7FF65FA36390+1F6j
.text:00007FF65FA3658A movsxd r8, eax ; Size
.text:00007FF65FA3658D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA36591 call memmove
.text:00007FF65FA36596 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3659D call cs:SetEvent
.text:00007FF65FA365A3 jmp short loc_7FF65FA365D4
.text:00007FF65FA365A5 ; ---------------------------------------------------------------------------
.text:00007FF65FA365A5
.text:00007FF65FA365A5 loc_7FF65FA365A5: ; CODE XREF: sub_7FF65FA36390+89j
.text:00007FF65FA365A5 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA365AE mov rcx, rbp
.text:00007FF65FA365B1 mov rdx, [r12+rdx*8]
.text:00007FF65FA365B5 call sub_7FF65FA33840
.text:00007FF65FA365BA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA365C1 test al, al
.text:00007FF65FA365C3 jz short loc_7FF65FA365F6
.text:00007FF65FA365C5 call cs:SetEvent
.text:00007FF65FA365CB inc r15
.text:00007FF65FA365CE cmp r15, 1Ah
.text:00007FF65FA365D2 jge short loc_7FF65FA3662A
.text:00007FF65FA365D4
.text:00007FF65FA365D4 loc_7FF65FA365D4: ; CODE XREF: sub_7FF65FA36390+B3j
.text:00007FF65FA365D4 ; sub_7FF65FA36390+1B2j ...
.text:00007FF65FA365D4 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA365D8 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA365DB call cs:WaitForSingleObject
.text:00007FF65FA365E1 test eax, eax
.text:00007FF65FA365E3 jz loc_7FF65FA36413
.text:00007FF65FA365E9 jmp short loc_7FF65FA365FC
.text:00007FF65FA365EB ; ---------------------------------------------------------------------------
.text:00007FF65FA365EB
.text:00007FF65FA365EB loc_7FF65FA365EB: ; CODE XREF: sub_7FF65FA36390+19Bj
.text:00007FF65FA365EB mov byte ptr [rbx+10h], 0
.text:00007FF65FA365EF mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA365F6
.text:00007FF65FA365F6 loc_7FF65FA365F6: ; CODE XREF: sub_7FF65FA36390+233j
.text:00007FF65FA365F6 call cs:SetEvent
.text:00007FF65FA365FC
.text:00007FF65FA365FC loc_7FF65FA365FC: ; CODE XREF: sub_7FF65FA36390+73j
.text:00007FF65FA365FC ; sub_7FF65FA36390+259j
.text:00007FF65FA365FC xor al, al
.text:00007FF65FA365FE
.text:00007FF65FA365FE loc_7FF65FA365FE: ; CODE XREF: sub_7FF65FA36390+29Cj
.text:00007FF65FA365FE mov rcx, [rsp+298h+var_38]
.text:00007FF65FA36606 xor rcx, rsp ; StackCookie
.text:00007FF65FA36609 call __security_check_cookie
.text:00007FF65FA3660E lea r11, [rsp+298h+var_28]
.text:00007FF65FA36616 mov rbx, [r11+40h]
.text:00007FF65FA3661A mov rbp, [r11+48h]
.text:00007FF65FA3661E mov rsp, r11
.text:00007FF65FA36621 pop r15
.text:00007FF65FA36623 pop r14
.text:00007FF65FA36625 pop r12
.text:00007FF65FA36627 pop rdi
.text:00007FF65FA36628 pop rsi
.text:00007FF65FA36629 retn
.text:00007FF65FA3662A ; ---------------------------------------------------------------------------
.text:00007FF65FA3662A
.text:00007FF65FA3662A loc_7FF65FA3662A: ; CODE XREF: sub_7FF65FA36390+242j
.text:00007FF65FA3662A mov al, 1
.text:00007FF65FA3662C jmp short loc_7FF65FA365FE
.text:00007FF65FA3662C sub_7FF65FA36390 endp
.text:00007FF65FA3662C
.text:00007FF65FA3662C ; ---------------------------------------------------------------------------
.text:00007FF65FA3662E algn_7FF65FA3662E: ; DATA XREF: .pdata:00007FF65FA7D420o
.text:00007FF65FA3662E align 10h
.text:00007FF65FA36630
.text:00007FF65FA36630 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA36630
.text:00007FF65FA36630
.text:00007FF65FA36630 sub_7FF65FA36630 proc near ; CODE XREF: sub_7FF65FA33080+69p
.text:00007FF65FA36630 ; DATA XREF: .rdata:off_7FF65FA73680o ...
.text:00007FF65FA36630
.text:00007FF65FA36630 Dest = byte ptr -278h
.text:00007FF65FA36630 var_178 = dword ptr -178h
.text:00007FF65FA36630 var_174 = byte ptr -174h
.text:00007FF65FA36630 var_168 = byte ptr -168h
.text:00007FF65FA36630 var_58 = byte ptr -58h
.text:00007FF65FA36630 var_38 = qword ptr -38h
.text:00007FF65FA36630 var_28 = byte ptr -28h
.text:00007FF65FA36630
.text:00007FF65FA36630 mov r11, rsp
.text:00007FF65FA36633 mov [r11+18h], rbx
.text:00007FF65FA36637 mov [r11+20h], rbp
.text:00007FF65FA3663B push rsi
.text:00007FF65FA3663C push rdi
.text:00007FF65FA3663D push r12
.text:00007FF65FA3663F push r14
.text:00007FF65FA36641 push r15
.text:00007FF65FA36643 sub rsp, 270h
.text:00007FF65FA3664A mov rax, cs:__security_cookie
.text:00007FF65FA36651 xor rax, rsp
.text:00007FF65FA36654 mov [rsp+298h+var_38], rax
.text:00007FF65FA3665C movdqa xmm0, cs:xmmword_7FF65FA74090
.text:00007FF65FA36664 mov rbx, rdx
.text:00007FF65FA36667 mov rbp, rcx
.text:00007FF65FA3666A mov dword ptr [r11-48h], 0D0C0A06h
.text:00007FF65FA36672 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA36675 mov dword ptr [r11-44h], 9040B01h
.text:00007FF65FA3667D movdqu xmmword ptr [r11-58h], xmm0
.text:00007FF65FA36683 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA36687 mov word ptr [r11-40h], 10Ch
.text:00007FF65FA3668E mov dword ptr [r11-68h], 64h
.text:00007FF65FA36696 mov byte ptr [r11-64h], 0Ah
.text:00007FF65FA3669B call cs:WaitForSingleObject
.text:00007FF65FA366A1 test eax, eax
.text:00007FF65FA366A3 jnz loc_7FF65FA3689C
.text:00007FF65FA366A9 xor r15d, r15d
.text:00007FF65FA366AC lea r12, qword_7FF65FA7CC80
.text:00007FF65FA366B3
.text:00007FF65FA366B3 loc_7FF65FA366B3: ; CODE XREF: sub_7FF65FA36630+253j
.text:00007FF65FA366B3 movzx ecx, byte ptr [rbx+10h]
.text:00007FF65FA366B7 test ecx, ecx
.text:00007FF65FA366B9 jz loc_7FF65FA36845
.text:00007FF65FA366BF sub ecx, 1
.text:00007FF65FA366C2 jz loc_7FF65FA36809
.text:00007FF65FA366C8 sub ecx, 1
.text:00007FF65FA366CB jz loc_7FF65FA367E7
.text:00007FF65FA366D1 cmp ecx, 1
.text:00007FF65FA366D4 jz short loc_7FF65FA366E8
.text:00007FF65FA366D6 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA366DD call cs:SetEvent
.text:00007FF65FA366E3 jmp loc_7FF65FA36874
.text:00007FF65FA366E8 ; ---------------------------------------------------------------------------
.text:00007FF65FA366E8
.text:00007FF65FA366E8 loc_7FF65FA366E8: ; CODE XREF: sub_7FF65FA36630+A4j
.text:00007FF65FA366E8 mov edi, [rbx+11h]
.text:00007FF65FA366EB lea rdx, [rbx+19h] ; Source
.text:00007FF65FA366EF mov esi, [rbx+15h]
.text:00007FF65FA366F2 mov byte ptr [rbx+10Fh], 0
.text:00007FF65FA366F9 test rdx, rdx
.text:00007FF65FA366FC jz short loc_7FF65FA36737
.text:00007FF65FA366FE or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA36702
.text:00007FF65FA36702 loc_7FF65FA36702: ; CODE XREF: sub_7FF65FA36630+D9j
.text:00007FF65FA36702 inc rax
.text:00007FF65FA36705 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA36709 jnz short loc_7FF65FA36702
.text:00007FF65FA3670B cmp rax, 0FFh
.text:00007FF65FA36711 jbe short loc_7FF65FA3671B
.text:00007FF65FA36713 mov r8d, 0FFh
.text:00007FF65FA36719 jmp short loc_7FF65FA3672D
.text:00007FF65FA3671B ; ---------------------------------------------------------------------------
.text:00007FF65FA3671B
.text:00007FF65FA3671B loc_7FF65FA3671B: ; CODE XREF: sub_7FF65FA36630+E1j
.text:00007FF65FA3671B or r8, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA3671F nop
.text:00007FF65FA36720
.text:00007FF65FA36720 loc_7FF65FA36720: ; CODE XREF: sub_7FF65FA36630+F8j
.text:00007FF65FA36720 inc r8
.text:00007FF65FA36723 cmp byte ptr [rdx+r8], 0
.text:00007FF65FA36728 jnz short loc_7FF65FA36720
.text:00007FF65FA3672A inc r8 ; Count
.text:00007FF65FA3672D
.text:00007FF65FA3672D loc_7FF65FA3672D: ; CODE XREF: sub_7FF65FA36630+E9j
.text:00007FF65FA3672D lea rcx, [rsp+298h+Dest] ; Dest
.text:00007FF65FA36732 call strncpy
.text:00007FF65FA36737
.text:00007FF65FA36737 loc_7FF65FA36737: ; CODE XREF: sub_7FF65FA36630+CCj
.text:00007FF65FA36737 mov [rsp+298h+var_178], edi
.text:00007FF65FA3673E lea rdx, [rsp+298h+var_168]
.text:00007FF65FA36746 mov [rsp+298h+var_174], sil
.text:00007FF65FA3674E lea rax, [rsp+298h+Dest]
.text:00007FF65FA36753 mov ecx, 2
.text:00007FF65FA36758 nop dword ptr [rax+rax+00000000h]
.text:00007FF65FA36760
.text:00007FF65FA36760 loc_7FF65FA36760: ; CODE XREF: sub_7FF65FA36630+181j
.text:00007FF65FA36760 lea rdx, [rdx+80h]
.text:00007FF65FA36767 movups xmm0, xmmword ptr [rax]
.text:00007FF65FA3676A movups xmm1, xmmword ptr [rax+10h]
.text:00007FF65FA3676E lea rax, [rax+80h]
.text:00007FF65FA36775 movups xmmword ptr [rdx-80h], xmm0
.text:00007FF65FA36779 movups xmm0, xmmword ptr [rax-60h]
.text:00007FF65FA3677D movups xmmword ptr [rdx-70h], xmm1
.text:00007FF65FA36781 movups xmm1, xmmword ptr [rax-50h]
.text:00007FF65FA36785 movups xmmword ptr [rdx-60h], xmm0
.text:00007FF65FA36789 movups xmm0, xmmword ptr [rax-40h]
.text:00007FF65FA3678D movups xmmword ptr [rdx-50h], xmm1
.text:00007FF65FA36791 movups xmm1, xmmword ptr [rax-30h]
.text:00007FF65FA36795 movups xmmword ptr [rdx-40h], xmm0
.text:00007FF65FA36799 movups xmm0, xmmword ptr [rax-20h]
.text:00007FF65FA3679D movups xmmword ptr [rdx-30h], xmm1
.text:00007FF65FA367A1 movups xmm1, xmmword ptr [rax-10h]
.text:00007FF65FA367A5 movups xmmword ptr [rdx-20h], xmm0
.text:00007FF65FA367A9 movups xmmword ptr [rdx-10h], xmm1
.text:00007FF65FA367AD sub rcx, 1
.text:00007FF65FA367B1 jnz short loc_7FF65FA36760
.text:00007FF65FA367B3 mov rcx, [rax]
.text:00007FF65FA367B6 mov [rdx], rcx
.text:00007FF65FA367B9 lea rdx, [rsp+298h+var_168]
.text:00007FF65FA367C1 mov rcx, rbp
.text:00007FF65FA367C4 call sub_7FF65FA33840
.text:00007FF65FA367C9 test al, al
.text:00007FF65FA367CB jz loc_7FF65FA3688B
.text:00007FF65FA367D1 mov byte ptr [rbx+10h], 1
.text:00007FF65FA367D5 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA367DC call cs:SetEvent
.text:00007FF65FA367E2 jmp loc_7FF65FA36874
.text:00007FF65FA367E7 ; ---------------------------------------------------------------------------
.text:00007FF65FA367E7
.text:00007FF65FA367E7 loc_7FF65FA367E7: ; CODE XREF: sub_7FF65FA36630+9Bj
.text:00007FF65FA367E7 mov eax, [rbp+108h]
.text:00007FF65FA367ED mov [rbx+10h], eax
.text:00007FF65FA367F0 movzx eax, byte ptr [rbp+10Ch]
.text:00007FF65FA367F7 mov [rbx+14h], eax
.text:00007FF65FA367FA mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36801 call cs:SetEvent
.text:00007FF65FA36807 jmp short loc_7FF65FA36874
.text:00007FF65FA36809 ; ---------------------------------------------------------------------------
.text:00007FF65FA36809
.text:00007FF65FA36809 loc_7FF65FA36809: ; CODE XREF: sub_7FF65FA36630+92j
.text:00007FF65FA36809 lea rdx, [rbp+8] ; Src
.text:00007FF65FA3680D or rax, 0FFFFFFFFFFFFFFFFh
.text:00007FF65FA36811
.text:00007FF65FA36811 loc_7FF65FA36811: ; CODE XREF: sub_7FF65FA36630+1E8j
.text:00007FF65FA36811 inc rax
.text:00007FF65FA36814 cmp byte ptr [rdx+rax], 0
.text:00007FF65FA36818 jnz short loc_7FF65FA36811
.text:00007FF65FA3681A cmp eax, 0FFh
.text:00007FF65FA3681F jle short loc_7FF65FA36828
.text:00007FF65FA36821 mov eax, 100h
.text:00007FF65FA36826 jmp short loc_7FF65FA3682A
.text:00007FF65FA36828 ; ---------------------------------------------------------------------------
.text:00007FF65FA36828
.text:00007FF65FA36828 loc_7FF65FA36828: ; CODE XREF: sub_7FF65FA36630+1EFj
.text:00007FF65FA36828 inc eax
.text:00007FF65FA3682A
.text:00007FF65FA3682A loc_7FF65FA3682A: ; CODE XREF: sub_7FF65FA36630+1F6j
.text:00007FF65FA3682A movsxd r8, eax ; Size
.text:00007FF65FA3682D lea rcx, [rbx+10h] ; Dst
.text:00007FF65FA36831 call memmove
.text:00007FF65FA36836 mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA3683D call cs:SetEvent
.text:00007FF65FA36843 jmp short loc_7FF65FA36874
.text:00007FF65FA36845 ; ---------------------------------------------------------------------------
.text:00007FF65FA36845
.text:00007FF65FA36845 loc_7FF65FA36845: ; CODE XREF: sub_7FF65FA36630+89j
.text:00007FF65FA36845 movsx rdx, [rsp+r15+298h+var_58]
.text:00007FF65FA3684E mov rcx, rbp
.text:00007FF65FA36851 mov rdx, [r12+rdx*8]
.text:00007FF65FA36855 call sub_7FF65FA33840
.text:00007FF65FA3685A mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36861 test al, al
.text:00007FF65FA36863 jz short loc_7FF65FA36896
.text:00007FF65FA36865 call cs:SetEvent
.text:00007FF65FA3686B inc r15
.text:00007FF65FA3686E cmp r15, 1Ah
.text:00007FF65FA36872 jge short loc_7FF65FA368CA
.text:00007FF65FA36874
.text:00007FF65FA36874 loc_7FF65FA36874: ; CODE XREF: sub_7FF65FA36630+B3j
.text:00007FF65FA36874 ; sub_7FF65FA36630+1B2j ...
.text:00007FF65FA36874 mov rcx, [rbx+8] ; hHandle
.text:00007FF65FA36878 or edx, 0FFFFFFFFh ; dwMilliseconds
.text:00007FF65FA3687B call cs:WaitForSingleObject
.text:00007FF65FA36881 test eax, eax
.text:00007FF65FA36883 jz loc_7FF65FA366B3
.text:00007FF65FA36889 jmp short loc_7FF65FA3689C
.text:00007FF65FA3688B ; ---------------------------------------------------------------------------
.text:00007FF65FA3688B
.text:00007FF65FA3688B loc_7FF65FA3688B: ; CODE XREF: sub_7FF65FA36630+19Bj
.text:00007FF65FA3688B mov byte ptr [rbx+10h], 0
.text:00007FF65FA3688F mov rcx, [rbx+110h] ; hEvent
.text:00007FF65FA36896
.text:00007FF65FA36896 loc_7FF65FA36896: ; CODE XREF: sub_7FF65FA36630+233j
.text:00007FF65FA36896 call cs:SetEvent
.text:00007FF65FA3689C
.text:00007FF65FA3689C loc_7FF65FA3689C: ; CODE XREF: sub_7FF65FA36630+73j
.text:00007FF65FA3689C ; sub_7FF65FA36630+259j
.text:00007FF65FA3689C xor al, al
.text:00007FF65FA3689E
.text:00007FF65FA3689E loc_7FF65FA3689E: ; CODE XREF: sub_7FF65FA36630+29Cj
.text:00007FF65FA3689E mov rcx, [rsp+298h+var_38]
.text:00007FF65FA368A6 xor rcx, rsp ; StackCookie
.text:00007FF65FA368A9 call __security_check_cookie
.text:00007FF65FA368AE lea r11, [rsp+298h+var_28]
.text:00007FF65FA368B6 mov rbx, [r11+40h]
.text:00007FF65FA368BA mov rbp, [r11+48h]
.text:00007FF65FA368BE mov rsp, r11
.text:00007FF65FA368C1 pop r15
.text:00007FF65FA368C3 pop r14
.text:00007FF65FA368C5 pop r12
.text:00007FF65FA368C7 pop rdi
.text:00007FF65FA368C8 pop rsi
.text:00007FF65FA368C9 retn
.text:00007FF65FA368CA ; ---------------------------------------------------------------------------
.text:00007FF65FA368CA
.text:00007FF65FA368CA loc_7FF65FA368CA: ; CODE XREF: sub_7FF65FA36630+242j
.text:00007FF65FA368CA mov al, 1
.text:00007FF65FA368CC jmp short loc_7FF65FA3689E
.text:00007FF65FA368CC sub_7FF65FA36630 endp
.text:00007FF65FA368CC
.text:00007FF65FA368CC ; ---------------------------------------------------------------------------
.text:00007FF65FA368CE algn_7FF65FA368CE: ; DATA XREF: .pdata:00007FF65FA7D42Co
.text:00007FF65FA368CE align 10h
.text:00007FF65FA368D0
"""
#coding: utf-8
u = """
.text:00007FF65FA32670 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32670
.text:00007FF65FA32670
.text:00007FF65FA32670 ; DWORD __stdcall StartAddress(LPVOID lpThreadParameter)
.text:00007FF65FA32670 StartAddress proc near ; DATA XREF: sub_7FF65FA33120+11o
.text:00007FF65FA32670 ; .pdata:00007FF65FA7D210o
.text:00007FF65FA32670
.text:00007FF65FA32670 var_138 = qword ptr -138h
.text:00007FF65FA32670 Dest = byte ptr -130h
.text:00007FF65FA32670 var_30 = dword ptr -30h
.text:00007FF65FA32670 var_2C = byte ptr -2Ch
.text:00007FF65FA32670 var_28 = word ptr -28h
.text:00007FF65FA32670 var_18 = qword ptr -18h
.text:00007FF65FA32670
.text:00007FF65FA32670 push rbx
.text:00007FF65FA32672 sub rsp, 150h
.text:00007FF65FA32679 mov rax, cs:__security_cookie
.text:00007FF65FA32680 xor rax, rsp
.text:00007FF65FA32683 mov [rsp+158h+var_18], rax
.text:00007FF65FA3268B mov rbx, rcx
.text:00007FF65FA3268E lea rdx, aXWing ; "X-wing"
.text:00007FF65FA32695 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA3269A mov r8d, 7 ; Count
.text:00007FF65FA326A0 call strncpy
.text:00007FF65FA326A5 lea rax, off_7FF65FA736D8
.text:00007FF65FA326AC mov [rsp+158h+var_30], 32h
.text:00007FF65FA326B7 mov [rsp+158h+var_138], rax
.text:00007FF65FA326BC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA326C1 mov eax, 0Fh
.text:00007FF65FA326C6 mov [rsp+158h+var_2C], 0Ah
.text:00007FF65FA326CE mov rdx, rbx
.text:00007FF65FA326D1 mov [rsp+158h+var_28], ax
.text:00007FF65FA326D9 call sub_7FF65FA33ED0
.text:00007FF65FA326DE test al, al
.text:00007FF65FA326E0 mov ecx, 29Ah
.text:00007FF65FA326E5 mov edx, 22Bh
.text:00007FF65FA326EA cmovnz ecx, edx
.text:00007FF65FA326ED mov eax, ecx
.text:00007FF65FA326EF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA326F7 xor rcx, rsp ; StackCookie
.text:00007FF65FA326FA call __security_check_cookie
.text:00007FF65FA326FF add rsp, 150h
.text:00007FF65FA32706 pop rbx
.text:00007FF65FA32707 retn
.text:00007FF65FA32707 StartAddress endp
.text:00007FF65FA32707
.text:00007FF65FA32707 ; ---------------------------------------------------------------------------
.text:00007FF65FA32708 algn_7FF65FA32708: ; DATA XREF: .pdata:00007FF65FA7D210o
.text:00007FF65FA32708 align 10h
.text:00007FF65FA32710
.text:00007FF65FA32710 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32710
.text:00007FF65FA32710
.text:00007FF65FA32710 ; DWORD __stdcall sub_7FF65FA32710(LPVOID lpThreadParameter)
.text:00007FF65FA32710 sub_7FF65FA32710 proc near ; DATA XREF: sub_7FF65FA33120+3Do
.text:00007FF65FA32710 ; .pdata:00007FF65FA7D21Co
.text:00007FF65FA32710
.text:00007FF65FA32710 var_138 = qword ptr -138h
.text:00007FF65FA32710 Dest = byte ptr -130h
.text:00007FF65FA32710 var_30 = dword ptr -30h
.text:00007FF65FA32710 var_2C = byte ptr -2Ch
.text:00007FF65FA32710 var_28 = word ptr -28h
.text:00007FF65FA32710 var_18 = qword ptr -18h
.text:00007FF65FA32710
.text:00007FF65FA32710 push rbx
.text:00007FF65FA32712 sub rsp, 150h
.text:00007FF65FA32719 mov rax, cs:__security_cookie
.text:00007FF65FA32720 xor rax, rsp
.text:00007FF65FA32723 mov [rsp+158h+var_18], rax
.text:00007FF65FA3272B mov rbx, rcx
.text:00007FF65FA3272E lea rdx, aArc170 ; "ARC-170"
.text:00007FF65FA32735 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA3273A mov r8d, 8 ; Count
.text:00007FF65FA32740 call strncpy
.text:00007FF65FA32745 lea rax, off_7FF65FA73648
.text:00007FF65FA3274C mov [rsp+158h+var_30], 1Eh
.text:00007FF65FA32757 mov [rsp+158h+var_138], rax
.text:00007FF65FA3275C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32761 mov eax, 1
.text:00007FF65FA32766 mov [rsp+158h+var_2C], 14h
.text:00007FF65FA3276E mov rdx, rbx
.text:00007FF65FA32771 mov [rsp+158h+var_28], ax
.text:00007FF65FA32779 call sub_7FF65FA33C30
.text:00007FF65FA3277E test al, al
.text:00007FF65FA32780 mov ecx, 29Ah
.text:00007FF65FA32785 mov edx, 22Bh
.text:00007FF65FA3278A cmovnz ecx, edx
.text:00007FF65FA3278D mov eax, ecx
.text:00007FF65FA3278F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32797 xor rcx, rsp ; StackCookie
.text:00007FF65FA3279A call __security_check_cookie
.text:00007FF65FA3279F add rsp, 150h
.text:00007FF65FA327A6 pop rbx
.text:00007FF65FA327A7 retn
.text:00007FF65FA327A7 sub_7FF65FA32710 endp
.text:00007FF65FA327A7
.text:00007FF65FA327A7 ; ---------------------------------------------------------------------------
.text:00007FF65FA327A8 algn_7FF65FA327A8: ; DATA XREF: .pdata:00007FF65FA7D21Co
.text:00007FF65FA327A8 align 10h
.text:00007FF65FA327B0
.text:00007FF65FA327B0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA327B0
.text:00007FF65FA327B0
.text:00007FF65FA327B0 ; DWORD __stdcall sub_7FF65FA327B0(LPVOID lpThreadParameter)
.text:00007FF65FA327B0 sub_7FF65FA327B0 proc near ; DATA XREF: sub_7FF65FA33120+61o
.text:00007FF65FA327B0 ; .pdata:00007FF65FA7D228o
.text:00007FF65FA327B0
.text:00007FF65FA327B0 var_138 = qword ptr -138h
.text:00007FF65FA327B0 Dest = byte ptr -130h
.text:00007FF65FA327B0 var_30 = dword ptr -30h
.text:00007FF65FA327B0 var_2C = byte ptr -2Ch
.text:00007FF65FA327B0 var_28 = word ptr -28h
.text:00007FF65FA327B0 var_18 = qword ptr -18h
.text:00007FF65FA327B0
.text:00007FF65FA327B0 push rbx
.text:00007FF65FA327B2 sub rsp, 150h
.text:00007FF65FA327B9 mov rax, cs:__security_cookie
.text:00007FF65FA327C0 xor rax, rsp
.text:00007FF65FA327C3 mov [rsp+158h+var_18], rax
.text:00007FF65FA327CB mov rbx, rcx
.text:00007FF65FA327CE lea rdx, aVcx100 ; "VCX-100"
.text:00007FF65FA327D5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA327DA mov r8d, 8 ; Count
.text:00007FF65FA327E0 call strncpy
.text:00007FF65FA327E5 lea rax, off_7FF65FA73698
.text:00007FF65FA327EC mov [rsp+158h+var_30], 0Ah
.text:00007FF65FA327F7 mov [rsp+158h+var_138], rax
.text:00007FF65FA327FC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32801 mov eax, 2
.text:00007FF65FA32806 mov [rsp+158h+var_2C], 3Ch
.text:00007FF65FA3280E mov rdx, rbx
.text:00007FF65FA32811 mov [rsp+158h+var_28], ax
.text:00007FF65FA32819 call sub_7FF65FA34170
.text:00007FF65FA3281E test al, al
.text:00007FF65FA32820 mov ecx, 29Ah
.text:00007FF65FA32825 mov edx, 22Bh
.text:00007FF65FA3282A cmovnz ecx, edx
.text:00007FF65FA3282D mov eax, ecx
.text:00007FF65FA3282F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32837 xor rcx, rsp ; StackCookie
.text:00007FF65FA3283A call __security_check_cookie
.text:00007FF65FA3283F add rsp, 150h
.text:00007FF65FA32846 pop rbx
.text:00007FF65FA32847 retn
.text:00007FF65FA32847 sub_7FF65FA327B0 endp
.text:00007FF65FA32847
.text:00007FF65FA32847 ; ---------------------------------------------------------------------------
.text:00007FF65FA32848 algn_7FF65FA32848: ; DATA XREF: .pdata:00007FF65FA7D228o
.text:00007FF65FA32848 align 10h
.text:00007FF65FA32850
.text:00007FF65FA32850 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32850
.text:00007FF65FA32850
.text:00007FF65FA32850 ; DWORD __stdcall sub_7FF65FA32850(LPVOID lpThreadParameter)
.text:00007FF65FA32850 sub_7FF65FA32850 proc near ; DATA XREF: sub_7FF65FA33120+89o
.text:00007FF65FA32850 ; .pdata:00007FF65FA7D234o
.text:00007FF65FA32850
.text:00007FF65FA32850 var_138 = qword ptr -138h
.text:00007FF65FA32850 Dest = byte ptr -130h
.text:00007FF65FA32850 var_30 = dword ptr -30h
.text:00007FF65FA32850 var_2C = byte ptr -2Ch
.text:00007FF65FA32850 var_28 = word ptr -28h
.text:00007FF65FA32850 var_18 = qword ptr -18h
.text:00007FF65FA32850
.text:00007FF65FA32850 push rbx
.text:00007FF65FA32852 sub rsp, 150h
.text:00007FF65FA32859 mov rax, cs:__security_cookie
.text:00007FF65FA32860 xor rax, rsp
.text:00007FF65FA32863 mov [rsp+158h+var_18], rax
.text:00007FF65FA3286B mov rbx, rcx
.text:00007FF65FA3286E lea rdx, aYWing ; "Y-wing"
.text:00007FF65FA32875 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA3287A mov r8d, 7 ; Count
.text:00007FF65FA32880 call strncpy
.text:00007FF65FA32885 lea rax, off_7FF65FA73640
.text:00007FF65FA3288C mov [rsp+158h+var_30], 64h
.text:00007FF65FA32897 mov [rsp+158h+var_138], rax
.text:00007FF65FA3289C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA328A1 mov eax, 3
.text:00007FF65FA328A6 mov [rsp+158h+var_2C], 6
.text:00007FF65FA328AE mov rdx, rbx
.text:00007FF65FA328B1 mov [rsp+158h+var_28], ax
.text:00007FF65FA328B9 call sub_7FF65FA34410
.text:00007FF65FA328BE test al, al
.text:00007FF65FA328C0 mov ecx, 29Ah
.text:00007FF65FA328C5 mov edx, 22Bh
.text:00007FF65FA328CA cmovnz ecx, edx
.text:00007FF65FA328CD mov eax, ecx
.text:00007FF65FA328CF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA328D7 xor rcx, rsp ; StackCookie
.text:00007FF65FA328DA call __security_check_cookie
.text:00007FF65FA328DF add rsp, 150h
.text:00007FF65FA328E6 pop rbx
.text:00007FF65FA328E7 retn
.text:00007FF65FA328E7 sub_7FF65FA32850 endp
.text:00007FF65FA328E7
.text:00007FF65FA328E7 ; ---------------------------------------------------------------------------
.text:00007FF65FA328E8 algn_7FF65FA328E8: ; DATA XREF: .pdata:00007FF65FA7D234o
.text:00007FF65FA328E8 align 10h
.text:00007FF65FA328F0
.text:00007FF65FA328F0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA328F0
.text:00007FF65FA328F0
.text:00007FF65FA328F0 ; DWORD __stdcall sub_7FF65FA328F0(LPVOID lpThreadParameter)
.text:00007FF65FA328F0 sub_7FF65FA328F0 proc near ; DATA XREF: sub_7FF65FA33120+B1o
.text:00007FF65FA328F0 ; .pdata:00007FF65FA7D240o
.text:00007FF65FA328F0
.text:00007FF65FA328F0 var_138 = qword ptr -138h
.text:00007FF65FA328F0 Dest = byte ptr -130h
.text:00007FF65FA328F0 var_30 = dword ptr -30h
.text:00007FF65FA328F0 var_2C = byte ptr -2Ch
.text:00007FF65FA328F0 var_28 = word ptr -28h
.text:00007FF65FA328F0 var_18 = qword ptr -18h
.text:00007FF65FA328F0
.text:00007FF65FA328F0 push rbx
.text:00007FF65FA328F2 sub rsp, 150h
.text:00007FF65FA328F9 mov rax, cs:__security_cookie
.text:00007FF65FA32900 xor rax, rsp
.text:00007FF65FA32903 mov [rsp+158h+var_18], rax
.text:00007FF65FA3290B mov rbx, rcx
.text:00007FF65FA3290E lea rdx, aAWing ; "A-wing"
.text:00007FF65FA32915 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA3291A mov r8d, 7 ; Count
.text:00007FF65FA32920 call strncpy
.text:00007FF65FA32925 lea rax, off_7FF65FA73658
.text:00007FF65FA3292C mov [rsp+158h+var_30], 14h
.text:00007FF65FA32937 mov [rsp+158h+var_138], rax
.text:00007FF65FA3293C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32941 mov eax, 4
.text:00007FF65FA32946 mov [rsp+158h+var_2C], 1Eh
.text:00007FF65FA3294E mov rdx, rbx
.text:00007FF65FA32951 mov [rsp+158h+var_28], ax
.text:00007FF65FA32959 call sub_7FF65FA346B0
.text:00007FF65FA3295E test al, al
.text:00007FF65FA32960 mov ecx, 29Ah
.text:00007FF65FA32965 mov edx, 22Bh
.text:00007FF65FA3296A cmovnz ecx, edx
.text:00007FF65FA3296D mov eax, ecx
.text:00007FF65FA3296F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32977 xor rcx, rsp ; StackCookie
.text:00007FF65FA3297A call __security_check_cookie
.text:00007FF65FA3297F add rsp, 150h
.text:00007FF65FA32986 pop rbx
.text:00007FF65FA32987 retn
.text:00007FF65FA32987 sub_7FF65FA328F0 endp
.text:00007FF65FA32987
.text:00007FF65FA32987 ; ---------------------------------------------------------------------------
.text:00007FF65FA32988 algn_7FF65FA32988: ; DATA XREF: .pdata:00007FF65FA7D240o
.text:00007FF65FA32988 align 10h
.text:00007FF65FA32990
.text:00007FF65FA32990 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32990
.text:00007FF65FA32990
.text:00007FF65FA32990 ; DWORD __stdcall sub_7FF65FA32990(LPVOID lpThreadParameter)
.text:00007FF65FA32990 sub_7FF65FA32990 proc near ; DATA XREF: sub_7FF65FA33120+D9o
.text:00007FF65FA32990 ; .pdata:00007FF65FA7D24Co
.text:00007FF65FA32990
.text:00007FF65FA32990 var_138 = qword ptr -138h
.text:00007FF65FA32990 Dest = byte ptr -130h
.text:00007FF65FA32990 var_30 = dword ptr -30h
.text:00007FF65FA32990 var_2C = byte ptr -2Ch
.text:00007FF65FA32990 var_28 = word ptr -28h
.text:00007FF65FA32990 var_18 = qword ptr -18h
.text:00007FF65FA32990
.text:00007FF65FA32990 push rbx
.text:00007FF65FA32992 sub rsp, 150h
.text:00007FF65FA32999 mov rax, cs:__security_cookie
.text:00007FF65FA329A0 xor rax, rsp
.text:00007FF65FA329A3 mov [rsp+158h+var_18], rax
.text:00007FF65FA329AB mov rbx, rcx
.text:00007FF65FA329AE lea rdx, aN1 ; "N-1"
.text:00007FF65FA329B5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA329BA mov r8d, 4 ; Count
.text:00007FF65FA329C0 call strncpy
.text:00007FF65FA329C5 lea rax, off_7FF65FA73628
.text:00007FF65FA329CC mov [rsp+158h+var_30], 32h
.text:00007FF65FA329D7 mov [rsp+158h+var_138], rax
.text:00007FF65FA329DC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA329E1 mov eax, 5
.text:00007FF65FA329E6 mov [rsp+158h+var_2C], 0Fh
.text:00007FF65FA329EE mov rdx, rbx
.text:00007FF65FA329F1 mov [rsp+158h+var_28], ax
.text:00007FF65FA329F9 call sub_7FF65FA34950
.text:00007FF65FA329FE test al, al
.text:00007FF65FA32A00 mov ecx, 29Ah
.text:00007FF65FA32A05 mov edx, 22Bh
.text:00007FF65FA32A0A cmovnz ecx, edx
.text:00007FF65FA32A0D mov eax, ecx
.text:00007FF65FA32A0F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32A17 xor rcx, rsp ; StackCookie
.text:00007FF65FA32A1A call __security_check_cookie
.text:00007FF65FA32A1F add rsp, 150h
.text:00007FF65FA32A26 pop rbx
.text:00007FF65FA32A27 retn
.text:00007FF65FA32A27 sub_7FF65FA32990 endp
.text:00007FF65FA32A27
.text:00007FF65FA32A27 ; ---------------------------------------------------------------------------
.text:00007FF65FA32A28 algn_7FF65FA32A28: ; DATA XREF: .pdata:00007FF65FA7D24Co
.text:00007FF65FA32A28 align 10h
.text:00007FF65FA32A30
.text:00007FF65FA32A30 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32A30
.text:00007FF65FA32A30
.text:00007FF65FA32A30 ; DWORD __stdcall sub_7FF65FA32A30(LPVOID lpThreadParameter)
.text:00007FF65FA32A30 sub_7FF65FA32A30 proc near ; DATA XREF: sub_7FF65FA33120+101o
.text:00007FF65FA32A30 ; .pdata:00007FF65FA7D258o
.text:00007FF65FA32A30
.text:00007FF65FA32A30 var_138 = qword ptr -138h
.text:00007FF65FA32A30 Dest = byte ptr -130h
.text:00007FF65FA32A30 var_30 = dword ptr -30h
.text:00007FF65FA32A30 var_2C = byte ptr -2Ch
.text:00007FF65FA32A30 var_28 = word ptr -28h
.text:00007FF65FA32A30 var_18 = qword ptr -18h
.text:00007FF65FA32A30
.text:00007FF65FA32A30 push rbx
.text:00007FF65FA32A32 sub rsp, 150h
.text:00007FF65FA32A39 mov rax, cs:__security_cookie
.text:00007FF65FA32A40 xor rax, rsp
.text:00007FF65FA32A43 mov [rsp+158h+var_18], rax
.text:00007FF65FA32A4B mov rbx, rcx
.text:00007FF65FA32A4E lea rdx, aEWing ; "E-wing"
.text:00007FF65FA32A55 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32A5A mov r8d, 7 ; Count
.text:00007FF65FA32A60 call strncpy
.text:00007FF65FA32A65 lea rax, off_7FF65FA73630
.text:00007FF65FA32A6C mov [rsp+158h+var_30], 46h
.text:00007FF65FA32A77 mov [rsp+158h+var_138], rax
.text:00007FF65FA32A7C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32A81 mov eax, 6
.text:00007FF65FA32A86 mov [rsp+158h+var_2C], 0Ah
.text:00007FF65FA32A8E mov rdx, rbx
.text:00007FF65FA32A91 mov [rsp+158h+var_28], ax
.text:00007FF65FA32A99 call sub_7FF65FA34BF0
.text:00007FF65FA32A9E test al, al
.text:00007FF65FA32AA0 mov ecx, 29Ah
.text:00007FF65FA32AA5 mov edx, 22Bh
.text:00007FF65FA32AAA cmovnz ecx, edx
.text:00007FF65FA32AAD mov eax, ecx
.text:00007FF65FA32AAF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32AB7 xor rcx, rsp ; StackCookie
.text:00007FF65FA32ABA call __security_check_cookie
.text:00007FF65FA32ABF add rsp, 150h
.text:00007FF65FA32AC6 pop rbx
.text:00007FF65FA32AC7 retn
.text:00007FF65FA32AC7 sub_7FF65FA32A30 endp
.text:00007FF65FA32AC7
.text:00007FF65FA32AC7 ; ---------------------------------------------------------------------------
.text:00007FF65FA32AC8 algn_7FF65FA32AC8: ; DATA XREF: .pdata:00007FF65FA7D258o
.text:00007FF65FA32AC8 align 10h
.text:00007FF65FA32AD0
.text:00007FF65FA32AD0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32AD0
.text:00007FF65FA32AD0
.text:00007FF65FA32AD0 ; DWORD __stdcall sub_7FF65FA32AD0(LPVOID lpThreadParameter)
.text:00007FF65FA32AD0 sub_7FF65FA32AD0 proc near ; DATA XREF: sub_7FF65FA33120+129o
.text:00007FF65FA32AD0 ; .pdata:00007FF65FA7D264o
.text:00007FF65FA32AD0
.text:00007FF65FA32AD0 var_138 = qword ptr -138h
.text:00007FF65FA32AD0 Dest = byte ptr -130h
.text:00007FF65FA32AD0 var_30 = dword ptr -30h
.text:00007FF65FA32AD0 var_2C = byte ptr -2Ch
.text:00007FF65FA32AD0 var_28 = word ptr -28h
.text:00007FF65FA32AD0 var_18 = qword ptr -18h
.text:00007FF65FA32AD0 arg_8 = qword ptr 10h
.text:00007FF65FA32AD0
.text:00007FF65FA32AD0 mov [rsp+arg_8], rbx
.text:00007FF65FA32AD5 push rdi
.text:00007FF65FA32AD6 sub rsp, 150h
.text:00007FF65FA32ADD mov rax, cs:__security_cookie
.text:00007FF65FA32AE4 xor rax, rsp
.text:00007FF65FA32AE7 mov [rsp+158h+var_18], rax
.text:00007FF65FA32AEF mov rbx, rcx
.text:00007FF65FA32AF2 lea rdx, aVWing ; "V-wing"
.text:00007FF65FA32AF9 mov edi, 7
.text:00007FF65FA32AFE lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32B03 mov r8d, edi ; Count
.text:00007FF65FA32B06 call strncpy
.text:00007FF65FA32B0B lea rax, off_7FF65FA736C8
.text:00007FF65FA32B12 mov [rsp+158h+var_30], 78h
.text:00007FF65FA32B1D mov rdx, rbx
.text:00007FF65FA32B20 mov [rsp+158h+var_138], rax
.text:00007FF65FA32B25 lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32B2A mov [rsp+158h+var_2C], 5
.text:00007FF65FA32B32 mov [rsp+158h+var_28], di
.text:00007FF65FA32B3A call sub_7FF65FA34E90
.text:00007FF65FA32B3F test al, al
.text:00007FF65FA32B41 mov ecx, 29Ah
.text:00007FF65FA32B46 mov edx, 22Bh
.text:00007FF65FA32B4B cmovnz ecx, edx
.text:00007FF65FA32B4E mov eax, ecx
.text:00007FF65FA32B50 mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32B58 xor rcx, rsp ; StackCookie
.text:00007FF65FA32B5B call __security_check_cookie
.text:00007FF65FA32B60 mov rbx, [rsp+158h+arg_8]
.text:00007FF65FA32B68 add rsp, 150h
.text:00007FF65FA32B6F pop rdi
.text:00007FF65FA32B70 retn
.text:00007FF65FA32B70 sub_7FF65FA32AD0 endp
.text:00007FF65FA32B70
.text:00007FF65FA32B70 ; ---------------------------------------------------------------------------
.text:00007FF65FA32B71 algn_7FF65FA32B71: ; DATA XREF: .pdata:00007FF65FA7D264o
.text:00007FF65FA32B71 align 20h
.text:00007FF65FA32B80
.text:00007FF65FA32B80 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32B80
.text:00007FF65FA32B80
.text:00007FF65FA32B80 ; DWORD __stdcall sub_7FF65FA32B80(LPVOID lpThreadParameter)
.text:00007FF65FA32B80 sub_7FF65FA32B80 proc near ; DATA XREF: sub_7FF65FA33120+151o
.text:00007FF65FA32B80 ; .pdata:00007FF65FA7D270o
.text:00007FF65FA32B80
.text:00007FF65FA32B80 var_138 = qword ptr -138h
.text:00007FF65FA32B80 Dest = byte ptr -130h
.text:00007FF65FA32B80 var_30 = dword ptr -30h
.text:00007FF65FA32B80 var_2C = byte ptr -2Ch
.text:00007FF65FA32B80 var_28 = word ptr -28h
.text:00007FF65FA32B80 var_18 = qword ptr -18h
.text:00007FF65FA32B80
.text:00007FF65FA32B80 push rbx
.text:00007FF65FA32B82 sub rsp, 150h
.text:00007FF65FA32B89 mov rax, cs:__security_cookie
.text:00007FF65FA32B90 xor rax, rsp
.text:00007FF65FA32B93 mov [rsp+158h+var_18], rax
.text:00007FF65FA32B9B mov rbx, rcx
.text:00007FF65FA32B9E lea rdx, aMc75 ; "MC75"
.text:00007FF65FA32BA5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32BAA mov r8d, 5 ; Count
.text:00007FF65FA32BB0 call strncpy
.text:00007FF65FA32BB5 lea rax, off_7FF65FA73690
.text:00007FF65FA32BBC mov [rsp+158h+var_30], 320h
.text:00007FF65FA32BC7 mov [rsp+158h+var_138], rax
.text:00007FF65FA32BCC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32BD1 mov eax, 8
.text:00007FF65FA32BD6 mov [rsp+158h+var_2C], 1
.text:00007FF65FA32BDE mov rdx, rbx
.text:00007FF65FA32BE1 mov [rsp+158h+var_28], ax
.text:00007FF65FA32BE9 call sub_7FF65FA35130
.text:00007FF65FA32BEE test al, al
.text:00007FF65FA32BF0 mov ecx, 29Ah
.text:00007FF65FA32BF5 mov edx, 22Bh
.text:00007FF65FA32BFA cmovnz ecx, edx
.text:00007FF65FA32BFD mov eax, ecx
.text:00007FF65FA32BFF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32C07 xor rcx, rsp ; StackCookie
.text:00007FF65FA32C0A call __security_check_cookie
.text:00007FF65FA32C0F add rsp, 150h
.text:00007FF65FA32C16 pop rbx
.text:00007FF65FA32C17 retn
.text:00007FF65FA32C17 sub_7FF65FA32B80 endp
.text:00007FF65FA32C17
.text:00007FF65FA32C17 ; ---------------------------------------------------------------------------
.text:00007FF65FA32C18 algn_7FF65FA32C18: ; DATA XREF: .pdata:00007FF65FA7D270o
.text:00007FF65FA32C18 align 20h
.text:00007FF65FA32C20
.text:00007FF65FA32C20 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32C20
.text:00007FF65FA32C20
.text:00007FF65FA32C20 ; DWORD __stdcall sub_7FF65FA32C20(LPVOID lpThreadParameter)
.text:00007FF65FA32C20 sub_7FF65FA32C20 proc near ; DATA XREF: sub_7FF65FA33120+179o
.text:00007FF65FA32C20 ; .pdata:00007FF65FA7D27Co
.text:00007FF65FA32C20
.text:00007FF65FA32C20 var_138 = qword ptr -138h
.text:00007FF65FA32C20 Dest = byte ptr -130h
.text:00007FF65FA32C20 var_30 = dword ptr -30h
.text:00007FF65FA32C20 var_2C = byte ptr -2Ch
.text:00007FF65FA32C20 var_28 = word ptr -28h
.text:00007FF65FA32C20 var_18 = qword ptr -18h
.text:00007FF65FA32C20
.text:00007FF65FA32C20 push rbx
.text:00007FF65FA32C22 sub rsp, 150h
.text:00007FF65FA32C29 mov rax, cs:__security_cookie
.text:00007FF65FA32C30 xor rax, rsp
.text:00007FF65FA32C33 mov [rsp+158h+var_18], rax
.text:00007FF65FA32C3B mov rbx, rcx
.text:00007FF65FA32C3E lea rdx, aV19 ; "V-19"
.text:00007FF65FA32C45 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32C4A mov r8d, 5 ; Count
.text:00007FF65FA32C50 call strncpy
.text:00007FF65FA32C55 lea rax, off_7FF65FA73660
.text:00007FF65FA32C5C mov [rsp+158h+var_30], 15Eh
.text:00007FF65FA32C67 mov [rsp+158h+var_138], rax
.text:00007FF65FA32C6C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32C71 mov eax, 9
.text:00007FF65FA32C76 mov [rsp+158h+var_2C], 2
.text:00007FF65FA32C7E mov rdx, rbx
.text:00007FF65FA32C81 mov [rsp+158h+var_28], ax
.text:00007FF65FA32C89 call sub_7FF65FA353D0
.text:00007FF65FA32C8E test al, al
.text:00007FF65FA32C90 mov ecx, 29Ah
.text:00007FF65FA32C95 mov edx, 22Bh
.text:00007FF65FA32C9A cmovnz ecx, edx
.text:00007FF65FA32C9D mov eax, ecx
.text:00007FF65FA32C9F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32CA7 xor rcx, rsp ; StackCookie
.text:00007FF65FA32CAA call __security_check_cookie
.text:00007FF65FA32CAF add rsp, 150h
.text:00007FF65FA32CB6 pop rbx
.text:00007FF65FA32CB7 retn
.text:00007FF65FA32CB7 sub_7FF65FA32C20 endp
.text:00007FF65FA32CB7
.text:00007FF65FA32CB7 ; ---------------------------------------------------------------------------
.text:00007FF65FA32CB8 algn_7FF65FA32CB8: ; DATA XREF: .pdata:00007FF65FA7D27Co
.text:00007FF65FA32CB8 align 20h
.text:00007FF65FA32CC0
.text:00007FF65FA32CC0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32CC0
.text:00007FF65FA32CC0
.text:00007FF65FA32CC0 ; DWORD __stdcall sub_7FF65FA32CC0(LPVOID lpThreadParameter)
.text:00007FF65FA32CC0 sub_7FF65FA32CC0 proc near ; DATA XREF: sub_7FF65FA33120+1A1o
.text:00007FF65FA32CC0 ; .pdata:00007FF65FA7D288o
.text:00007FF65FA32CC0
.text:00007FF65FA32CC0 var_138 = qword ptr -138h
.text:00007FF65FA32CC0 Dest = byte ptr -130h
.text:00007FF65FA32CC0 var_30 = dword ptr -30h
.text:00007FF65FA32CC0 var_2C = byte ptr -2Ch
.text:00007FF65FA32CC0 var_28 = word ptr -28h
.text:00007FF65FA32CC0 var_18 = qword ptr -18h
.text:00007FF65FA32CC0
.text:00007FF65FA32CC0 push rbx
.text:00007FF65FA32CC2 sub rsp, 150h
.text:00007FF65FA32CC9 mov rax, cs:__security_cookie
.text:00007FF65FA32CD0 xor rax, rsp
.text:00007FF65FA32CD3 mov [rsp+158h+var_18], rax
.text:00007FF65FA32CDB mov rbx, rcx
.text:00007FF65FA32CDE lea rdx, aVultureDroid ; "Vulture Droid"
.text:00007FF65FA32CE5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32CEA mov r8d, 0Eh ; Count
.text:00007FF65FA32CF0 call strncpy
.text:00007FF65FA32CF5 mov ecx, 0Ah
.text:00007FF65FA32CFA mov [rsp+158h+var_2C], 64h
.text:00007FF65FA32D02 mov [rsp+158h+var_30], ecx
.text:00007FF65FA32D09 lea rax, off_7FF65FA73638
.text:00007FF65FA32D10 mov [rsp+158h+var_28], cx
.text:00007FF65FA32D18 mov rdx, rbx
.text:00007FF65FA32D1B lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32D20 mov [rsp+158h+var_138], rax
.text:00007FF65FA32D25 call sub_7FF65FA35670
.text:00007FF65FA32D2A test al, al
.text:00007FF65FA32D2C mov ecx, 29Ah
.text:00007FF65FA32D31 mov edx, 22Bh
.text:00007FF65FA32D36 cmovnz ecx, edx
.text:00007FF65FA32D39 mov eax, ecx
.text:00007FF65FA32D3B mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32D43 xor rcx, rsp ; StackCookie
.text:00007FF65FA32D46 call __security_check_cookie
.text:00007FF65FA32D4B add rsp, 150h
.text:00007FF65FA32D52 pop rbx
.text:00007FF65FA32D53 retn
.text:00007FF65FA32D53 sub_7FF65FA32CC0 endp
.text:00007FF65FA32D53
.text:00007FF65FA32D53 ; ---------------------------------------------------------------------------
.text:00007FF65FA32D54 algn_7FF65FA32D54: ; DATA XREF: .pdata:00007FF65FA7D288o
.text:00007FF65FA32D54 align 20h
.text:00007FF65FA32D60
.text:00007FF65FA32D60 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32D60
.text:00007FF65FA32D60
.text:00007FF65FA32D60 ; DWORD __stdcall sub_7FF65FA32D60(LPVOID lpThreadParameter)
.text:00007FF65FA32D60 sub_7FF65FA32D60 proc near ; DATA XREF: sub_7FF65FA33120+1C9o
.text:00007FF65FA32D60 ; .pdata:00007FF65FA7D294o
.text:00007FF65FA32D60
.text:00007FF65FA32D60 var_138 = qword ptr -138h
.text:00007FF65FA32D60 Dest = byte ptr -130h
.text:00007FF65FA32D60 var_30 = dword ptr -30h
.text:00007FF65FA32D60 var_2C = byte ptr -2Ch
.text:00007FF65FA32D60 var_28 = word ptr -28h
.text:00007FF65FA32D60 var_18 = qword ptr -18h
.text:00007FF65FA32D60
.text:00007FF65FA32D60 push rbx
.text:00007FF65FA32D62 sub rsp, 150h
.text:00007FF65FA32D69 mov rax, cs:__security_cookie
.text:00007FF65FA32D70 xor rax, rsp
.text:00007FF65FA32D73 mov [rsp+158h+var_18], rax
.text:00007FF65FA32D7B mov rbx, rcx
.text:00007FF65FA32D7E lea rdx, aZ95 ; "Z-95"
.text:00007FF65FA32D85 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32D8A mov r8d, 5 ; Count
.text:00007FF65FA32D90 call strncpy
.text:00007FF65FA32D95 lea rax, off_7FF65FA73650
.text:00007FF65FA32D9C mov [rsp+158h+var_30], 28h
.text:00007FF65FA32DA7 mov [rsp+158h+var_138], rax
.text:00007FF65FA32DAC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32DB1 mov eax, 0Bh
.text:00007FF65FA32DB6 mov [rsp+158h+var_2C], 0Fh
.text:00007FF65FA32DBE mov rdx, rbx
.text:00007FF65FA32DC1 mov [rsp+158h+var_28], ax
.text:00007FF65FA32DC9 call sub_7FF65FA35910
.text:00007FF65FA32DCE test al, al
.text:00007FF65FA32DD0 mov ecx, 29Ah
.text:00007FF65FA32DD5 mov edx, 22Bh
.text:00007FF65FA32DDA cmovnz ecx, edx
.text:00007FF65FA32DDD mov eax, ecx
.text:00007FF65FA32DDF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32DE7 xor rcx, rsp ; StackCookie
.text:00007FF65FA32DEA call __security_check_cookie
.text:00007FF65FA32DEF add rsp, 150h
.text:00007FF65FA32DF6 pop rbx
.text:00007FF65FA32DF7 retn
.text:00007FF65FA32DF7 sub_7FF65FA32D60 endp
.text:00007FF65FA32DF7
.text:00007FF65FA32DF7 ; ---------------------------------------------------------------------------
.text:00007FF65FA32DF8 algn_7FF65FA32DF8: ; DATA XREF: .pdata:00007FF65FA7D294o
.text:00007FF65FA32DF8 align 20h
.text:00007FF65FA32E00
.text:00007FF65FA32E00 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32E00
.text:00007FF65FA32E00
.text:00007FF65FA32E00 ; DWORD __stdcall sub_7FF65FA32E00(LPVOID lpThreadParameter)
.text:00007FF65FA32E00 sub_7FF65FA32E00 proc near ; DATA XREF: sub_7FF65FA33120+1F1o
.text:00007FF65FA32E00 ; .pdata:00007FF65FA7D2A0o
.text:00007FF65FA32E00
.text:00007FF65FA32E00 var_138 = qword ptr -138h
.text:00007FF65FA32E00 Dest = byte ptr -130h
.text:00007FF65FA32E00 var_30 = dword ptr -30h
.text:00007FF65FA32E00 var_2C = byte ptr -2Ch
.text:00007FF65FA32E00 var_28 = word ptr -28h
.text:00007FF65FA32E00 var_18 = qword ptr -18h
.text:00007FF65FA32E00
.text:00007FF65FA32E00 push rbx
.text:00007FF65FA32E02 sub rsp, 150h
.text:00007FF65FA32E09 mov rax, cs:__security_cookie
.text:00007FF65FA32E10 xor rax, rsp
.text:00007FF65FA32E13 mov [rsp+158h+var_18], rax
.text:00007FF65FA32E1B mov rbx, rcx
.text:00007FF65FA32E1E lea rdx, aBWing ; "B-wing"
.text:00007FF65FA32E25 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32E2A mov r8d, 7 ; Count
.text:00007FF65FA32E30 call strncpy
.text:00007FF65FA32E35 lea rax, off_7FF65FA73688
.text:00007FF65FA32E3C mov [rsp+158h+var_30], 23h
.text:00007FF65FA32E47 mov [rsp+158h+var_138], rax
.text:00007FF65FA32E4C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32E51 mov eax, 0Ch
.text:00007FF65FA32E56 mov [rsp+158h+var_2C], 14h
.text:00007FF65FA32E5E mov rdx, rbx
.text:00007FF65FA32E61 mov [rsp+158h+var_28], ax
.text:00007FF65FA32E69 call sub_7FF65FA35BB0
.text:00007FF65FA32E6E test al, al
.text:00007FF65FA32E70 mov ecx, 29Ah
.text:00007FF65FA32E75 mov edx, 22Bh
.text:00007FF65FA32E7A cmovnz ecx, edx
.text:00007FF65FA32E7D mov eax, ecx
.text:00007FF65FA32E7F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32E87 xor rcx, rsp ; StackCookie
.text:00007FF65FA32E8A call __security_check_cookie
.text:00007FF65FA32E8F add rsp, 150h
.text:00007FF65FA32E96 pop rbx
.text:00007FF65FA32E97 retn
.text:00007FF65FA32E97 sub_7FF65FA32E00 endp
.text:00007FF65FA32E97
.text:00007FF65FA32E97 ; ---------------------------------------------------------------------------
.text:00007FF65FA32E98 algn_7FF65FA32E98: ; DATA XREF: .pdata:00007FF65FA7D2A0o
.text:00007FF65FA32E98 align 20h
.text:00007FF65FA32EA0
.text:00007FF65FA32EA0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32EA0
.text:00007FF65FA32EA0
.text:00007FF65FA32EA0 ; DWORD __stdcall sub_7FF65FA32EA0(LPVOID lpThreadParameter)
.text:00007FF65FA32EA0 sub_7FF65FA32EA0 proc near ; DATA XREF: sub_7FF65FA33120+219o
.text:00007FF65FA32EA0 ; .pdata:00007FF65FA7D2ACo
.text:00007FF65FA32EA0
.text:00007FF65FA32EA0 var_138 = qword ptr -138h
.text:00007FF65FA32EA0 Dest = byte ptr -130h
.text:00007FF65FA32EA0 var_30 = dword ptr -30h
.text:00007FF65FA32EA0 var_2C = byte ptr -2Ch
.text:00007FF65FA32EA0 var_28 = word ptr -28h
.text:00007FF65FA32EA0 var_18 = qword ptr -18h
.text:00007FF65FA32EA0
.text:00007FF65FA32EA0 push rbx
.text:00007FF65FA32EA2 sub rsp, 150h
.text:00007FF65FA32EA9 mov rax, cs:__security_cookie
.text:00007FF65FA32EB0 xor rax, rsp
.text:00007FF65FA32EB3 mov [rsp+158h+var_18], rax
.text:00007FF65FA32EBB mov rbx, rcx
.text:00007FF65FA32EBE lea rdx, aUWing ; "U-wing"
.text:00007FF65FA32EC5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32ECA mov r8d, 7 ; Count
.text:00007FF65FA32ED0 call strncpy
.text:00007FF65FA32ED5 lea rax, off_7FF65FA73678
.text:00007FF65FA32EDC mov [rsp+158h+var_30], 46h
.text:00007FF65FA32EE7 mov [rsp+158h+var_138], rax
.text:00007FF65FA32EEC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32EF1 mov eax, 0Dh
.text:00007FF65FA32EF6 mov [rsp+158h+var_2C], 0Fh
.text:00007FF65FA32EFE mov rdx, rbx
.text:00007FF65FA32F01 mov [rsp+158h+var_28], ax
.text:00007FF65FA32F09 call sub_7FF65FA35E50
.text:00007FF65FA32F0E test al, al
.text:00007FF65FA32F10 mov ecx, 29Ah
.text:00007FF65FA32F15 mov edx, 22Bh
.text:00007FF65FA32F1A cmovnz ecx, edx
.text:00007FF65FA32F1D mov eax, ecx
.text:00007FF65FA32F1F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32F27 xor rcx, rsp ; StackCookie
.text:00007FF65FA32F2A call __security_check_cookie
.text:00007FF65FA32F2F add rsp, 150h
.text:00007FF65FA32F36 pop rbx
.text:00007FF65FA32F37 retn
.text:00007FF65FA32F37 sub_7FF65FA32EA0 endp
.text:00007FF65FA32F37
.text:00007FF65FA32F37 ; ---------------------------------------------------------------------------
.text:00007FF65FA32F38 algn_7FF65FA32F38: ; DATA XREF: .pdata:00007FF65FA7D2ACo
.text:00007FF65FA32F38 align 20h
.text:00007FF65FA32F40
.text:00007FF65FA32F40 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32F40
.text:00007FF65FA32F40
.text:00007FF65FA32F40 ; DWORD __stdcall sub_7FF65FA32F40(LPVOID lpThreadParameter)
.text:00007FF65FA32F40 sub_7FF65FA32F40 proc near ; DATA XREF: sub_7FF65FA33120+241o
.text:00007FF65FA32F40 ; .pdata:00007FF65FA7D2B8o
.text:00007FF65FA32F40
.text:00007FF65FA32F40 var_138 = qword ptr -138h
.text:00007FF65FA32F40 Dest = byte ptr -130h
.text:00007FF65FA32F40 var_30 = dword ptr -30h
.text:00007FF65FA32F40 var_2C = byte ptr -2Ch
.text:00007FF65FA32F40 var_28 = word ptr -28h
.text:00007FF65FA32F40 var_18 = qword ptr -18h
.text:00007FF65FA32F40
.text:00007FF65FA32F40 push rbx
.text:00007FF65FA32F42 sub rsp, 150h
.text:00007FF65FA32F49 mov rax, cs:__security_cookie
.text:00007FF65FA32F50 xor rax, rsp
.text:00007FF65FA32F53 mov [rsp+158h+var_18], rax
.text:00007FF65FA32F5B mov rbx, rcx
.text:00007FF65FA32F5E lea rdx, aP38 ; "P-38"
.text:00007FF65FA32F65 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA32F6A mov r8d, 5 ; Count
.text:00007FF65FA32F70 call strncpy
.text:00007FF65FA32F75 lea rax, off_7FF65FA736C0
.text:00007FF65FA32F7C mov [rsp+158h+var_30], 3Ch
.text:00007FF65FA32F87 mov [rsp+158h+var_138], rax
.text:00007FF65FA32F8C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA32F91 mov eax, 0Eh
.text:00007FF65FA32F96 mov [rsp+158h+var_2C], 14h
.text:00007FF65FA32F9E mov rdx, rbx
.text:00007FF65FA32FA1 mov [rsp+158h+var_28], ax
.text:00007FF65FA32FA9 call sub_7FF65FA360F0
.text:00007FF65FA32FAE test al, al
.text:00007FF65FA32FB0 mov ecx, 29Ah
.text:00007FF65FA32FB5 mov edx, 22Bh
.text:00007FF65FA32FBA cmovnz ecx, edx
.text:00007FF65FA32FBD mov eax, ecx
.text:00007FF65FA32FBF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA32FC7 xor rcx, rsp ; StackCookie
.text:00007FF65FA32FCA call __security_check_cookie
.text:00007FF65FA32FCF add rsp, 150h
.text:00007FF65FA32FD6 pop rbx
.text:00007FF65FA32FD7 retn
.text:00007FF65FA32FD7 sub_7FF65FA32F40 endp
.text:00007FF65FA32FD7
.text:00007FF65FA32FD7 ; ---------------------------------------------------------------------------
.text:00007FF65FA32FD8 algn_7FF65FA32FD8: ; DATA XREF: .pdata:00007FF65FA7D2B8o
.text:00007FF65FA32FD8 align 20h
.text:00007FF65FA32FE0
.text:00007FF65FA32FE0 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA32FE0
.text:00007FF65FA32FE0
.text:00007FF65FA32FE0 ; DWORD __stdcall sub_7FF65FA32FE0(LPVOID lpThreadParameter)
.text:00007FF65FA32FE0 sub_7FF65FA32FE0 proc near ; DATA XREF: sub_7FF65FA33120+269o
.text:00007FF65FA32FE0 ; .pdata:00007FF65FA7D2C4o
.text:00007FF65FA32FE0
.text:00007FF65FA32FE0 var_138 = qword ptr -138h
.text:00007FF65FA32FE0 Dest = byte ptr -130h
.text:00007FF65FA32FE0 var_30 = dword ptr -30h
.text:00007FF65FA32FE0 var_2C = byte ptr -2Ch
.text:00007FF65FA32FE0 var_28 = word ptr -28h
.text:00007FF65FA32FE0 var_18 = qword ptr -18h
.text:00007FF65FA32FE0
.text:00007FF65FA32FE0 push rbx
.text:00007FF65FA32FE2 sub rsp, 150h
.text:00007FF65FA32FE9 mov rax, cs:__security_cookie
.text:00007FF65FA32FF0 xor rax, rsp
.text:00007FF65FA32FF3 mov [rsp+158h+var_18], rax
.text:00007FF65FA32FFB mov rbx, rcx
.text:00007FF65FA32FFE lea rdx, aTieIn ; "TIE/IN"
.text:00007FF65FA33005 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA3300A mov r8d, 7 ; Count
.text:00007FF65FA33010 call strncpy
.text:00007FF65FA33015 lea rax, off_7FF65FA736D0
.text:00007FF65FA3301C mov [rsp+158h+var_30], 58h
.text:00007FF65FA33027 mov [rsp+158h+var_138], rax
.text:00007FF65FA3302C lea rcx, [rsp+158h+var_138]
.text:00007FF65FA33031 mov eax, 0Fh
.text:00007FF65FA33036 mov [rsp+158h+var_2C], 8
.text:00007FF65FA3303E mov rdx, rbx
.text:00007FF65FA33041 mov [rsp+158h+var_28], ax
.text:00007FF65FA33049 call sub_7FF65FA36390
.text:00007FF65FA3304E test al, al
.text:00007FF65FA33050 mov ecx, 29Ah
.text:00007FF65FA33055 mov edx, 22Bh
.text:00007FF65FA3305A cmovnz ecx, edx
.text:00007FF65FA3305D mov eax, ecx
.text:00007FF65FA3305F mov rcx, [rsp+158h+var_18]
.text:00007FF65FA33067 xor rcx, rsp ; StackCookie
.text:00007FF65FA3306A call __security_check_cookie
.text:00007FF65FA3306F add rsp, 150h
.text:00007FF65FA33076 pop rbx
.text:00007FF65FA33077 retn
.text:00007FF65FA33077 sub_7FF65FA32FE0 endp
.text:00007FF65FA33077
.text:00007FF65FA33077 ; ---------------------------------------------------------------------------
.text:00007FF65FA33078 algn_7FF65FA33078: ; DATA XREF: .pdata:00007FF65FA7D2C4o
.text:00007FF65FA33078 align 20h
.text:00007FF65FA33080
.text:00007FF65FA33080 ; =============== S U B R O U T I N E =======================================
.text:00007FF65FA33080
.text:00007FF65FA33080
.text:00007FF65FA33080 ; DWORD __stdcall sub_7FF65FA33080(LPVOID lpThreadParameter)
.text:00007FF65FA33080 sub_7FF65FA33080 proc near ; DATA XREF: sub_7FF65FA33120+291o
.text:00007FF65FA33080 ; .pdata:00007FF65FA7D2D0o
.text:00007FF65FA33080
.text:00007FF65FA33080 var_138 = qword ptr -138h
.text:00007FF65FA33080 Dest = byte ptr -130h
.text:00007FF65FA33080 var_30 = dword ptr -30h
.text:00007FF65FA33080 var_2C = byte ptr -2Ch
.text:00007FF65FA33080 var_28 = word ptr -28h
.text:00007FF65FA33080 var_18 = qword ptr -18h
.text:00007FF65FA33080
.text:00007FF65FA33080 push rbx
.text:00007FF65FA33082 sub rsp, 150h
.text:00007FF65FA33089 mov rax, cs:__security_cookie
.text:00007FF65FA33090 xor rax, rsp
.text:00007FF65FA33093 mov [rsp+158h+var_18], rax
.text:00007FF65FA3309B mov rbx, rcx
.text:00007FF65FA3309E lea rdx, aTieX1 ; "TIE/X1"
.text:00007FF65FA330A5 lea rcx, [rsp+158h+Dest] ; Dest
.text:00007FF65FA330AA mov r8d, 7 ; Count
.text:00007FF65FA330B0 call strncpy
.text:00007FF65FA330B5 lea rax, off_7FF65FA73680
.text:00007FF65FA330BC mov [rsp+158h+var_30], 63h
.text:00007FF65FA330C7 mov [rsp+158h+var_138], rax
.text:00007FF65FA330CC lea rcx, [rsp+158h+var_138]
.text:00007FF65FA330D1 mov eax, 0Ah
.text:00007FF65FA330D6 mov [rsp+158h+var_2C], 9
.text:00007FF65FA330DE mov rdx, rbx
.text:00007FF65FA330E1 mov [rsp+158h+var_28], ax
.text:00007FF65FA330E9 call sub_7FF65FA36630
.text:00007FF65FA330EE test al, al
.text:00007FF65FA330F0 mov ecx, 29Ah
.text:00007FF65FA330F5 mov edx, 22Bh
.text:00007FF65FA330FA cmovnz ecx, edx
.text:00007FF65FA330FD mov eax, ecx
.text:00007FF65FA330FF mov rcx, [rsp+158h+var_18]
.text:00007FF65FA33107 xor rcx, rsp ; StackCookie
.text:00007FF65FA3310A call __security_check_cookie
.text:00007FF65FA3310F add rsp, 150h
.text:00007FF65FA33116 pop rbx
.text:00007FF65FA33117 retn
.text:00007FF65FA33117 sub_7FF65FA33080 endp
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment