Function at 0x5a2a40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov esi, esp
mov dword [esi + 0x288], ebp
mov dword [esi + 0x28c], esp
mov dword [esi + 0x298], 0xffffffff
mov dword [esi + 0x294], 0x705040
lea eax, [esi + 0x290]
mov edi, dword fs:[0]
mov dword [esi + 0x290], edi
mov dword fs:[0], eax
mov dword [esi + 0x184], edx
mov eax, dword [edx]
movss xmm3, dword [edx + 0xc]
cmp eax, 2
jae 0x5a2a9e
jmp 0x5a2ab0
mov edi, dword [edx + 4]
mov dword [esi + 0x2c], edi
lock inc dword [edi]
jle 0x5a3c28
mov ebx, dword [edx + 8]
mov edi, dword [esi + 0x2c]
movss dword [esi + 0x58], xmm3
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], ebx
movups xmm0, xmmword [ecx + 0x68]
mov dword [esi + 0x180], edx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x10], eax
mov dword [esi + 0x60], edi
mov edi, dword [ecx + 0x58]
mov dword [esi + 0x64], ebx
mov ebx, dword [ecx + 0x64]
mov dword [esi + 8], edi
mov edi, dword [ecx + 0x5c]
mov dword [esi + 0xf4], ebx
mov dword [esi], ebx
mov dword [esi + 0x40], edi
mov edi, dword [ecx + 0x60]
mov dword [esi + 0xf0], edi
movups xmmword [esi + 0xd8], xmm0
xorps xmm0, xmm0
mov dword [esi + 0x18], edi
ucomiss xmm3, xmm0
jne 0x5a2b0d
jp 0x5a2b0d
mov edi, dword [esi + 8]
jmp 0x5a2b1f
ucomiss xmm3, xmm3
jp 0x5a45ae
mov edi, dword [esi + 8]
movd eax, xmm3
xor edi, eax
mov ecx, dword [esi + 0x40]
mov edx, 0x2df45158
mov eax, edi
movss dword [esi + 0x24], xmm3
mul edx
mov dword [esi + 8], eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
imul edx, ecx, 0x2df45158
bswap ecx
add edx, eax
mov eax, ecx
imul ecx, ecx, 0xa7ae0bd2
mov dword [esi + 0x40], edx
mov edx, 0xb36a80d2
mul edx
mov ebx, eax
add ecx, edx
imul eax, edi, 0xb36a80d2
mov edx, 0x2df45158
add eax, ecx
mov ecx, dword [esi + 8]
bswap ebx
bswap eax
xor ebx, dword [esi + 0x40]
xor ecx, dword [esi + 0x10]
xor ecx, eax
mov eax, ecx
mov edi, ecx
mul edx
bswap edi
mov dword [esi + 8], eax
imul eax, ecx, 0x2d7f954c
imul ecx, ebx, 0x2df45158
bswap ebx
add eax, edx
add ecx, eax
mov eax, ebx
imul ebx, ebx, 0xa7ae0bd2
mov dword [esi + 0x40], ecx
mov ecx, 0xb36a80d2
mul ecx
add ebx, edx
imul edx, edi, 0xb36a80d2
mov ecx, eax
add edx, ebx
bswap ecx
bswap edx
xor ecx, dword [esi + 0x40]
xor edx, dword [esi + 8]
cmp dword [esi + 0x10], 2
mov dword [esi + 0xec], ecx
mov dword [esi + 0xe8], edx
jne 0x5a2c09
mov eax, dword [esi + 0x2c]
lea ecx, [esi + 0xd8]
lea edx, [eax + 8]
push dword [esi + 0x14]
call fcn.005ae9b0
movss xmm3, dword [esi + 0x24]
add esp, 4
mov eax, dword [esi + 0xf4]
mov edi, dword [esi + 0xf0]
mov edx, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov dword [esi], eax
mov dword [esi + 0x18], edi
mov eax, dword [esi]
mov dword [esi + 8], edx
bswap eax
mov edi, eax
mul edx
imul edi, ecx
mov dword [esi + 0x40], eax
mov eax, dword [esi]
bswap ecx
add edx, edi
mov edi, dword [esi + 0x18]
not eax
mov ebx, edi
imul eax, ecx
not edi
bswap ebx
mov dword [esi], eax
mov eax, ecx
mov ecx, dword [esi + 8]
imul ebx, dword [esi + 8]
bswap ecx
add ebx, edx
mul edi
imul edi, ecx
mov ecx, dword [esi + 8]
add edx, dword [esi]
bswap eax
xor eax, ebx
add edi, edx
bswap edi
xor edi, dword [esi + 0x40]
test cl, 0x20
mov edx, edi
cmove edi, eax
cmovne edx, eax
mov eax, edi
shld eax, edx, cl
shld edx, edi, cl
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x38], eax
mov eax, edx
mov dword [esi + 0x34], edx
shr eax, 0x19
cmp dword [esi + 0x10], 2
movd xmm0, eax
mov edi, dword [ecx + 0x48]
mov eax, dword [ecx + 0x4c]
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x90], xmm0
lea ecx, [edi - 0x90]
mov dword [esi + 8], eax
mov dword [esi + 0x20], edi
mov dword [esi], ecx
jne 0x5a2d81
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x250], 0
add eax, 8
mov dword [esi + 0x40], eax
nop
and edx, dword [esi + 8]
mov eax, dword [esi + 0x20]
movdqa xmm0, xmmword [esi + 0x90]
movdqu xmm1, xmmword [eax + edx]
mov dword [esi + 0x18], edx
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x1a0], xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x5a2d2a
movdqa xmm1, xmmword [esi + 0x1a0]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5a2e38
mov eax, dword [esi + 0x250]
lea edx, [edx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x250], eax
jmp 0x5a2cc0
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
je 0x5a2cea
mov ebx, eax
mov ecx, dword [esi]
tzcnt edi, ebx
add edi, edx
and edi, dword [esi + 8]
neg edi
lea eax, [edi + edi*8]
shl eax, 4
movss xmm0, dword [ecx + eax]
ucomiss xmm0, xmm3
jne 0x5a2d20
jp 0x5a2d20
add eax, dword [esi]
cmp dword [eax + 4], 2
jne 0x5a2d20
mov ecx, dword [esi + 0x14]
cmp dword [eax + 0xc], ecx
jne 0x5a2d20
mov eax, dword [eax + 8]
add eax, 8
push dword [esi + 0x14]
push dword [esi + 0x40]
push eax
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x18]
movss xmm3, dword [esi + 0x24]
add esp, 0xc
test eax, eax
jne 0x5a2d20
jmp 0x5a2e05
pcmpeqd xmm0, xmm0
mov ecx, edx
mov dword [esi + 0x18], 0
and ecx, dword [esi + 8]
mov eax, dword [esi + 0x20]
movdqa xmm2, xmmword [esi + 0x90]
movdqu xmm1, xmmword [eax + ecx]
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test edx, edx
jne 0x5a2ddc
pcmpeqb xmm1, xmm0
pmovmskb edx, xmm1
test edx, edx
jne 0x5a2e38
mov eax, dword [esi + 0x18]
lea ecx, [ecx + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x18], eax
jmp 0x5a2d8e
lea edi, [edx - 1]
and edi, edx
test di, di
mov edx, edi
je 0x5a2dad
tzcnt edi, edx
mov eax, dword [esi]
add edi, ecx
and edi, dword [esi + 8]
neg edi
lea ebx, [edi + edi*8]
shl ebx, 4
movss xmm2, dword [eax + ebx]
ucomiss xmm2, xmm3
jne 0x5a2dd0
jp 0x5a2dd0
add ebx, dword [esi]
mov eax, dword [esi + 0x10]
cmp dword [ebx + 4], eax
jne 0x5a2dd0
lea eax, [edi + edi*8]
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x64]
shl eax, 4
add dword [esi + 0x20], eax
mov eax, dword [esi + 0x10]
cmp eax, 3
ja 0x5a2e25
cmp eax, 2
jne 0x5a43bd
lock dec dword [ecx]
jne 0x5a43bd
call fcn.004f2ff0
jmp 0x5a43bd
mov eax, dword [esi + 0x28]
cmp dword [eax + 0x50], 0
lea edi, [eax + 0x48]
jne 0x5a2e64
lea edx, [eax + 0x58]
mov ecx, edi
mov dword [esi + 0x298], 0
mov dword [esi], edi
call fcn.00712ee0
mov eax, dword [esi + 0x28]
movss xmm3, dword [esi + 0x24]
mov edi, dword [esi]
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x2c]
mov edx, dword [esi + 0x14]
movss dword [esi + 0x268], xmm3
mov dword [esi + 0x26c], ecx
mov dword [esi + 0x270], ebx
mov dword [esi + 0x274], edx
mov edx, dword [esi + 0x34]
mov ebx, dword [esi + 0x38]
mov dword [esi + 0x278], edx
mov edx, dword [eax + 0x84]
mov dword [esi + 0x27c], ebx
mov dword [esi + 0x280], edi
mov dword [esi + 0x284], edi
test edx, edx
je 0x5a44cf
mov edi, dword [esi + 0x184]
mov ecx, dword [eax + 0x88]
mov eax, dword [edi]
mov dword [esi + 0x24], edi
cmp eax, 2
jne 0x5a2f90
mov dword [esi + 0x40], ecx
movzx eax, word [edx + 0x10e]
xor edi, edi
mov ebx, 0xffffffff
mov dword [esi], edx
mov dword [esi + 0x20], eax
lea eax, [eax*4]
lea ecx, [eax + eax*2]
mov dword [esi + 0x18], ecx
jmp 0x5a2f0c
add edi, 0xc
inc ebx
test al, al
je 0x5a2fdf
cmp ecx, edi
je 0x5a2f6a
cmp dword [edx + edi + 4], 2
mov al, 1
jne 0x5a2f00
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov eax, dword [esi]
add ecx, 8
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 8]
mov edx, dword [eax + edi + 8]
mov eax, dword [esi]
mov eax, dword [eax + edi + 0xc]
add edx, 8
sub ecx, eax
cmovb eax, dword [esi + 8]
mov dword [esi + 0x10], ecx
push eax
push edx
push dword [esi + 0x14]
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 0x18]
add esp, 0xc
mov edx, dword [esi + 0x10]
test eax, eax
cmovne edx, eax
test edx, edx
mov edx, dword [esi]
setne al
jns 0x5a2f00
inc ebx
jmp 0x5a2f6d
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x40]
sub eax, 1
jb 0x5a44cf
mov edx, dword [edx + ebx*4 + 0x110]
mov dword [esi + 0x40], eax
jmp 0x5a2ed0
movzx edi, word [edx + 0x10e]
test edi, edi
je 0x5a2fc9
mov dword [esi + 0x40], ecx
mov ecx, edx
lea edx, [edi*4]
mov dword [esi], edi
xor edi, edi
xor ebx, ebx
lea edx, [edx + edx*2]
cmp eax, dword [ecx + edi + 4]
jb 0x5a2fc2
je 0x5a2fdd
add edi, 0xc
inc ebx
cmp edx, edi
jne 0x5a2fb0
mov ebx, dword [esi]
mov edx, ecx
mov ecx, dword [esi + 0x40]
jmp 0x5a2fcb
xor ebx, ebx
sub ecx, 1
jb 0x5a44cf
mov edx, dword [edx + ebx*4 + 0x110]
jmp 0x5a2f90
mov edx, ecx
lea eax, [ebx + ebx*2]
mov ecx, dword [edx + eax*4 + 0x90]
test ecx, ecx
je 0x5a3ebb
mov eax, dword [edx + eax*4 + 0x88]
mov dword [esi + 0x178], ecx
lea edi, [ecx*4]
mov dword [esi + 0x1fc], eax
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
jne 0x5a302e
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5a45b9
mov dword [0x919820], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5a45b9
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1b0], eax
mov eax, dword [esi + 0x178]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x180]
mov dword [esi + 0x8c], 0
mov dword [esi + 0x1b4], eax
lea eax, [edx + 0x34]
mov dword [esi + 0x1b8], 0
mov dword [esi + 0x17c], eax
lea eax, [edx + 0x10]
mov dword [esi + 0x1dc], eax
lea eax, [edx + 0x30]
mov dword [esi + 0x174], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
mov edi, dword [esi + 0x1fc]
mov dword [esi + 0x208], eax
lea eax, [eax + eax*2]
movd xmm0, dword [ecx + 0xc]
mov ebx, dword [edi + eax*4]
mov eax, dword [edi + eax*4 + 8]
movd dword [esi + 0x24], xmm0
mov dword [esi + 0x188], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x18c], eax
mov eax, dword [edx + 0x38]
mov dword [esi + 0x10], ebx
test eax, eax
je 0x5a43d8
mov ecx, dword [edx + 0x3c]
mov dword [esi + 0x20], ecx
mov edx, eax
add eax, 0x10c
movzx ecx, word [edx + 0x192]
mov dword [esi + 0x40], edx
lea ebx, [edx - 4]
mov edx, 0xffffffff
mov dword [esi + 0x1a0], ecx
lea ecx, [ecx*4]
lea edi, [ecx + ecx*2]
nop dword [eax]
test edi, edi
je 0x5a3170
lea ecx, [eax + 0xc]
mov dword [esi], edx
mov edx, dword [esi + 0x18]
mov dword [esi + 8], ebx
mov dword [esi + 0x14], ecx
mov ecx, dword [eax + 8]
mov ebx, edx
sub ebx, ecx
cmovb ecx, edx
push ecx
push dword [eax]
push dword [esi + 0x10]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi]
add esp, 0xc
test eax, eax
cmovne ebx, eax
xor ecx, ecx
mov eax, 0xff
test ebx, ebx
mov ebx, dword [esi + 8]
setne cl
cmovs ecx, eax
mov eax, dword [esi + 0x14]
add edi, 0xfffffff4
inc edx
add ebx, 0x18
cmp cl, 1
je 0x5a3110
movzx eax, cl
test eax, eax
je 0x5a31a0
jmp 0x5a3176
mov edx, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x40]
sub ecx, 1
jb 0x5a43d8
mov eax, dword [eax + edx*4 + 0x194]
mov dword [esi + 0x20], ecx
jmp 0x5a30e3
mov edx, dword [ebx - 4]
mov ecx, dword [ebx]
lock inc dword [edx]
mov eax, dword [esi + 0x17c]
jle 0x5a3c28
add ebx, 0xffffffec
mov dword [esi + 0x34], edx
movsd xmm1, qword [ebx + 8]
movsd xmm0, qword [ebx]
mov dword [esi + 0x168], edx
mov dword [esi + 0x16c], ecx
movsd qword [esi + 0xa8], xmm1
movss xmm1, dword [esi + 0x24]
movsd qword [esi + 0xa0], xmm0
mulss xmm1, dword [eax]
mov eax, dword [ecx + 8]
mov byte [esi + 0xf], 1
mov dword [esi + 0x298], 3
dec eax
movss dword [esi + 0x24], xmm1
and eax, 0xfffffff8
lea eax, [eax + edx + 8]
mov dword [esi + 0x90], eax
push eax
mov dword [esi + 0x2c], ecx
call dword [ecx + 0xc]
add esp, 4
fstp dword [esi + 0x244]
test eax, eax
je 0x5a4438
mov eax, dword [esi + 0x2c]
movss xmm0, dword [esi + 0x244]
mov eax, dword [eax + 0x14]
movss dword [esi], xmm0
mov byte [esi + 0xf], 1
push dword [esi + 0x90]
mov dword [esi + 0x30], eax
call eax
add esp, 4
fstp dword [esi + 0x240]
mov eax, dword [esi + 0x2c]
movss xmm0, dword [esi + 0x240]
mov eax, dword [eax + 0x18]
movss dword [esi + 8], xmm0
mov byte [esi + 0xf], 1
push dword [esi + 0x90]
mov dword [esi + 0x3c], eax
call eax
add esp, 4
fstp dword [esi + 0x23c]
movss xmm1, dword [esi + 8]
movss xmm0, dword [esi + 0x24]
mov edx, dword [esi + 0x18c]
mov eax, dword [esi + 0x188]
subss xmm1, dword [esi + 0x23c]
test edx, edx
mov dword [esi + 0x38], eax
mov dword [esi + 0x10], edx
divss xmm1, dword [esi]
mulss xmm0, xmm1
movss xmm1, dword [esi + 0xa0]
movss dword [esi + 0x24], xmm0
movss dword [esi + 0x190], xmm0
movss dword [esi], xmm1
je 0x5a3310
setns bl
js 0x5a44a3
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov edi, dword [esi + 0x28]
test eax, eax
jne 0x5a32f4
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edx, dword [esi + 0x10]
test eax, eax
je 0x5a4492
mov dword [0x919820], eax
push edx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esi + 0x10]
test eax, eax
jne 0x5a3318
jmp 0x5a4492
mov edi, dword [esi + 0x28]
mov eax, 1
mov dword [esi + 0x18], eax
push edx
push dword [esi + 0x38]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movss xmm0, dword [esi + 0x24]
mulss xmm0, dword [esi]
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x238]
movss xmm0, dword [esi + 0x238]
mov dword [esi + 0x20], 0
movaps xmm1, xmm0
cvttss2si eax, xmm0
subss xmm1, dword [0x7255a4]
mov ecx, eax
sar ecx, 0x1f
cvttss2si edx, xmm1
xorps xmm1, xmm1
and edx, ecx
mov ecx, dword [edi + 0x1c]
or edx, eax
xor eax, eax
ucomiss xmm0, xmm1
cmovb edx, eax
ucomiss xmm0, dword [0x725624]
mov eax, 0xffffffff
mov dword [esi + 0xf4], ecx
mov ecx, 0x2df45158
cmova edx, eax
mov eax, dword [edi + 0x18]
mov edi, dword [edi + 0x10]
mov dword [esi + 0x24], edx
xor edi, edx
mov dword [esi + 0xf0], eax
mov eax, edi
mul ecx
mov ecx, dword [esi + 0x28]
mov dword [esi], eax
imul eax, edi, 0x2d7f954c
bswap edi
add eax, edx
mov edx, 0xb36a80d2
mov ebx, dword [ecx + 0x14]
imul ecx, ebx, 0x2df45158
bswap ebx
add ecx, eax
mov eax, ebx
imul ebx, ebx, 0xa7ae0bd2
mul edx
bswap eax
add ebx, edx
imul edx, edi, 0xb36a80d2
xor eax, ecx
mov ecx, dword [esi + 0x28]
add ebx, edx
mov edx, dword [esi + 0x18]
bswap ebx
xor ebx, dword [esi]
movups xmm0, xmmword [ecx + 0x20]
lea ecx, [esi + 0xd8]
movups xmmword [esi + 0xd8], xmm0
mov dword [esi + 0xec], eax
mov dword [esi + 0xe8], ebx
push dword [esi + 0x10]
call fcn.005ae9b0
add esp, 4
mov ebx, dword [esi + 0xf4]
mov edx, dword [esi + 0xec]
mov edi, dword [esi + 0xf0]
mov eax, ebx
mov dword [esi + 0x14], edx
not ebx
bswap eax
mov ecx, eax
imul ecx, edx
mov edx, dword [esi + 0xe8]
mov dword [esi], edx
mul edx
add edx, ecx
mov ecx, edi
mov dword [esi + 8], eax
mov eax, dword [esi + 0x14]
not edi
bswap ecx
imul ecx, dword [esi]
bswap eax
imul ebx, eax
add ecx, edx
mul edi
add edx, ebx
mov ebx, dword [esi]
bswap eax
xor eax, ecx
mov ecx, dword [esi]
bswap ebx
imul edi, ebx
add edi, edx
mov edx, eax
bswap edi
xor edi, dword [esi + 8]
test cl, 0x20
cmovne edx, edi
cmovne edi, eax
mov eax, dword [esi + 0x28]
shld edi, edx, cl
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x204], edi
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esi + 0x14], eax
mov eax, edi
mov dword [esi + 0x1a0], ebx
shr eax, 0x19
movd xmm0, eax
mov dword [esi + 0x200], eax
lea eax, [ebx - 0x14]
punpcklbw xmm0, xmm0
mov dword [esi], eax
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movdqa xmmword [esi + 0x250], xmm0
nop dword [eax]
and edi, dword [esi + 0x14]
mov eax, dword [esi + 0x1a0]
movdqa xmm0, xmmword [esi + 0x250]
movdqu xmm1, xmmword [eax + edi]
mov dword [esi + 8], edi
pcmpeqb xmm0, xmm1
movdqa xmmword [esi + 0x40], xmm1
pmovmskb eax, xmm0
test eax, eax
jne 0x5a353a
movdqa xmm1, xmmword [esi + 0x40]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x5a3601
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 8]
lea edi, [edi + eax + 0x10]
add eax, 0x10
mov dword [esi + 0x20], eax
jmp 0x5a34d0
lea eax, [edi - 1]
and eax, edi
test ax, ax
je 0x5a34fa
mov edi, eax
tzcnt eax, edi
add eax, dword [esi + 8]
and eax, dword [esi + 0x14]
neg eax
lea ebx, [eax + eax*4]
mov eax, dword [esi]
cmp dword [eax + ebx*4], edx
jne 0x5a3530
mov eax, dword [esi]
lea eax, [eax + ebx*4]
cmp dword [eax + 0xc], ecx
jne 0x5a3530
push ecx
push dword [esi + 0x18]
push dword [eax + 4]
call sub.VCRUNTIME140.dll_memcmp
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
add esp, 0xc
test eax, eax
jne 0x5a3530
mov eax, dword [esi + 0x18]
test eax, eax
je 0x5a358f
test ecx, ecx
je 0x5a358f
push eax
push 0
push dword [0x919820]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x34]
lea edx, [eax + ebx*4]
add edx, 0xfffffffc
lock dec dword [ecx]
jne 0x5a35bd
mov dword [esi], edx
mov edx, dword [esi + 0x2c]
mov byte [esi + 0xf], 0
mov dword [esi + 0x298], 3
call fcn.004240a0
mov edx, dword [esi]
mov eax, dword [edx]
lock inc dword [eax]
jle 0x5a3c28
mov eax, dword [edx]
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x1f8]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0x208]
inc ecx
mov edx, dword [esi + 0x28]
mov dword [esi + 0x8c], ecx
mov ecx, dword [esi + 0x180]
inc eax
cmp eax, dword [esi + 0x178]
jne 0x5a30a0
jmp 0x5a3c2c
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x174]
cmp dword [ecx + 8], 0
jne 0x5a362b
mov edx, dword [esi + 0x1dc]
mov dword [esi + 0x298], 0xa
call fcn.00713840
mov edx, dword [esi + 0x174]
mov ecx, dword [esi + 0x17c]
mov eax, dword [esi + 0x38]
mov dword [esi + 0x58], edx
mov edi, dword [esi + 0x10]
mov ebx, dword [edx]
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x6c], eax
lea eax, [esi + 0x190]
mov dword [esi + 0x70], eax
lea eax, [esi + 0xa0]
mov dword [esi + 0x74], eax
lock inc dword [ebx]
jle 0x5a3c28
mov eax, dword [edx]
movss xmm0, dword [ecx]
test edi, edi
mov dword [esi + 0x40], eax
mov dword [esi + 0x248], eax
movss dword [esi], xmm0
je 0x5a36cb
mov edi, dword [esi + 0x34]
setns bl
js 0x5a4595
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
mov ecx, dword [esi + 0x10]
test eax, eax
jne 0x5a36b8
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x5a4576
mov dword [0x919820], eax
mov ecx, dword [esi + 0x10]
push ecx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
jne 0x5a36d3
jmp 0x5a4576
mov edi, dword [esi + 0x34]
mov eax, 1
push dword [esi + 0x10]
push dword [esi + 0x38]
mov dword [esi + 0x20], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movss xmm1, dword [esi + 0x190]
mov eax, dword [esi + 0x40]
movss xmm3, dword [esi + 0xa0]
movss xmm5, dword [esi + 0xa4]
movss xmm4, dword [esi + 0xa8]
movss xmm2, dword [esi + 0xac]
mov ecx, dword [esi + 0x2c]
xorps xmm0, xmm0
mov dword [esi + 0x194], edi
ucomiss xmm1, xmm0
mov dword [esi + 0x24c], eax
mov dword [esi + 0x198], ecx
jbe 0x5a454f
movss dword [esi + 0x14], xmm2
movss xmm2, dword [esi]
mov eax, dword [esi + 0x90]
movss dword [esi + 0x38], xmm5
movss dword [esi + 0x250], xmm4
movss dword [esi + 0x1a0], xmm3
movss dword [esi + 8], xmm1
mov dword [esi + 0x298], 7
ucomiss xmm2, xmm0
jbe 0x5a452f
mov byte [esi + 7], 1
push eax
call dword [esi + 0x30]
add esp, 4
fstp dword [esi + 0x234]
movss xmm0, dword [esi + 0x234]
mov byte [esi + 7], 1
movss dword [esi + 0x1f4], xmm0
push dword [esi + 0x90]
call dword [esi + 0x3c]
add esp, 4
fstp dword [esi + 0x230]
movss xmm0, dword [esi + 0x230]
mov byte [esi + 7], 1
movss dword [esi + 0x1f0], xmm0
push dword [esi + 0x90]
call dword [esi + 0x30]
add esp, 4
fstp dword [esi + 0x22c]
movss xmm0, dword [esi + 0x22c]
mov byte [esi + 7], 1
movss dword [esi + 0x1ec], xmm0
push dword [esi + 0x90]
call dword [esi + 0x30]
add esp, 4
fstp dword [esi + 0x228]
movss xmm0, dword [esi + 0x228]
mov byte [esi + 7], 1
movss dword [esi + 0x1e8], xmm0
push dword [esi + 0x90]
call dword [esi + 0x3c]
add esp, 4
fstp dword [esi + 0x224]
movss xmm0, dword [esi + 0x224]
mov byte [esi + 7], 1
movss dword [esi + 0x1e4], xmm0
push dword [esi + 0x90]
call dword [esi + 0x3c]
add esp, 4
fstp dword [esi + 0x220]
movss xmm0, dword [esi + 0x220]
mov byte [esi + 7], 1
movss dword [esi + 0x1e0], xmm0
push dword [esi + 0x90]
call dword [esi + 0x30]
add esp, 4
fstp dword [esi + 0x21c]
movss xmm0, dword [esi + 0x21c]
mov byte [esi + 7], 1
movss dword [esi + 0x30], xmm0
push dword [esi + 0x90]
call dword [esi + 0x3c]
add esp, 4
fstp dword [esi + 0x218]
movss xmm0, dword [esi + 0x218]
mov byte [esi + 7], 1
movss dword [esi + 0x3c], xmm0
push dword [esi + 0x90]
mov eax, dword [esi + 0x2c]
call dword [eax + 0x20]
add esp, 4
fstp dword [esi + 0x214]
mov eax, dword [esi + 0x34]
movss xmm0, dword [esi + 0x214]
mov dword [esi + 0x298], 8
mov dword [esi + 0x158], eax
mov eax, dword [esi + 0x2c]
movss dword [esi + 0x90], xmm0
mov dword [esi + 0x15c], eax
call fcn.005b2840
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0xc]
add esp, 4
lea ecx, [esi + 0x100]
mov edx, 0x85a308d3
push eax
lea eax, [0x89c390]
push eax
push 0x13198a2e
push 0x3707344
push 0x243f6a88
call fcn.00410e80
add esp, 0x14
movss xmm1, dword [esi + 0x1f4]
movss xmm2, dword [esi + 0x1e8]
movss xmm5, dword [esi + 0x30]
movss xmm4, dword [esi + 8]
movss xmm3, dword [esi + 0x1a0]
subss xmm1, dword [esi + 0x1f0]
subss xmm2, dword [esi + 0x1e4]
subss xmm5, dword [esi + 0x3c]
movaps xmm0, xmm4
divss xmm0, xmm1
movaps xmm1, xmm4
divss xmm1, xmm2
movaps xmm2, xmm3
addss xmm3, dword [0x725a60]
mulss xmm2, xmm4
divss xmm4, xmm5
movss xmm5, dword [esi]
movaps xmm6, xmm2
movss dword [esi + 0x30], xmm2
mulss xmm3, dword [0x725640]
mulss xmm0, dword [esi + 0x1ec]
mulss xmm1, dword [esi + 0x1e0]
mulss xmm4, dword [esi + 0x90]
divss xmm0, xmm5
divss xmm1, xmm5
divss xmm4, xmm5
movaps xmm2, xmm0
subss xmm2, xmm1
addss xmm1, xmm0
addss xmm4, xmm2
movaps xmm2, xmm6
mulss xmm1, xmm3
divss xmm2, xmm5
movss dword [esi + 8], xmm4
movss xmm4, dword [esi + 0x14]
mulss xmm4, xmm2
mulss xmm2, dword [esi + 0x38]
addss xmm4, xmm0
movss dword [esi + 0x14], xmm4
addss xmm2, dword [esi + 0x250]
addss xmm1, xmm2
mulss xmm1, xmm5
sub esp, 4
movss dword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x210]
movss xmm0, dword [esi + 0x210]
divss xmm0, dword [esi]
movss dword [esi + 0x1a0], xmm0
sub esp, 4
movss xmm0, dword [esi + 0x30]
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
fstp dword [esi + 0x20c]
mov edi, 0
movss xmm0, dword [esi + 0x20c]
movd xmm2, dword [esi + 0x14]
movaps xmm1, xmm0
cvttss2si ecx, xmm0
subss xmm1, dword [0x7255a4]
mov edx, ecx
sar edx, 0x1f
cvttss2si eax, xmm1
xorps xmm1, xmm1
and eax, edx
mov edx, dword [esi + 0x34]
or eax, ecx
ucomiss xmm0, xmm1
movss xmm1, dword [esi + 0x1a0]
cmovb eax, edi
mov edi, dword [esi + 0x20]
ucomiss xmm0, dword [0x725624]
movss xmm0, dword [esi + 8]
mov dword [esi + 0xe0], edx
mov edx, dword [esi + 0x2c]
mov dword [esi + 0xe4], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0xe8], 0
mov dword [esi + 0xf0], 0x8cdfe0
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0xfc], 0
mov dword [esi + 0x120], edi
mov edi, dword [esi + 0x40]
mov dword [esi + 0x124], edx
mov dword [esi + 0x128], edx
mov edx, 0xffffffff
mov dword [esi + 0x12c], edi
cmova eax, edx
mov dword [esi + 0x130], eax
movss dword [esi + 0x134], xmm0
movss dword [esi + 0x138], xmm1
movd xmm1, dword [esi]
movd dword [esi + 0x13c], xmm2
movd dword [esi + 0x140], xmm1
mov dword [esi + 0xd8], 1
mov dword [esi + 0xdc], 1
movzx eax, byte [0x919aa5]
mov eax, dword [0x919820]
test eax, eax
je 0x5a3b37
mov edi, dword [esi + 0x28]
jmp 0x5a3b4d
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edi, dword [esi + 0x28]
test eax, eax
je 0x5a44b1
mov dword [0x919820], eax
push 0x70
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x5a44b1
mov ecx, eax
push 0x70
lea eax, [esi + 0xd8]
push eax
mov dword [esi], ecx
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edi, dword [esi + 0x204]
and edi, ecx
movdqu xmm0, xmmword [eax + edi]
pmovmskb edx, xmm0
test edx, edx
jne 0x5a3bb4
mov ebx, 0x10
nop word cs:[eax + eax]
nop
add edi, ebx
add ebx, 0x10
and edi, ecx
movdqu xmm0, xmmword [eax + edi]
pmovmskb edx, xmm0
test edx, edx
je 0x5a3ba0
tzcnt edx, edx
add edx, edi
and edx, ecx
movzx ebx, byte [eax + edx]
test bl, bl
js 0x5a3bd4
movdqa xmm0, xmmword [eax]
pmovmskb edx, xmm0
tzcnt edx, edx
movzx ebx, byte [eax + edx]
lea edi, [edx - 0x10]
and bl, 1
and edi, ecx
mov ecx, dword [esi + 0x200]
mov byte [eax + edx], cl
mov byte [edi + eax + 0x10], cl
movzx ecx, bl
mov ebx, dword [esi + 0x28]
neg edx
sub dword [ebx + 8], ecx
lea ecx, [edx + edx*4]
mov edx, dword [esi + 0x24]
mov dword [eax + ecx*4 - 0x14], edx
mov edx, dword [esi + 0x18]
mov dword [eax + ecx*4 - 0x10], edx
mov edx, dword [esi + 0x10]
mov dword [eax + ecx*4 - 0xc], edx
mov dword [eax + ecx*4 - 8], edx
mov edx, dword [esi]
mov dword [eax + ecx*4 - 4], edx
inc dword [ebx + 0xc]
lea edx, [eax + ecx*4 - 4]
mov eax, dword [edx]
lock inc dword [eax]
jg 0x5a35c8
ud2
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
test edx, edx
je 0x5a3eca
mov ebx, dword [eax]
mov edi, ecx
movss xmm0, dword [ebx + 0x5c]
movss xmm1, dword [ebx + 0x68]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa8], edx
mov dword [esi + 0x58], 0
mov dword [esi + 0x298], 0xc
movss dword [esi], xmm0
movss dword [esi + 8], xmm1
call fcn.005b2840
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0xc]
add esp, 4
lea ecx, [esi + 0xf8]
mov edx, 0x85a308d3
push eax
lea eax, [0x89c390]
push eax
push 0x13198a2e
push 0x3707344
push 0x243f6a88
call fcn.00410e80
add esp, 0x14
mov eax, dword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
movsd xmm1, qword [esi + 0x60]
movsd xmm3, qword [esi + 0x58]
movd xmm2, dword [esi + 8]
mov dword [esi + 0x120], eax
movsd qword [esi + 0x118], xmm0
movsd qword [esi + 0xe0], xmm1
movss xmm1, dword [esi]
movsd qword [esi + 0xd8], xmm3
mov dword [esi + 0x128], 0
mov dword [esi + 0x124], 0
mov dword [esi + 0x130], 0
mov dword [esi + 0x12c], 0
mov dword [esi + 0x138], 0
mov dword [esi + 0x134], 0
mov dword [esi + 0x140], 0
mov dword [esi + 0x13c], 0
mov dword [esi + 0x148], 0
mov dword [esi + 0x144], 0
mov word [esi + 0x14c], 0
movd dword [esi + 0x150], xmm2
movss dword [esi + 0x154], xmm1
mov dword [esi + 0xe8], 0x8cdfe0
mov dword [esi + 0xec], 0
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 0
mov eax, dword [esi + 0x120]
test eax, eax
je 0x5a3e52
mov ecx, dword [esi + 0x118]
mov dword [esi], 0
lea eax, [ecx + eax*4]
mov dword [esi + 8], ecx
mov dword [esi + 0x10], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [ecx]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x298], 0xd
lea ecx, [esi + 0x1b0]
add edx, 8
push 0x25fb
call fcn.005abf30
add esp, 4
cmp dword [esi + 0x1b0], 0
jne 0x5a3fc3
mov ecx, dword [esi + 0x14]
inc dword [esi]
add ecx, 4
cmp ecx, dword [esi + 0x10]
jne 0x5a3dd0
mov eax, dword [esi + 8]
mov dword [esi], 0
nop dword [eax + eax]
mov edx, dword [eax]
mov dword [esi + 8], eax
lea ecx, [esi + 0x1b0]
add edx, 8
push 0x3f
call fcn.005abf30
add esp, 4
cmp dword [esi + 0x1b0], 0
jne 0x5a403a
mov eax, dword [esi + 8]
inc dword [esi]
add eax, 4
cmp eax, dword [esi + 0x10]
jne 0x5a3e20
lea eax, [esi + 0xa0]
lea ecx, [esi + 0x58]
mov edx, 0x89c470
mov dword [esi + 0xa0], 0x89c468
mov dword [esi + 0xa4], fcn.0042f540
mov dword [esi + 0xa8], 0x89c46c
mov dword [esi + 0x58], 0x89c458
mov dword [esi + 0x5c], 2
mov dword [esi + 0x68], 0
mov dword [esi + 0xac], fcn.0042f540
mov dword [esi + 0x298], 0xd
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], 2
call fcn.00709f70
jmp 0x5a45cf
mov dword [esi + 0x298], 0xb
mov eax, 4
mov dword [esi + 0x194], eax
mov dword [esi + 0x198], ecx
mov dword [esi + 0x19c], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0x298], 0xb
call fcn.005b2840
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 0xc]
add esp, 4
lea edi, [0x89c390]
lea ecx, [esi + 0x58]
mov edx, 0x85a308d3
push eax
push edi
push 0x13198a2e
push 0x3707344
push 0x243f6a88
call fcn.00410e80
add esp, 0x14
movsd xmm0, qword [esi + 0x194]
movsd xmm1, qword [esi + 0xe0]
mov eax, dword [esi + 0x19c]
pxor xmm2, xmm2
mov dword [esi + 0x15c], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0x158], 0
mov dword [esi + 0x162], 0
mov dword [esi + 0x15e], 0
mov dword [esi], 0x8cdfe0
mov dword [esi + 8], 0
movsd qword [esi + 0x168], xmm0
movq xmm0, qword [esi + 0xd8]
movsd qword [esi + 0x1b8], xmm1
movd xmm1, dword [0x7255e0]
mov dword [esi + 0x170], eax
movq qword [esi + 0x1b0], xmm0
pxor xmm0, xmm0
movdqa xmmword [esi + 0xa0], xmm0
jmp 0x5a41f7
mov eax, dword [esi]
movsd xmm1, qword [esi + 0x1bc]
movsd xmm0, qword [esi + 0x1b4]
movq xmm2, qword [esi + 0x1cc]
lea ecx, [esi + 0x58]
lea edx, [esi + 0xe8]
mov dword [esi + 0xa0], eax
movsd qword [esi + 0xac], xmm1
movsd xmm1, qword [esi + 0x1c4]
lea eax, [esi + 0xa0]
movsd qword [esi + 0xa4], xmm0
movq qword [esi + 0xbc], xmm2
movsd qword [esi + 0xb4], xmm1
movsd xmm1, qword [esi + 0x1d4]
movsd qword [esi + 0xc4], xmm1
push eax
push 0x25fb
call fcn.005b3f00
add esp, 8
jmp 0x5a40ac
mov eax, dword [esi]
movsd xmm1, qword [esi + 0x1bc]
movsd xmm0, qword [esi + 0x1b4]
movq xmm2, qword [esi + 0x1cc]
lea ecx, [esi + 0x58]
lea edx, [esi + 0xe8]
mov dword [esi + 0xa0], eax
movsd qword [esi + 0xac], xmm1
movsd xmm1, qword [esi + 0x1c4]
lea eax, [esi + 0xa0]
movsd qword [esi + 0xa4], xmm0
movq qword [esi + 0xbc], xmm2
movsd qword [esi + 0xb4], xmm1
movsd xmm1, qword [esi + 0x1d4]
movsd qword [esi + 0xc4], xmm1
push eax
push 0x3f
call fcn.005b3f00
add esp, 8
lea eax, [esi + 0x1b4]
lea ecx, [esi + 0xe8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esi + 0x58], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x60], xmm1
movsd xmm1, qword [esi + 0x60]
movsd qword [esi + 0x68], xmm0
movsd xmm0, qword [eax + 0x18]
movsd qword [ecx + 0x48], xmm1
movsd qword [esi + 0x70], xmm0
movsd xmm0, qword [eax + 0x20]
mov eax, dword [esi]
movsd qword [esi + 0x78], xmm0
movsd xmm0, qword [esi + 0x78]
movsd qword [ecx + 0x60], xmm0
movsd xmm0, qword [esi + 0x70]
movsd qword [ecx + 0x58], xmm0
movsd xmm0, qword [esi + 0x68]
movsd qword [ecx + 0x50], xmm0
movsd xmm0, qword [esi + 0x58]
movsd qword [ecx + 0x40], xmm0
mov dword [esi + 0x124], eax
mov eax, dword [esi + 0xe8]
movsd xmm1, qword [esi + 0xe0]
movsd xmm0, qword [esi + 0xd8]
movsd xmm3, qword [ecx + 0x5e]
mov dword [esi], eax
mov eax, dword [esi + 0xf4]
movsd qword [esi + 0x1b8], xmm1
movsd qword [esi + 0x1b0], xmm0
movq xmm0, qword [esi + 0xec]
movsd qword [esi + 0x15e], xmm3
mov dword [esi + 8], eax
lea eax, [esi + 0xf8]
movsd xmm1, qword [eax + 0x18]
movsd xmm2, qword [eax + 8]
movsd qword [esi + 0x70], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [esi + 0x60], xmm2
movsd xmm2, qword [ecx + 0x44]
movsd qword [esi + 0x68], xmm1
movsd xmm1, qword [eax]
mov eax, dword [ecx + 0x38]
movsd qword [esi + 0xa8], xmm2
movq xmm2, qword [esi + 0x138]
movsd qword [esi + 0x58], xmm1
movsd xmm1, qword [ecx + 0x30]
mov dword [esi + 0x170], eax
mov eax, dword [ecx + 0x4c]
movsd qword [esi + 0x168], xmm1
movsd xmm1, qword [ecx + 0x3c]
mov dword [esi + 0xb0], eax
movzx eax, word [esi + 0x14e]
movsd qword [esi + 0xa0], xmm1
movsd xmm1, qword [ecx + 0x58]
mov word [esi + 0x18], ax
movsd qword [esi + 0x158], xmm1
movq xmm1, qword [esi + 0x150]
movsd xmm3, qword [esi + 0x268]
movsd xmm4, qword [esi + 0x270]
mov edx, dword [esi + 0x280]
mov edi, dword [esi + 0x278]
movsd qword [esi + 0xe0], xmm4
movsd qword [esi + 0xd8], xmm3
movsd xmm3, qword [esi + 0x1b0]
movsd xmm4, qword [esi + 0x1b8]
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edx
movsd qword [esi + 0xf0], xmm4
movsd qword [esi + 0xe8], xmm3
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov eax, ecx
and eax, edi
movdqu xmm3, xmmword [ebx + eax]
pmovmskb edi, xmm3
test edi, edi
jne 0x5a4284
mov edx, 0x10
nop word cs:[eax + eax]
nop
add eax, edx
add edx, 0x10
and eax, ecx
movdqu xmm3, xmmword [ebx + eax]
pmovmskb edi, xmm3
test edi, edi
je 0x5a4270
tzcnt edi, edi
add edi, eax
and edi, ecx
movzx eax, byte [ebx + edi]
test al, al
js 0x5a42a4
movdqa xmm3, xmmword [ebx]
pmovmskb eax, xmm3
tzcnt edi, eax
movzx eax, byte [ebx + edi]
lea edx, [edi - 0x10]
and al, 1
and edx, ecx
mov ecx, dword [esi + 0x10]
movzx eax, al
shr ecx, 0x19
mov byte [ebx + edi], cl
mov byte [edx + ebx + 0x10], cl
mov edx, dword [esi + 0x14]
neg edi
mov ecx, dword [esi]
sub dword [edx + 8], eax
lea eax, [edi + edi*8]
movsd xmm3, qword [esi + 0xf0]
shl eax, 4
movsd qword [ebx + eax - 0x78], xmm3
movsd xmm3, qword [esi + 0xe8]
movsd qword [ebx + eax - 0x80], xmm3
movsd xmm3, qword [esi + 0xd8]
movsd xmm4, qword [esi + 0xe0]
movsd qword [ebx + eax - 0x88], xmm4
movsd qword [ebx + eax - 0x90], xmm3
mov dword [ebx + eax - 0x70], ecx
mov ecx, dword [esi + 8]
movq qword [ebx + eax - 0x6c], xmm0
mov dword [ebx + eax - 0x64], ecx
movsd xmm0, qword [esi + 0x70]
movsd qword [ebx + eax - 0x48], xmm0
movsd xmm0, qword [esi + 0x68]
movsd qword [ebx + eax - 0x50], xmm0
movsd xmm0, qword [esi + 0x58]
movsd xmm3, qword [esi + 0x60]
movsd qword [ebx + eax - 0x58], xmm3
movsd qword [ebx + eax - 0x60], xmm0
movsd xmm0, qword [esi + 0x168]
movsd qword [ebx + eax - 0x40], xmm0
mov ecx, dword [esi + 0x170]
mov dword [ebx + eax - 0x38], ecx
movsd xmm3, qword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
movsd qword [ebx + eax - 0x2c], xmm3
mov ecx, dword [esi + 0xb0]
movsd qword [ebx + eax - 0x34], xmm0
mov dword [ebx + eax - 0x24], ecx
movq qword [ebx + eax - 0x20], xmm2
movzx ecx, word [esi + 0x18]
movq xmm0, qword [esi + 0x158]
movsd xmm2, qword [esi + 0x15e]
movsd qword [ebx + eax - 0x12], xmm2
movq qword [ebx + eax - 0x18], xmm0
mov word [ebx + eax - 0xa], cx
movq qword [ebx + eax - 8], xmm1
inc dword [edx + 0xc]
add eax, ebx
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x290]
add eax, 0xffffff80
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x58]
lea eax, [esi + 0x188]
mov dword [esi + 0xd8], 0x89c014
mov dword [esi + 0xdc], 1
mov dword [esi + 0xe8], 0
mov edx, 0x89c01c
mov dword [esi + 0x298], 2
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0xd8]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0x693810
mov dword [esi + 0xe4], 1
call fcn.00709f70
jmp 0x5a45cf
lea ecx, [esi + 0x58]
lea eax, [esi + 0x188]
mov dword [esi + 0xd8], 0x89c06c
mov dword [esi + 0xdc], 2
mov dword [esi + 0xe8], 0
mov edx, 0x89c07c
mov byte [esi + 0xf], 1
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0xd8]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0x693810
mov dword [esi + 0xe4], 1
call fcn.00709f70
jmp 0x5a45cf
movzx ecx, bl
mov byte [esi + 0xf], 1
call fcn.00709d20
jmp 0x5a45cf
mov byte [esi + 0xf], 1
call fcn.00425040
jmp 0x5a45cf
mov ecx, 8
mov edx, 0x70
mov dword [esi + 0x298], 9
call fcn.00709d20
jmp 0x5a45cf
lea ecx, [esi + 0x58]
lea eax, [esi + 0x184]
mov dword [esi + 0xd8], 0x89bfdc
mov dword [esi + 0xdc], 2
mov dword [esi + 0xe8], 0
mov edx, 0x89bfec
mov dword [esi + 0x298], 1
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0xd8]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], 0x59d920
mov dword [esi + 0xe4], 1
call fcn.00709f70
jmp 0x5a45cf
mov byte [esi + 7], 1
mov ecx, 0x89c3b0
mov edx, 0x28
push 0x89c3d8
call fcn.0070a0f0
add esp, 4
jmp 0x5a45cf
mov byte [esi + 7], 1
mov dword [esi + 0x298], 7
mov ecx, 0x89c3e8
mov edx, 0x27
push 0x89c410
call fcn.0070a0f0
add esp, 4
jmp 0x5a45cf
mov edx, dword [esi + 0x10]
movzx ecx, bl
mov byte [esi + 0x1d], 0
mov byte [esi + 0x1e], 1
mov dword [esi + 0x298], 6
call fcn.00709d20
jmp 0x5a45cf
mov byte [esi + 0x1d], 0
mov byte [esi + 0x1e], 1
mov dword [esi + 0x298], 6
call fcn.00425040
jmp 0x5a45cf
mov edi, dword [esi + 8]
xor edi, 1
jmp 0x5a2b1f
mov ecx, 4
mov edx, edi
mov dword [esi + 0x298], 1
call fcn.00709d20
ud2