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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x51d0
call fcn.007bcae0
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x84], ecx
movzx ecx, byte [ebp + 0x1c]
mov dword [esp + 0x4c], edx
call 0x5c967a
pop edx
mov dword [esp + 0x64], 0
mov dword [esp + 0xac], edx
movzx ebx, byte [eax + 0x56]
xor eax, eax
test bl, bl
jne 0x5c96a5
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x64], ecx
cmp byte [edx + 0x54], 0
jne 0x5cfe88
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
mov esi, 2
mov edx, ecx
shr ecx, 0x1e
mov dword [esp + 0x50], edi
shld edx, edi, 2
cmp esi, edx
sbb eax, ecx
jae 0x5c96e1
mov ecx, edi
mov eax, edi
add ecx, edi
and eax, 0x3fffffff
sar ecx, 1
and ecx, 0xc0000000
lea eax, [ecx + eax - 0x80000000]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x24]
cmp dword [ebp + 0x18], 0
movsd xmm1, qword [eax + 0xc]
movsd xmm0, qword [eax + 4]
movsd xmm2, qword [eax + 0x30]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
mov bh, byte [eax + 0x50]
mov esi, dword [eax + 0x18]
movsd qword [esp + 0xdc], xmm1
movsd xmm1, qword [eax + 0x38]
movsd qword [esp + 0xd4], xmm0
movsd qword [esp + 0x100], xmm2
movsd xmm2, qword [eax + 0x40]
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xc], esi
mov byte [esp + 0x1c], bh
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [eax + 0x28]
mov dword [esp + 0x10], ecx
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [eax + 0x48]
movsd qword [esp + 0x110], xmm2
movsd qword [esp + 0x118], xmm1
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 8]
mov dword [esp + 0xe4], edx
mov byte [esp + 0x120], bh
mov dword [esp + 0xe8], esi
mov edx, dword [eax + 0x24]
mov esi, dword [eax + 0x20]
mov dword [esp + 0xec], ecx
movzx ecx, byte [eax + 0x51]
mov bh, byte [eax + 0x53]
mov ch, byte [eax + 0x57]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], edx
mov dword [esp + 0x18], edx
movzx edx, byte [eax + 0x59]
mov byte [esp + 0x121], cl
mov byte [esp + 0x44], dl
mov byte [esp + 0x129], dl
movzx edx, byte [eax + 0x5a]
mov byte [esp + 0x34], dl
mov byte [esp + 0x12a], dl
movzx edx, byte [eax + 0x5b]
mov byte [esp + 0x2c], dl
mov byte [esp + 0x12b], dl
movzx edx, byte [eax + 0x5c]
mov byte [esp + 0x48], dl
mov byte [esp + 0x12c], dl
movzx edx, byte [eax + 0x52]
mov byte [esp + 0x122], dl
mov byte [esp + 0x20], dl
movzx edx, byte [eax + 0x54]
mov byte [esp + 0x123], bh
mov byte [esp + 0x5c], dl
mov byte [esp + 0x124], dl
movzx edx, byte [eax + 0x55]
movzx eax, byte [eax + 0x58]
mov byte [esp + 0x125], dl
mov byte [esp + 0x40], dl
mov byte [esp + 0x126], bl
mov byte [esp + 0x127], ch
mov byte [esp + 0x30], al
mov byte [esp + 0x128], al
mov edx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x4c]
je 0x5c99bb
mov eax, dword [ebp + 0x18]
mov byte [esp + 0x6c], ch
mov byte [esp + 0x38], cl
mov dword [esp + 0x60], esi
shr eax, 8
add eax, 2
cmp eax, dword [ebp + 0x34]
jbe 0x5c9a1b
movsd xmm2, qword [0x7d45d0]
movss xmm1, dword [ebp + 0x18]
movss xmm0, dword [ebp + 0x30]
movss xmm3, dword [0x7d5110]
orpd xmm1, xmm2
orpd xmm0, xmm2
subsd xmm1, xmm2
subsd xmm0, xmm2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm1
cvtsd2ss xmm0, xmm0
mulss xmm3, xmm2
ucomiss xmm0, xmm3
jbe 0x5c9a1b
lea eax, [esp + 0x11f4]
push 0x400
push 0
push eax
movss dword [esp + 0x84], xmm2
call fcn.007bdf30
movss xmm2, dword [esp + 0x84]
add esp, 0xc
mov eax, dword [ebp + 0x18]
add eax, 0xc
cmp eax, 0xd
jb 0x5c9923
mov ecx, 0x4ec4ec4f
mul ecx
shr edx, 2
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, edi
and ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp + 8]
jae 0x5cfa90
mov eax, dword [esp + 0x4c]
add edi, 0xd
movzx eax, byte [eax + ecx]
inc dword [esp + eax*4 + 0x11f4]
dec edx
jne 0x5c9900
mulss xmm2, dword [0x7d5114]
movapd xmm0, xmmword [0x7d45c0]
movsd xmm3, qword [0x7d45d0]
xorps xmm4, xmm4
xor eax, eax
mov ecx, 0xfffffc00
divss xmm2, dword [0x7d5118]
nop dword [eax]
movss xmm1, dword [esp + ecx + 0x15f4]
mov edx, dword [esp + ecx + 0x15f4]
orpd xmm1, xmm0
movzx edi, dx
add eax, edx
add ecx, 4
subsd xmm1, xmm3
cvtsd2ss xmm1, xmm1
mulss xmm1, dword [edi*4 + 0x8b17a0]
subss xmm4, xmm1
jne 0x5c9950
movd xmm0, eax
test eax, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
je 0x5c9a0b
cmp eax, 0x100
jae 0x5cb443
movss xmm0, dword [eax*4 + 0x8f1b80]
jmp 0x5cb487
mov ebx, dword [eax]
mov ecx, edx
mov eax, ebx
shr eax, 3
sub ecx, eax
jb 0x5cfe9c
je 0x5cfc0e
cmp ecx, 7
jbe 0x5cfea8
mov edx, dword [ebp + 0x50]
mov ecx, ebx
mov esi, 3
add ebx, 9
and cl, 7
and ebx, 0xfffffff8
shl esi, cl
movzx ecx, byte [edx + eax]
mov dword [edx + eax + 4], 0
or ecx, esi
mov dword [edx + eax], ecx
mov ecx, dword [ebp + 0x4c]
mov dword [ecx], ebx
jmp 0x5cb024
mov eax, dword [ebp + 0x18]
maxss xmm1, xmm4
ucomiss xmm1, xmm2
ja 0x5cb49f
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov edx, eax
shr edx, 3
lea ecx, [edx + 1]
cmp ecx, dword [ebp + 0x54]
jae 0x5cfb77
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp + 0x50]
mov edi, edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edi
lea edx, [ecx + 0x28]
lea eax, [ecx + 4]
add ecx, 0x40
mov dword [esp + 0x68], edx
movzx edx, byte [esi + edi]
mov dh, byte [esi + edi + 1]
mov esi, dword [esp + 8]
cmp esi, 3
mov byte [esp + 0x7e], dl
mov byte [esp + 0x7f], dh
jge 0x5c9db3
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x11f4]
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push dword [esp + 0x58]
push dword [ebp + 8]
call fcn.004260f0
add esp, 0x10
cmp byte [esp + 0x38], 0
je 0x5c9bc8
mov eax, dword [ebp + 0x34]
mov edx, dword [ebp + 0x38]
cmp eax, dword [ebp + 0x3c]
ja 0x5cfeef
mov eax, dword [esp + 0x11f4]
mov esi, dword [esp + 0x11f8]
mov edi, dword [esp + 0x11fc]
mov ebx, dword [esp + 0x1200]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x11f4], 0x93d1f8
mov dword [esp + 0x11f8], 0
mov dword [esp + 0x11fc], 0x93d1f8
mov dword [esp + 0x1200], 0
mov dword [esp + 0x1204], 1
mov dword [esp + 0x1208], 0x93d1f8
mov dword [esp + 0x120c], 0
mov dword [esp + 0x1210], 0x93d1f8
mov dword [esp + 0x1214], 0
mov dword [esp + 0x1218], 0x93d1f8
mov dword [esp + 0x121c], 0
mov dword [esp + 0x1220], 1
mov dword [esp + 0x1224], 0x93d1f8
mov dword [esp + 0x1228], 0
mov dword [esp + 0x122c], 0x93d1f8
mov dword [esp + 0x1230], 0
mov dword [esp + 0x1234], 1
mov dword [esp + 0x1238], 0x93d1f8
mov dword [esp + 0x123c], 0
mov dword [esp + 8], eax
push 0
push dword [ebp + 0x24]
lea eax, [esp + 0x11fc]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x40]
push ebx
push edi
push esi
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.005d01c0
add esp, 0x28
mov eax, dword [ebp + 0x24]
movzx ecx, byte [esp + 0x64]
mov edi, 1
mov edx, dword [eax + 0xc]
xor eax, eax
add edx, 0xffffffff
adc eax, 0xffffffff
cmp edx, 2
mov esi, eax
sbb esi, 0
jb 0x5c9c18
mov edi, 0xffffffff
mov esi, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ebx, eax
shr esi, 1
inc edi
shld ebx, edx, 0x1f
cmp edx, 4
sbb eax, 0
mov edx, ebx
mov eax, esi
jae 0x5c9c00
add edi, 2
mov edx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x54]
push esi
push dword [ebp + 0x50]
mov ebx, dword [ebp + 0x4c]
push ebx
call fcn.00424a40
add esp, 0xc
mov edx, dword [ebx]
mov ecx, edx
shr ecx, 3
cmp ecx, esi
jae 0x5cfc8c
lea eax, [ecx + 7]
cmp eax, esi
jae 0x5cfc98
mov eax, dword [ebp + 0x50]
mov esi, dword [ebp + 0x34]
add edx, 0xd
mov byte [eax + ecx + 7], 0
mov word [eax + ecx + 5], 0
mov dword [eax + ecx + 1], 0
mov ecx, dword [ebp + 0x4c]
cmp esi, 0x81
mov dword [ecx], edx
jae 0x5caadc
push 0x400
push 0
lea eax, [esp + 0x11fc]
push eax
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x3dfc]
movaps xmmword [esp + 0xa50], xmm0
movaps xmmword [esp + 0xa40], xmm0
movaps xmmword [esp + 0xa30], xmm0
movaps xmmword [esp + 0xa20], xmm0
movaps xmmword [esp + 0xa10], xmm0
movaps xmmword [esp + 0xa00], xmm0
movaps xmmword [esp + 0x9f0], xmm0
movaps xmmword [esp + 0x9e0], xmm0
movaps xmmword [esp + 0x9d0], xmm0
movaps xmmword [esp + 0x9c0], xmm0
movaps xmmword [esp + 0x9b0], xmm0
movaps xmmword [esp + 0x9a0], xmm0
movaps xmmword [esp + 0x990], xmm0
movaps xmmword [esp + 0x980], xmm0
movaps xmmword [esp + 0x970], xmm0
movaps xmmword [esp + 0x960], xmm0
push 0x200
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xor ebx, ebx
test esi, esi
je 0x5cadba
mov edx, dword [esp + 0x50]
xor edi, edi
jmp 0x5c9d5c
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 8]
inc edi
and ecx, 0x1ffffff
add ebx, eax
add edx, ecx
cmp edi, dword [ebp + 0x34]
je 0x5cadba
cmp edi, dword [ebp + 0x3c]
je 0x5cfa9d
mov esi, dword [ebp + 0x38]
mov ecx, edi
mov dword [esp + 8], ebx
shl ecx, 4
mov eax, dword [esi + ecx]
mov ecx, dword [esi + ecx + 4]
test eax, eax
mov esi, eax
mov dword [esp + 0x20], ecx
je 0x5c9d40
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, edx
and ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp + 8]
jae 0x5cb502
mov ebx, dword [esp + 0x4c]
inc edx
movzx ecx, byte [ebx + ecx]
inc dword [esp + ecx*4 + 0x11f4]
dec esi
jne 0x5c9d90
jmp 0x5c9d40
jne 0x5ca2b6
mov edx, dword [esp + 0x4c]
lea ebx, [esp + 0x11f4]
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push dword [esp + 0x58]
push dword [ebp + 8]
call fcn.004260f0
add esp, 0x10
cmp byte [esp + 0x38], 0
mov esi, dword [ebp + 0x34]
je 0x5c9f15
cmp esi, dword [ebp + 0x3c]
ja 0x5cff38
mov eax, dword [esp + 0x11f4]
mov esi, dword [esp + 0x11f8]
mov ebx, dword [esp + 0x1200]
mov edi, dword [esp + 0x11fc]
mov ecx, dword [esp + 0x84]
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x11f4], 0x93d1f8
mov dword [esp + 0x11f8], 0
mov dword [esp + 0x11fc], 0x93d1f8
mov dword [esp + 0x1200], 0
mov dword [esp + 0x1204], 1
mov dword [esp + 0x1208], 0x93d1f8
mov dword [esp + 0x120c], 0
mov dword [esp + 0x1210], 0x93d1f8
mov dword [esp + 0x1214], 0
mov dword [esp + 0x1218], 0x93d1f8
mov dword [esp + 0x121c], 0
mov dword [esp + 0x1220], 1
mov dword [esp + 0x1224], 0x93d1f8
mov dword [esp + 0x1228], 0
mov dword [esp + 0x122c], 0x93d1f8
mov dword [esp + 0x1230], 0
mov dword [esp + 0x1234], 1
mov dword [esp + 0x1238], 0x93d1f8
mov dword [esp + 0x123c], 0
mov dword [esp + 8], eax
push 0
push dword [ebp + 0x24]
lea eax, [esp + 0x11fc]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x40]
push ebx
mov ebx, eax
push edi
push esi
push dword [esp + 0x28]
mov esi, dword [ebp + 0x34]
push esi
call fcn.005d01c0
add esp, 0x28
movzx edi, byte [esp + 0x64]
lea eax, [esp + 0x4dc4]
push 0x404
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x51c8], 0x7f7ff023
lea eax, [esp + 0x3dfc]
push 0xb04
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x4900], 0x7f7ff023
lea eax, [esp + 0x960]
push 0x884
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
mov dword [esp + 0x11e4], 0x7f7ff023
lea eax, [esp + 0x4904]
movaps xmmword [esp + 0x7a0], xmm0
movaps xmmword [esp + 0x790], xmm0
movaps xmmword [esp + 0x780], xmm0
movaps xmmword [esp + 0x770], xmm0
movaps xmmword [esp + 0x760], xmm0
movaps xmmword [esp + 0x750], xmm0
movaps xmmword [esp + 0x740], xmm0
movaps xmmword [esp + 0x730], xmm0
movaps xmmword [esp + 0x720], xmm0
movaps xmmword [esp + 0x710], xmm0
movaps xmmword [esp + 0x700], xmm0
movaps xmmword [esp + 0x6f0], xmm0
movaps xmmword [esp + 0x6e0], xmm0
movaps xmmword [esp + 0x6d0], xmm0
movaps xmmword [esp + 0x6c0], xmm0
movaps xmmword [esp + 0x6b0], xmm0
push 0x200
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x4b04]
push 0x2c0
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x130]
push 0x580
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
mov dword [esp + 0x834], 0
mov dword [esp + 0x830], 0
mov dword [esp + 0x838], 0
lea eax, [esp + 0x840]
movaps xmmword [esp + 0x820], xmm0
movaps xmmword [esp + 0x810], xmm0
movaps xmmword [esp + 0x800], xmm0
movaps xmmword [esp + 0x7f0], xmm0
movaps xmmword [esp + 0x7e0], xmm0
movaps xmmword [esp + 0x7d0], xmm0
movaps xmmword [esp + 0x7c0], xmm0
movaps xmmword [esp + 0x7b0], xmm0
push 0x118
push 0
push eax
call fcn.007bdf30
add esp, 0xc
push 0x2c08
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov eax, dword [ebp + 0x24]
mov ebx, dword [ebp + 0x54]
mov edx, dword [ebp + 0x18]
mov ecx, edi
mov eax, dword [eax + 0xc]
mov dword [esp + 8], eax
push ebx
push dword [ebp + 0x50]
mov edi, esi
mov esi, dword [ebp + 0x4c]
push esi
call fcn.00424a40
add esp, 0xc
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x960]
push eax
lea eax, [esp + 0x3e00]
push eax
lea eax, [esp + 0x4dcc]
push eax
push edi
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0xc]
push dword [esp + 0x6c]
call fcn.00425cb0
add esp, 0x20
mov edi, dword [esi]
mov ecx, edi
shr ecx, 3
cmp ecx, ebx
jae 0x5cfda3
lea eax, [ecx + 7]
cmp eax, ebx
jae 0x5cfdaf
mov ebx, dword [ebp + 0x50]
mov esi, dword [ebp + 0x54]
mov eax, dword [ebp + 0x4c]
add edi, 0xd
mov edx, pe_nt_image_headers32
mov byte [ebx + ecx + 7], 0
mov word [ebx + ecx + 5], 0
mov dword [ebx + ecx + 1], 0
mov dword [eax], edi
lea edi, [esp + 0x6b0]
lea ecx, [esp + 0x4dc4]
push esi
push ebx
push eax
push pe_nt_image_headers32
lea eax, [esp + 0x4914]
push eax
push pe_nt_image_headers32
push edi
lea edi, [esp + 0x1210]
push edi
push pe_nt_image_headers32
push pe_nt_image_headers32
call fcn.00424dd0
add esp, 0x28
lea ecx, [esp + 0x3dfc]
mov edx, 0x2c0
push esi
push ebx
push dword [ebp + 0x4c]
push 0x2c0
lea eax, [esp + 0x140]
push eax
push 0x2c0
lea eax, [esp + 0x4b1c]
push eax
push edi
push 0x2c0
push 0x2c0
call fcn.00424dd0
add esp, 0x28
lea eax, [esp + 0x7b0]
lea ecx, [esp + 0x960]
mov edx, 0x220
push esi
push ebx
push dword [ebp + 0x4c]
push 0x8c
lea esi, [esp + 0x850]
push esi
push 0x8c
push eax
push edi
push dword [esp + 0x28]
push 0x8c
call fcn.00424dd0
add esp, 0x28
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
push dword [ebp + 0x54]
push ebx
push dword [ebp + 0x4c]
push 0x8c
push esi
push 0x8c
lea eax, [esp + 0x7c8]
push eax
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0x4b24]
push eax
lea eax, [esp + 0x4928]
push eax
lea eax, [esp + 0x6d8]
push eax
push dword [ebp + 0x34]
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0xc]
push dword [esp + 0x8c]
call fcn.00425e10
add esp, 0x40
cmp byte [esp + 0x64], 0
je 0x5ca2ab
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
add ecx, 7
mov eax, ecx
shr ecx, 3
and eax, 0xfffffff8
cmp ecx, dword [ebp + 0x54]
mov dword [edx], eax
jae 0x5cfd19
mov eax, dword [ebp + 0x50]
mov byte [eax + ecx], 0
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x50]
jmp 0x5caf8b
movzx edx, byte [ebp + 0x28]
cmp esi, 0xa
xorps xmm0, xmm0
mov dword [esp + 0x130], 1
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 4
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 1
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 4
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 1
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 4
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 4
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 4
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 4
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 4
mov dword [esp + 0x194], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x198], 4
movups xmmword [esp + 0x19c], xmm0
mov dword [esp + 0x1b0], 0
mov byte [esp + 0x78], dl
movzx edx, byte [ebp + 0x20]
movzx edx, dl
mov dword [esp + 0x74], edx
jae 0x5cb02c
cmp dword [esp + 0x18], 0
mov dword [esp + 0x11f4], 0x93d1f8
mov dword [esp + 0x3dfc], 1
mov dword [esp + 0x11f8], 0
jne 0x5ca482
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x11f4]
lea edi, [esp + 0x3dfc]
push eax
push edi
push dword [esp + 0x68]
push esi
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push dword [esp + 0x68]
call fcn.0042b990
add esp, 0x1c
mov eax, dword [esp + 0x3dfc]
cmp eax, 1
jne 0x5cca01
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
movzx esi, byte [ebp + 0x2c]
movzx edi, byte [ebp + 0x28]
lea eax, [esp + 0x130]
push eax
push dword [ebp + 0x34]
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push 0
push 0x93d1f8
push 1
push dword [esp + 0x90]
push esi
push edi
push dword [ebp + 0xc]
push dword [esp + 0x7c]
call fcn.005e58e0
add esp, 0x30
mov eax, dword [esp + 0xdc]
mov ecx, 0x220
cmp eax, 0x220
mov dword [esp + 0x44], eax
cmovb ecx, eax
lea eax, [esp + 0x11f4]
mov dword [esp + 8], ecx
push 0x2c0
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp + 0x1a8]
test esi, esi
je 0x5ca54e
mov edi, dword [esp + 0x18c]
mov ebx, dword [esp + 0x188]
mov dword [esp + 0x20], edi
nop word cs:[eax + eax]
nop dword [eax]
sub edi, 1
jb 0x5cfac0
lea eax, [esp + 0x11f4]
mov ecx, pe_nt_image_headers32
mov edx, ebx
push eax
push pe_nt_image_headers32
call fcn.00426340
add esp, 8
add ebx, 0x408
dec esi
jne 0x5ca520
mov esi, dword [esp + 0x1ac]
test esi, esi
je 0x5ca59e
mov edi, dword [esp + 0x194]
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x20], edi
nop dword [eax + eax]
sub edi, 1
jb 0x5cfad0
lea eax, [esp + 0x11f4]
mov ecx, 0x2c0
mov edx, ebx
push eax
push 0x2c0
call fcn.00426340
add esp, 8
add ebx, 0xb08
dec esi
jne 0x5ca570
mov esi, dword [esp + 0x1b0]
test esi, esi
je 0x5ca5ed
mov edi, dword [esp + 0x19c]
mov ebx, dword [esp + 0x198]
mov dword [esp + 0x20], edi
nop dword [eax + eax]
sub edi, 1
jb 0x5cfae0
mov ecx, dword [esp + 8]
lea eax, [esp + 0x11f4]
mov edx, ebx
push eax
push 0x220
call fcn.00426340
add esp, 8
add ebx, 0x888
dec esi
jne 0x5ca5c0
mov edx, dword [esp + 0x4c]
lea ecx, [esp + 0x11f4]
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push dword [esp + 0x58]
push dword [ebp + 8]
call fcn.004260f0
add esp, 0x10
cmp byte [esp + 0x121], 0
je 0x5ca7ef
mov eax, dword [ebp + 0x3c]
cmp dword [ebp + 0x34], eax
ja 0x5cff67
mov eax, dword [esp + 0x144]
cmp eax, dword [esp + 0x134]
ja 0x5cff75
cmp eax, dword [esp + 0x13c]
ja 0x5cff83
mov ecx, dword [esp + 0x1a0]
cmp ecx, dword [esp + 0x17c]
ja 0x5cff91
mov edx, dword [esp + 0x15c]
cmp edx, dword [esp + 0x14c]
ja 0x5cff9f
cmp edx, dword [esp + 0x154]
ja 0x5cffad
mov esi, dword [esp + 0x174]
cmp esi, dword [esp + 0x164]
ja 0x5cffbb
cmp esi, dword [esp + 0x16c]
ja 0x5cffc9
mov ebx, dword [esp + 0x1a4]
cmp ebx, dword [esp + 0x184]
ja 0x5cffd7
mov edi, dword [esp + 0x11f4]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x11f8]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x11fc]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x1200]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x130]
mov dword [esp + 0x11f4], edi
mov edi, dword [esp + 0x138]
mov dword [esp + 0x11f8], eax
mov dword [esp + 0x11fc], edi
mov dword [esp + 0x1200], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x1208], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x120c], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1210], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x1214], edx
mov dword [esp + 0x1218], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x121c], edx
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x1220], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x1224], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x1228], esi
mov dword [esp + 0x122c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x1230], esi
mov dword [esp + 0x1234], eax
mov eax, dword [esp + 0x180]
mov dword [esp + 0x1238], eax
mov dword [esp + 0x123c], ebx
lea eax, [esp + 0xd0]
push dword [esp + 0x74]
push eax
lea eax, [esp + 0x11fc]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x40]
push dword [esp + 0x4c]
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.005d01c0
add esp, 0x28
cmp byte [esp + 0x122], 0
mov eax, dword [esp + 0x44]
mov edi, 0x220
movzx ecx, byte [esp + 0x64]
mov edx, dword [ebp + 0x18]
cmove edi, eax
cmp eax, 0x221
cmovb edi, eax
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
call fcn.00424a40
add esp, 0xc
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x2c08
xor esi, esi
call fcn.0071ee80
test eax, eax
je 0x5cff49
push 0x2c08
push 0
mov dword [esp + 0x10], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x140]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x14], eax
test eax, eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x1c], eax
je 0x5ca8a5
test eax, eax
je 0x5ca8a5
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
mov dword [esp + 0x54], edi
lea eax, [esp + 0x994]
push 0x354
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x960], eax
mov dword [esp + 0x964], edx
mov dword [esp + 0x968], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x96c], edx
mov dword [esp + 0x970], 1
mov dword [esp + 0x974], 0
mov dword [esp + 0x978], 2
mov dword [esp + 0x97c], 0
mov dword [esp + 0x980], 0x100
mov dword [esp + 0x984], ecx
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x988], edx
mov edx, dword [esp + 0x148]
mov dword [esp + 0x98c], 1
mov dword [esp + 0x990], 0
mov dword [esp + 0xce8], 0
mov dword [esp + 0xcec], esi
mov esi, 0
mov dword [esp + 0xcf0], 0
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x15c]
test edx, edx
mov dword [esp + 0x34], edx
je 0x5ca9bd
test ecx, ecx
je 0x5ca9bd
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
lea eax, [esp + 0x3e30]
push 0x354
push 0
push eax
mov dword [esp + 0x38], ecx
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x168]
mov dword [esp + 0x3dfc], eax
mov dword [esp + 0x3e00], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x3e04], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3e08], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3e0c], 1
mov dword [esp + 0x3e10], 0
mov dword [esp + 0x3e14], 2
mov dword [esp + 0x3e18], 0
mov dword [esp + 0x3e1c], 0x2c0
mov dword [esp + 0x3e20], edx
mov edx, dword [esp + 0x170]
mov dword [esp + 0x3e24], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0x3e28], 1
mov dword [esp + 0x3e2c], 0
mov dword [esp + 0x4184], 0
mov dword [esp + 0x4188], esi
mov dword [esp + 0x418c], 0
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x6c], edx
mov ebx, ecx
test ecx, ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x60], ecx
je 0x5cb50f
test ecx, ecx
mov esi, 0
je 0x5cb511
mov esi, dword [edi]
jmp 0x5cb511
lea eax, [esp + 0x130]
push 0x404
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esp + 0x534], 0x7f7ff023
push 0xb04
push 0
lea eax, [esp + 0x11fc]
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x3dfc]
mov dword [esp + 0x1cf8], 0x7f7ff023
push 0x884
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x4b04]
mov dword [esp + 0x4680], 0x7f7ff023
movaps xmmword [esp + 0x930], xmm0
movaps xmmword [esp + 0x920], xmm0
movaps xmmword [esp + 0x910], xmm0
movaps xmmword [esp + 0x900], xmm0
movaps xmmword [esp + 0x8f0], xmm0
movaps xmmword [esp + 0x8e0], xmm0
movaps xmmword [esp + 0x8d0], xmm0
movaps xmmword [esp + 0x8c0], xmm0
movaps xmmword [esp + 0x8b0], xmm0
movaps xmmword [esp + 0x8a0], xmm0
movaps xmmword [esp + 0x890], xmm0
movaps xmmword [esp + 0x880], xmm0
movaps xmmword [esp + 0x870], xmm0
movaps xmmword [esp + 0x860], xmm0
movaps xmmword [esp + 0x850], xmm0
movaps xmmword [esp + 0x840], xmm0
push 0x200
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x4dc4]
push 0x2c0
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [esp + 0x960]
push 0x580
push 0
push eax
call fcn.007bdf30
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x4904]
mov dword [esp + 0x734], 0
mov dword [esp + 0x730], 0
mov dword [esp + 0x738], 0
movaps xmmword [esp + 0x720], xmm0
movaps xmmword [esp + 0x710], xmm0
movaps xmmword [esp + 0x700], xmm0
movaps xmmword [esp + 0x6f0], xmm0
movaps xmmword [esp + 0x6e0], xmm0
movaps xmmword [esp + 0x6d0], xmm0
movaps xmmword [esp + 0x6c0], xmm0
movaps xmmword [esp + 0x6b0], xmm0
push 0x118
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x3dfc]
push eax
lea eax, [esp + 0x11f8]
push eax
lea ebx, [esp + 0x138]
push ebx
push esi
mov eax, dword [ebp + 0x3c]
push eax
mov eax, dword [ebp + 0x38]
push eax
mov eax, dword [ebp + 0xc]
push eax
push dword [esp + 0x6c]
call fcn.00425cb0
add esp, 0x20
mov esi, dword [ebp + 0x54]
mov ecx, ebx
mov edx, pe_nt_image_headers32
push esi
mov esi, dword [ebp + 0x50]
push esi
mov ebx, dword [ebp + 0x4c]
push ebx
push pe_nt_image_headers32
lea eax, [esp + 0x4b14]
push eax
push pe_nt_image_headers32
lea eax, [esp + 0x858]
push eax
push 8
push dword [esp + 0x550]
call fcn.005d9d80
add esp, 0x24
lea ecx, [esp + 0x11f4]
mov edx, 0x2c0
push dword [ebp + 0x54]
push esi
push ebx
push 0x2c0
lea eax, [esp + 0x970]
push eax
push 0x2c0
lea eax, [esp + 0x4ddc]
push eax
push 0xa
push dword [esp + 0x1d14]
call fcn.005d9d80
add esp, 0x24
mov esi, dword [ebp + 0x54]
lea eax, [esp + 0x6b0]
lea ecx, [esp + 0x3dfc]
mov edx, 0x220
push esi
push dword [ebp + 0x50]
push ebx
push 0x8c
lea ebx, [esp + 0x4914]
push ebx
push 0x8c
push eax
push edi
push dword [esp + 0x469c]
call fcn.005d9d80
add esp, 0x24
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
push esi
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push 0x8c
push ebx
push 0x8c
lea eax, [esp + 0x6c8]
push eax
lea eax, [esp + 0x97c]
push eax
lea eax, [esp + 0x4de4]
push eax
lea eax, [esp + 0x4b28]
push eax
lea eax, [esp + 0x868]
jmp 0x5caf3e
mov edi, dword [ebp + 0x54]
lea ecx, [esp + 0x11f4]
mov edx, pe_nt_image_headers32
push edi
push dword [ebp + 0x50]
mov esi, dword [ebp + 0x4c]
push esi
push pe_nt_image_headers32
lea eax, [esp + 0x3e0c]
push eax
push pe_nt_image_headers32
lea eax, [esp + 0x978]
push eax
push 8
push ebx
call fcn.005d9d80
add esp, 0x24
mov eax, dword [esi]
mov esi, eax
shr esi, 3
cmp esi, edi
jae 0x5cfdc9
lea ecx, [esi + 7]
cmp ecx, edi
jae 0x5cfc9a
mov ch, al
mov edx, 0x926244
mov edi, dword [ebp + 0x50]
mov dword [esp + 8], eax
mov eax, 0xb183801
and ch, 7
mov cl, ch
shl edx, cl
not cl
mov ebx, edx
shr eax, cl
mov cl, ch
shr ebx, 0x18
or eax, edx
mov byte [edi + esi + 7], bl
mov ebx, edx
shr ebx, 0x10
mov byte [edi + esi + 6], bl
mov ebx, 0x16307003
mov byte [edi + esi + 5], dh
mov byte [edi + esi + 4], al
mov edx, edi
shl ebx, cl
mov eax, ebx
shr eax, 0x18
mov byte [edi + esi + 3], al
mov eax, ebx
shr eax, 0x10
mov byte [edi + esi + 2], al
mov byte [edi + esi + 1], bh
or byte [edi + esi], bl
mov esi, dword [esp + 8]
mov edi, dword [ebp + 0x54]
lea ecx, [esi + 0x38]
shr ecx, 3
cmp ecx, edi
jae 0x5cfde7
lea eax, [ecx + 7]
cmp eax, edi
jae 0x5cfdd7
mov eax, dword [ebp + 0x4c]
mov byte [edx + ecx + 7], 0
mov word [edx + ecx + 5], 0
mov dword [edx + ecx + 1], 0
lea ecx, [esi + 0x3b]
mov dword [eax], ecx
mov eax, ecx
shr eax, 3
cmp eax, edi
jae 0x5cfde5
lea edx, [eax + 7]
cmp edx, edi
jae 0x5cfdf3
mov esi, dword [ebp + 0x50]
and cl, 7
mov edx, 0x369dc03
mov ebx, 0x1b4ee01
shl edx, cl
not cl
shr ebx, cl
mov ecx, edx
shr ecx, 0x18
mov byte [esi + eax + 7], 0
mov word [esi + eax + 5], 0
mov byte [esi + eax + 4], bl
mov byte [esi + eax + 3], cl
mov ecx, edx
shr ecx, 0x10
mov byte [esi + eax + 2], cl
mov ecx, dword [esp + 8]
mov byte [esi + eax + 1], dh
or byte [esi + eax], dl
mov eax, dword [ebp + 0x4c]
mov edx, dword [ebp + 8]
add ecx, 0x57
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
push edi
push esi
push eax
push 0x40
push 0x910e54
push 0x40
push 0x910e14
push 0x910894
push str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v_v
lea eax, [esp + 0x3e20]
push eax
lea eax, [esp + 0x988]
push eax
push dword [ebp + 0x34]
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0xc]
push dword [esp + 0x8c]
call fcn.00425e10
add esp, 0x40
cmp byte [esp + 0x64], 0
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x50]
je 0x5caf8b
mov edx, ecx
mov ecx, dword [ecx]
add ecx, 7
mov eax, ecx
shr ecx, 3
and eax, 0xfffffff8
cmp ecx, dword [ebp + 0x54]
mov dword [edx], eax
jae 0x5cfd19
mov edx, dword [ebp + 0x50]
mov byte [edx + ecx], 0
mov ecx, dword [ebp + 0x4c]
mov ecx, dword [ecx]
mov esi, dword [ebp + 0x18]
mov edi, dword [esp + 0xc4]
lea eax, [esi + edi + 4]
shr ecx, 3
cmp eax, ecx
jae 0x5cb00d
mov ecx, dword [ebp + 0x40]
movzx eax, byte [esp + 0x7e]
movzx ebx, byte [esp + 0x7f]
mov byte [edx + edi], al
mov byte [edx + edi + 1], bl
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov edx, dword [ebp + 0x44]
movzx ecx, byte [esp + 0xc0]
mov edi, dword [ebp + 0x4c]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movzx edx, byte [esp + 0x64]
mov dword [edi], ecx
mov ecx, dword [esp + 0x84]
push 1
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push edi
push dword [ebp + 0x48]
push esi
push dword [ebp + 0x24]
push dword [ebp + 0xc]
push dword [esp + 0x70]
push dword [ebp + 8]
push dword [esp + 0x74]
call fcn.005c0a40
mov edx, dword [ebp + 0x50]
add esp, 0x2c
mov eax, dword [esp + 0x64]
cmp al, byte [ebp + 0x1c]
je 0x5cb024
mov ecx, dword [ebp + 0x4c]
push dword [ebp + 0x54]
call fcn.00426190
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [esp + 0x148]
lea edi, [esp + 0x160]
test bh, bh
jne 0x5ccec3
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd xmm2, qword [eax]
movsd xmm3, qword [eax + 8]
mov eax, dword [esp + 0x68]
movzx edx, byte [esp + 0x30]
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
movsd qword [esp + 0x3e08], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x3e00], xmm0
movsd xmm0, qword [eax]
movsd xmm4, qword [eax + 0x10]
movsd xmm5, qword [eax]
movsd xmm6, qword [eax + 8]
movsd xmm7, qword [eax + 0x10]
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x1200], xmm3
movsd qword [esp + 0x11f8], xmm2
movsd qword [esp + 0x3e2c], xmm1
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x3e24], xmm0
movsd qword [esp + 0x3e34], xmm4
movsd xmm0, qword [ecx]
movsd xmm4, qword [ecx + 8]
movsd qword [esp + 0x121c], xmm5
movsd qword [esp + 0x1224], xmm6
movsd qword [esp + 0x122c], xmm7
movsd qword [esp + 0x3e44], xmm1
movsd xmm1, qword [ecx]
movsd qword [esp + 0x3e3c], xmm0
mov dword [esp + 0x3dfc], eax
movsd qword [esp + 0x123c], xmm4
mov dword [esp + 0x3e10], esi
movzx ecx, byte [esp + 0x38]
movsd qword [esp + 0x1234], xmm1
mov dword [esp + 0x11f4], eax
movzx eax, byte [esp + 0x1c]
mov dword [esp + 0x1208], esi
mov byte [esp + 0x3e4c], al
mov byte [esp + 0x1244], al
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3e14], eax
mov dword [esp + 0x120c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3e18], eax
mov dword [esp + 0x1210], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3e1c], eax
mov dword [esp + 0x1214], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3e20], eax
mov dword [esp + 0x1218], eax
movzx eax, byte [esp + 0x44]
mov byte [esp + 0x3e4d], cl
mov byte [esp + 0x1245], cl
movzx ecx, byte [esp + 0x20]
mov byte [esp + 0x3e55], al
mov byte [esp + 0x124d], al
movzx eax, byte [esp + 0x34]
mov byte [esp + 0x3e56], al
mov byte [esp + 0x124e], al
movzx eax, byte [esp + 0x2c]
mov byte [esp + 0x3e57], al
mov byte [esp + 0x124f], al
movzx eax, byte [esp + 0x48]
mov byte [esp + 0x3e58], al
mov byte [esp + 0x1250], al
movzx eax, byte [esp + 0x5c]
mov byte [esp + 0x3e4e], cl
mov byte [esp + 0x3e4f], 0
mov byte [esp + 0x1246], cl
mov byte [esp + 0x1247], 0
mov byte [esp + 0x3e50], al
mov byte [esp + 0x1248], al
movzx eax, byte [esp + 0x40]
mov byte [esp + 0x3e51], al
mov byte [esp + 0x1249], al
movzx eax, byte [esp + 0x6c]
mov byte [esp + 0x3e52], bl
mov byte [esp + 0x124a], bl
mov byte [esp + 0x3e53], al
mov byte [esp + 0x3e54], dl
mov byte [esp + 0x124b], al
movzx eax, cl
mov byte [esp + 0x124c], dl
mov edx, 0x8c
mov dword [esp + 0x11f8], 0
mov dword [esp + 0x11fc], 0
mov esi, dword [esp + 0x3e00]
shl eax, 0x1a
mov edi, dword [esp + 0x3e04]
or eax, 0x3fffffc
test cl, cl
mov ecx, 0x40
cmove edx, ecx
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x1200], edx
mov dword [esp + 0x1204], eax
mov edx, dword [ebp + 0x3c]
mov eax, esi
or eax, edi
lea eax, [esp + 0x960]
setne bl
push eax
lea eax, [esp + 0x11fc]
push eax
mov dword [esp + 0x1c], edi
push edi
mov dword [esp + 0x28], esi
push esi
push dword [ebp + 0x34]
call fcn.0042d530
add esp, 0x14
xor esi, esi
test al, al
je 0x5cca3e
movsd xmm3, qword [esp + 0x960]
movsd xmm2, qword [0x7d5120]
ucomisd xmm3, xmm2
ja 0x5cca46
lea eax, [esp + 0x11f8]
cmp byte [esp + 0x20], 0
mov edi, dword [esp + 0x1c]
mov ecx, 0x5ffffffc
mov edx, 0x7c
mov esi, 1
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0xd4]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, 0x3fffffc
cmove ecx, eax
mov eax, 0x30
cmove edx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x11f8], 0
mov dword [esp + 0x11fc], esi
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
movzx ebx, bl
movsd qword [esp + 0x38], xmm3
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
lea eax, [eax + esi + 0x10]
mov dword [esp + 0x1200], eax
mov eax, dword [esp + 0xc]
add eax, esi
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0x14]
xor eax, esi
or eax, edi
mov eax, 0
cmove ebx, eax
lea eax, [esp + 0x960]
push eax
lea eax, [esp + 0x11fc]
push eax
push dword [esp + 0x1c]
push edi
push dword [ebp + 0x34]
call fcn.0042d530
add esp, 0x14
test al, al
je 0x5cfa4c
movsd xmm2, qword [esp + 0x960]
movsd xmm0, qword [esp + 0x38]
ucomisd xmm2, xmm0
ja 0x5cfa57
lea edx, [esp + 0x11f8]
inc esi
lea eax, [esp + 0xd4]
movapd xmm3, xmm2
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
cmp esi, 0x10
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jne 0x5cb364
mov ecx, dword [ebp + 0x38]
mov esi, 0x10
jmp 0x5cca49
sub esp, 4
movss dword [esp], xmm1
movss dword [esp + 0x7c], xmm2
movss dword [esp + 0x78], xmm4
movss dword [esp + 0x6c], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm1, dword [esp + 0x6c]
movss xmm4, dword [esp + 0x78]
movss xmm2, dword [esp + 0x7c]
add esp, 4
fstp dword [esp + 0xcc]
movss xmm0, dword [esp + 0xcc]
mov eax, dword [ebp + 0x18]
mulss xmm0, xmm1
addss xmm4, xmm0
maxss xmm1, xmm4
ucomiss xmm1, xmm2
jbe 0x5c9a1b
mov edx, dword [ebp + 0x40]
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x84]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [ebp + 0x44]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
movzx edx, bl
push 0
mov esi, dword [ebp + 0x54]
push esi
mov esi, dword [ebp + 0x50]
push esi
mov edi, dword [ebp + 0x4c]
push edi
push dword [ebp + 0x48]
push eax
push dword [ebp + 0x24]
push dword [ebp + 0xc]
push dword [esp + 0x70]
push dword [ebp + 8]
push dword [esp + 0x74]
call fcn.005c0a40
add esp, 0x2c
cmp bl, byte [ebp + 0x1c]
je 0x5cb024
mov ecx, edi
mov edx, esi
jmp 0x5cb019
mov edx, dword [ebp + 8]
push 0x910ee4
call fcn.007c1be0
xor esi, esi
mov dword [esp + 0x80], edi
lea eax, [esp + 0x1228]
push 0x354
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x11f4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x11f8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x11fc], edi
mov dword [esp + 0x1200], ebx
mov dword [esp + 0x1204], 1
mov dword [esp + 0x1208], 0
mov dword [esp + 0x120c], 2
mov dword [esp + 0x1210], 0
mov dword [esp + 0x1214], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1218], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x121c], eax
mov dword [esp + 0x1220], 1
mov dword [esp + 0x1224], 0
mov dword [esp + 0x157c], 0
mov dword [esp + 0x1580], esi
mov esi, dword [ebp + 0x54]
mov dword [esp + 0x1584], 0
push esi
mov edi, dword [ebp + 0x50]
push edi
mov ebx, dword [ebp + 0x4c]
push ebx
lea eax, [esp + 0x998]
push eax
mov edi, dword [esp + 0x18]
push edi
push dword [esp + 0x4c]
push dword [esp + 0x34]
push dword [esp + 0x30]
push dword [esp + 0x40]
call fcn.00425330
add esp, 0x24
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
push esi
mov ebx, dword [ebp + 0x50]
push ebx
push dword [ebp + 0x4c]
lea eax, [esp + 0x3e34]
push eax
push edi
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0x50]
push dword [esp + 0x38]
call fcn.00425330
add esp, 0x24
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push esi
push ebx
push dword [ebp + 0x4c]
lea eax, [esp + 0x122c]
push eax
push edi
push dword [esp + 0x54]
push dword [esp + 0x78]
push dword [esp + 0x8c]
push dword [esp + 0xa0]
call fcn.00425330
add esp, 0x24
mov ebx, dword [esp + 0xd4]
mov ecx, 2
mov edx, ebx
push esi
push dword [ebp + 0x50]
mov edi, dword [ebp + 0x4c]
push edi
push 0
call fcn.00422fc0
add esp, 0x10
mov edx, dword [esp + 0xd8]
mov ecx, ebx
shr edx, cl
mov ecx, 4
push esi
push dword [ebp + 0x50]
mov ebx, edi
push edi
push 0
call fcn.00422fc0
add esp, 0x10
mov esi, dword [esp + 0x140]
mov edi, dword [esp + 0x74]
test esi, esi
je 0x5cb6eb
nop word cs:[eax + eax]
nop
mov ecx, 2
mov edx, edi
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push ebx
push 0
call fcn.00422fc0
add esp, 0x10
dec esi
jne 0x5cb6d0
mov eax, dword [esp + 0x1a0]
test eax, eax
je 0x5cb757
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x1b8]
push eax
call fcn.005e6af0
add esp, 0x18
mov eax, dword [esp + 0x1a4]
test eax, eax
je 0x5cb784
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push esi
push dword [esp + 0x1c0]
push eax
call fcn.005e6af0
add esp, 0x18
jmp 0x5cb7a2
mov ecx, dword [esp + 0x1a8]
mov edx, 6
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
mov esi, dword [esp + 0x14]
push esi
call fcn.00425760
add esp, 0x10
mov eax, dword [esp + 0x1a4]
test eax, eax
jne 0x5cb72d
mov ecx, dword [esp + 0x1b0]
mov edx, 2
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push esi
call fcn.00425760
add esp, 0x10
mov esi, dword [esp + 0x980]
mov edx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x18c]
mov ebx, dword [esp + 0x188]
mov ecx, esi
mov dword [esp + 0x34], esi
imul esi, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edx
test esi, esi
je 0x5cc93e
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x10], eax
je 0x5cff1c
mov dword [esp + 0x20], esi
cmp dword [esp + 0x974], 0
je 0x5cb818
push dword [esp + 0x970]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
test esi, esi
mov dword [esp + 0x970], eax
mov dword [esp + 0x974], ecx
je 0x5cc961
cmp esi, 0x3fffffff
ja 0x5cfe51
mov edi, esi
mov dword [esp + 0xc], esi
add edi, esi
js 0x5cfe51
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cff10
mov esi, eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x97c], 0
mov dword [esp + 0xc], eax
je 0x5cb891
push dword [esp + 0x978]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x978], esi
mov dword [esp + 0x97c], eax
je 0x5cb959
mov eax, dword [esp + 0x34]
xor ecx, ecx
xor edi, edi
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
nop dword [eax]
sub eax, 1
jb 0x5cfa1c
cmp edi, dword [esp + 0x20]
ja 0x5cfe35
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
cmp edi, edx
ja 0x5cfe45
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx]
mov dword [esp + 0x1c], eax
lea eax, [edx + ecx]
mov ecx, ebx
mov edx, pe_nt_image_headers32
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push eax
push esi
push dword [esp + 0x30]
push dword [esp + 0x50]
push dword [esp + 0x24]
push pe_nt_image_headers32
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], esi
mov esi, eax
push eax
call fcn.00424dd0
mov ecx, dword [esp + 0x3c]
add esp, 0x28
add edi, esi
sub ecx, esi
mov esi, dword [esp + 0x38]
add ebx, 0x408
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x2c]
dec dword [esp + 0x30]
jne 0x5cb8c0
mov esi, dword [esp + 0x3e1c]
mov edx, dword [esp + 0x1ac]
mov eax, dword [esp + 0x194]
mov ebx, dword [esp + 0x190]
mov ecx, esi
mov dword [esp + 0x34], esi
imul esi, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edx
test esi, esi
je 0x5cc97f
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x10], eax
je 0x5cff1c
mov dword [esp + 0x20], esi
cmp dword [esp + 0x3e10], 0
je 0x5cb9cf
push dword [esp + 0x3e0c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
test esi, esi
mov dword [esp + 0x3e0c], eax
mov dword [esp + 0x3e10], ecx
je 0x5cc9a2
cmp esi, 0x3fffffff
ja 0x5cfe51
mov edi, esi
mov dword [esp + 0xc], esi
add edi, esi
js 0x5cfe51
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cff10
mov esi, eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x3e18], 0
mov dword [esp + 0xc], eax
je 0x5cba48
push dword [esp + 0x3e14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x3e14], esi
mov dword [esp + 0x3e18], eax
je 0x5cbb19
mov eax, dword [esp + 0x34]
xor ecx, ecx
xor edi, edi
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
nop word cs:[eax + eax]
nop dword [eax]
sub eax, 1
jb 0x5cfa1c
cmp edi, dword [esp + 0x20]
ja 0x5cfe35
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
cmp edi, edx
ja 0x5cfe45
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx]
mov dword [esp + 0x1c], eax
lea eax, [edx + ecx]
mov ecx, ebx
mov edx, 0x2c0
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push eax
push esi
push dword [esp + 0x30]
push dword [esp + 0x50]
push dword [esp + 0x24]
push 0x2c0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], esi
mov esi, eax
push eax
call fcn.00424dd0
mov ecx, dword [esp + 0x3c]
add esp, 0x28
add edi, esi
sub ecx, esi
mov esi, dword [esp + 0x38]
add ebx, 0xb08
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x2c]
dec dword [esp + 0x30]
jne 0x5cba80
mov esi, dword [esp + 0x1214]
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x19c]
mov ebx, dword [esp + 0x198]
mov ecx, esi
mov dword [esp + 0x34], esi
imul esi, edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], edx
test esi, esi
je 0x5cc9c0
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x10], eax
je 0x5cff1c
mov dword [esp + 0x20], esi
cmp dword [esp + 0x1208], 0
je 0x5cbb8f
push dword [esp + 0x1204]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
test esi, esi
mov dword [esp + 0x1204], eax
mov dword [esp + 0x1208], ecx
je 0x5cc9e3
cmp esi, 0x3fffffff
ja 0x5cfe51
mov edi, esi
mov dword [esp + 0xc], esi
add edi, esi
js 0x5cfe51
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cff10
mov esi, eax
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x1210], 0
mov dword [esp + 0xc], eax
je 0x5cbc08
push dword [esp + 0x120c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x30], 0
mov dword [esp + 0x120c], esi
mov dword [esp + 0x1210], eax
je 0x5cbcd8
mov eax, dword [esp + 0x34]
xor ecx, ecx
xor edi, edi
add eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
nop word cs:[eax + eax]
nop dword [eax]
sub eax, 1
jb 0x5cfa1c
cmp edi, dword [esp + 0x20]
ja 0x5cfe35
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
cmp edi, edx
ja 0x5cfe45
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx]
mov dword [esp + 0x1c], eax
lea eax, [edx + ecx]
mov ecx, ebx
mov edx, 0x220
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push eax
push esi
push dword [esp + 0x30]
push dword [esp + 0x50]
push dword [esp + 0x24]
push dword [esp + 0x64]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x5c], esi
mov esi, eax
push eax
call fcn.00424dd0
mov ecx, dword [esp + 0x3c]
add esp, 0x28
add edi, esi
sub ecx, esi
mov esi, dword [esp + 0x38]
add ebx, 0x888
mov eax, dword [esp + 0x18]
add esi, dword [esp + 0x2c]
dec dword [esp + 0x30]
jne 0x5cbc40
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [ebp + 0x34], 0
mov edx, dword [ebp + 0x50]
mov bh, byte [ebp + 0x2c]
je 0x5cc288
mov edi, dword [esp + 0x50]
xor eax, eax
jmp 0x5cbd50
mov edx, esi
mov esi, dword [ebp + 0x54]
lea ecx, [esp + 0x11f4]
push esi
mov ebx, dword [ebp + 0x50]
push ebx
mov edi, dword [ebp + 0x4c]
push edi
call fcn.005e7400
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
shr ecx, 0xa
push esi
push ebx
push edi
push 0
call fcn.00422fc0
add esp, 0x10
mov bh, byte [esp + 0x20]
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x38]
mov edx, dword [ebp + 0x50]
inc eax
cmp eax, dword [ebp + 0x34]
je 0x5cc288
cmp eax, dword [ebp + 0x3c]
je 0x5cfaf0
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x38], eax
shl eax, 4
mov dword [esp + 8], edi
mov byte [esp + 0x20], bh
mov edi, dword [ecx + eax + 8]
mov esi, dword [ecx + eax]
mov ebx, dword [ecx + eax + 4]
mov dword [esp + 0xc], edi
movzx edi, word [ecx + eax + 0xc]
movzx eax, word [ecx + eax + 0xe]
lea ecx, [esp + 0x3dfc]
mov word [esp + 0x1c], ax
movzx eax, di
mov word [esp + 0x14], di
mov edi, edx
mov dword [esp + 0x10], eax
mov edx, eax
mov eax, dword [ebp + 0x54]
push eax
push edi
mov eax, dword [ebp + 0x4c]
push eax
call fcn.005e7400
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x18], ebx
mov edx, ebx
push dword [ebp + 0x54]
push edi
push dword [ebp + 0x4c]
call fcn.00425b00
add esp, 0xc
cmp dword [esp + 0x1a0], 0
je 0x5cbfa0
mov bh, byte [esp + 0x20]
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 8]
test esi, esi
mov al, bh
je 0x5cc0c3
nop dword [eax + eax]
mov ecx, edi
mov bh, byte [esp + 0x78]
and ecx, edx
cmp ecx, dword [ebp + 8]
jae 0x5cf310
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edi
mov edx, dword [edx*4 + 0x5d0058]
add edx, dword [esp + 0xac]
jmp edx
mov edx, dword [ebp + 0xc]
mov bh, byte [esp + 0x20]
mov edi, dword [esp + 8]
test esi, esi
je 0x5cc0c3
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, edi
and ecx, edx
cmp ecx, dword [ebp + 8]
jae 0x5cf371
mov eax, dword [esp + 0x4c]
movzx ebx, byte [eax + ecx]
mov eax, dword [esp + 0xcec]
test eax, eax
jne 0x5cc05e
mov eax, dword [esp + 0xce8]
lea ecx, [eax + 1]
mov dword [esp + 0xce8], ecx
mov edx, dword [esp + 0x96c]
cmp ecx, edx
jae 0x5cfaac
mov edx, dword [esp + 0x964]
cmp ecx, edx
jae 0x5cfab6
mov edx, dword [esp + 0x968]
mov ecx, dword [esp + 0x960]
mov edx, dword [edx + eax*4 + 4]
movzx eax, byte [ecx + eax + 1]
mov dword [esp + 0xcec], edx
mov ecx, dword [esp + 0x980]
imul ecx, eax
mov dword [esp + 0xcf0], ecx
lea ecx, [esp + 0x98c]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push eax
call fcn.00425230
add esp, 0x10
mov eax, dword [esp + 0xcec]
dec eax
mov dword [esp + 0xcec], eax
add ebx, dword [esp + 0xcf0]
mov edx, dword [esp + 0x974]
cmp ebx, edx
jae 0x5cf37e
mov edx, dword [esp + 0x97c]
cmp ebx, edx
jae 0x5cf38a
mov ecx, dword [esp + 0x978]
mov eax, dword [esp + 0x970]
movzx edx, word [ecx + ebx*2]
movzx ecx, byte [eax + ebx]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push 0
call fcn.00422fc0
add esp, 0x10
mov edx, dword [ebp + 0xc]
mov bh, byte [esp + 0x20]
inc edi
dec esi
jne 0x5cbfc0
mov eax, dword [esp + 0x18]
and eax, 0x1ffffff
add edi, eax
test eax, eax
je 0x5cbd3f
lea ecx, [edi - 2]
mov esi, edx
and ecx, edx
mov edx, dword [ebp + 8]
cmp ecx, edx
jae 0x5cfbbc
lea eax, [edi - 1]
and eax, esi
cmp eax, edx
jae 0x5cfbc6
mov edx, dword [esp + 0x4c]
cmp word [esp + 0x14], 0x7f
mov bh, byte [edx + ecx]
movzx eax, byte [edx + eax]
mov byte [esp + 0x78], al
jbe 0x5cbd3f
movzx esi, word [esp + 0x1c]
mov byte [esp + 0x20], bh
mov dword [esp + 8], edi
mov dword [esp + 0x18], esi
and esi, 0x3ff
cmp dword [esp + 0x1a4], 0
je 0x5cbd02
mov edx, dword [esp + 0x10]
mov eax, edx
and edx, 7
shr eax, 6
cmp eax, 4
ja 0x5cc160
mov ebx, edx
mov edx, 0x15
bt edx, eax
mov edx, ebx
jae 0x5cc160
mov ebx, 3
cmp edx, 3
jb 0x5cc16f
jmp 0x5cc171
cmp eax, 7
mov ebx, 3
jne 0x5cc171
cmp edx, 2
ja 0x5cc171
mov ebx, edx
mov eax, dword [esp + 0x1580]
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x184]
test eax, eax
jne 0x5cc215
mov eax, dword [esp + 0x157c]
mov dword [esp + 0x14], edi
mov edi, edx
lea ecx, [eax + 1]
mov dword [esp + 0x157c], ecx
mov edx, dword [esp + 0x1200]
cmp ecx, edx
jae 0x5cfa7c
mov edx, dword [esp + 0x11f8]
cmp ecx, edx
jae 0x5cfa86
mov edx, dword [esp + 0x11fc]
mov ecx, dword [esp + 0x11f4]
mov edx, dword [edx + eax*4 + 4]
movzx eax, byte [ecx + eax + 1]
lea ecx, [eax*4]
mov dword [esp + 0x1580], edx
mov dword [esp + 0x1584], ecx
lea ecx, [esp + 0x1220]
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push eax
call fcn.00425230
add esp, 0x10
mov edx, edi
mov eax, dword [esp + 0x1580]
mov edi, dword [esp + 0x14]
dec eax
mov dword [esp + 0x1580], eax
add ebx, dword [esp + 0x1584]
cmp ebx, edx
jae 0x5cfdbd
mov ecx, dword [esp + 0x1214]
mov edx, dword [esp + 0x1208]
imul ecx, dword [edi + ebx*4]
add ecx, esi
cmp ecx, edx
jae 0x5cf2fc
mov edx, dword [esp + 0x1210]
cmp ecx, edx
jae 0x5cf306
mov edx, dword [esp + 0x120c]
mov eax, dword [esp + 0x1204]
mov esi, dword [ebp + 0x54]
movzx edx, word [edx + ecx*2]
movzx ecx, byte [eax + ecx]
push esi
mov ebx, dword [ebp + 0x50]
push ebx
mov edi, dword [ebp + 0x4c]
push edi
push 0
call fcn.00422fc0
add esp, 0x10
jmp 0x5cbd1f
mov eax, dword [esp + 0x1204]
mov dword [esp + 0x1204], 1
cmp dword [esp + 0x1208], 0
mov dword [esp + 0x1208], 0
je 0x5cc2c1
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x120c]
mov dword [esp + 0x120c], 2
cmp dword [esp + 0x1210], 0
mov dword [esp + 0x1210], 0
je 0x5cc2fa
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x3e0c]
mov dword [esp + 0x3e0c], 1
cmp dword [esp + 0x3e10], 0
mov dword [esp + 0x3e10], 0
je 0x5cc333
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x3e14]
mov dword [esp + 0x3e14], 2
cmp dword [esp + 0x3e18], 0
mov dword [esp + 0x3e18], 0
je 0x5cc36c
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x970]
mov dword [esp + 0x970], 1
cmp dword [esp + 0x974], 0
mov dword [esp + 0x974], 0
je 0x5cc3a5
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x978]
mov dword [esp + 0x978], 2
cmp dword [esp + 0x97c], 0
mov dword [esp + 0x97c], 0
je 0x5cc3de
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp byte [esp + 0x64], 0
je 0x5cc407
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
add ecx, 7
mov eax, ecx
shr ecx, 3
and eax, 0xfffffff8
cmp ecx, dword [ebp + 0x54]
mov dword [edx], eax
jae 0x5cfd19
mov edx, dword [ebp + 0x50]
mov byte [edx + ecx], 0
cmp dword [esp + 0x1208], 0
je 0x5cc429
push dword [esp + 0x1204]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x1210], 0
je 0x5cc44b
push dword [esp + 0x120c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x3e10], 0
je 0x5cc46d
push dword [esp + 0x3e0c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x3e18], 0
je 0x5cc48f
push dword [esp + 0x3e14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x974], 0
je 0x5cc4b1
push dword [esp + 0x970]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x97c], 0
je 0x5cc4d3
push dword [esp + 0x978]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x130], 1
cmp dword [esp + 0x134], 0
mov dword [esp + 0x134], 0
je 0x5cc50c
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x138], 4
cmp dword [esp + 0x13c], 0
mov dword [esp + 0x13c], 0
je 0x5cc545
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov eax, dword [esp + 0x148]
mov dword [esp + 0x148], 1
cmp dword [esp + 0x14c], 0
mov dword [esp + 0x14c], 0
je 0x5cc594
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x150]
mov dword [esp + 0x150], 4
cmp dword [esp + 0x154], 0
mov dword [esp + 0x154], 0
je 0x5cc5cd
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov eax, dword [esp + 0x160]
mov dword [esp + 0x160], 1
cmp dword [esp + 0x164], 0
mov dword [esp + 0x164], 0
je 0x5cc61c
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov eax, dword [esp + 0x168]
mov dword [esp + 0x168], 4
cmp dword [esp + 0x16c], 0
mov dword [esp + 0x16c], 0
je 0x5cc655
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov eax, dword [esp + 0x178]
mov dword [esp + 0x178], 4
cmp dword [esp + 0x17c], 0
mov dword [esp + 0x17c], 0
je 0x5cc6a4
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x1a0], 0
mov eax, dword [esp + 0x180]
mov dword [esp + 0x180], 4
cmp dword [esp + 0x184], 0
mov dword [esp + 0x184], 0
je 0x5cc6e8
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x1a4], 0
mov eax, dword [esp + 0x188]
mov dword [esp + 0x188], 4
cmp dword [esp + 0x18c], 0
mov dword [esp + 0x18c], 0
je 0x5cc72c
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x1a8], 0
mov eax, dword [esp + 0x190]
mov dword [esp + 0x190], 4
cmp dword [esp + 0x194], 0
mov dword [esp + 0x194], 0
je 0x5cc770
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x1ac], 0
mov eax, dword [esp + 0x198]
mov dword [esp + 0x198], 4
cmp dword [esp + 0x19c], 0
mov dword [esp + 0x19c], 0
je 0x5cc7b4
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
mov dword [esp + 0x1b0], 0
cmp dword [esp + 0x134], 0
je 0x5cc7e1
push dword [esp + 0x130]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x13c], 0
je 0x5cc803
push dword [esp + 0x138]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x14c], 0
je 0x5cc825
push dword [esp + 0x148]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x154], 0
je 0x5cc847
push dword [esp + 0x150]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x164], 0
je 0x5cc869
push dword [esp + 0x160]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edx, dword [ebp + 0x50]
cmp dword [esp + 0x16c], 0
je 0x5cc88b
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 1
cmp dword [esp + 0x974], 0
jne 0x5cb803
jmp 0x5cb818
xor eax, eax
mov esi, 2
cmp dword [esp + 0x97c], 0
mov dword [esp + 0xc], eax
jne 0x5cb878
jmp 0x5cb891
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 1
cmp dword [esp + 0x3e10], 0
jne 0x5cb9ba
jmp 0x5cb9cf
xor eax, eax
mov esi, 2
cmp dword [esp + 0x3e18], 0
mov dword [esp + 0xc], eax
jne 0x5cba2f
jmp 0x5cba48
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 1
cmp dword [esp + 0x1208], 0
jne 0x5cbb7a
jmp 0x5cbb8f
xor eax, eax
mov esi, 2
cmp dword [esp + 0x1210], 0
mov dword [esp + 0xc], eax
jne 0x5cbbef
jmp 0x5cbc08
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
movzx edi, byte [ebp + 0x2c]
movzx ebx, byte [ebp + 0x28]
lea esi, [esp + 0x130]
push esi
push dword [ebp + 0x34]
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [esp + 0x1208]
push dword [esp + 0x1208]
push eax
push dword [esp + 0x90]
push edi
push ebx
jmp 0x5ca4b4
movsd xmm2, qword [0x7d5120]
mov ecx, dword [ebp + 0x38]
xor eax, eax
sub esi, 1
cmovb esi, eax
mov edi, esi
shr edi, 1
cmp esi, 0x1f
ja 0x5ccb89
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
lea esi, [edi + edi + 0x5ffffff8]
neg eax
xor ecx, 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x20], 0
lea eax, [esi - 0x58000000]
lea edx, [esi - 0x5ffffff8]
mov dword [esp + 0x11f8], 1
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
movsd qword [esp + 0x38], xmm2
mov dword [esp + 0x11fc], edx
je 0x5ccad1
mov ecx, 0xf8
cmp edi, 2
jb 0x5ccad6
mov eax, esi
mov edx, 0x7fffffc
cmove eax, edx
jmp 0x5ccad6
mov ecx, 0x60
lea edx, [ecx + esi - 0x5fffffe8]
mov ecx, dword [ebp + 0x38]
movzx ebx, bl
mov dword [esp + 0x1200], edx
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x3c]
add eax, esi
xor eax, 0x5ffffff8
or eax, dword [esp + 0x10]
mov eax, 0
cmove ebx, eax
lea eax, [esp + 0x960]
push eax
lea eax, [esp + 0x11fc]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.0042d530
add esp, 0x14
movsd xmm2, qword [esp + 0x38]
test al, al
je 0x5ccb86
movsd xmm0, qword [esp + 0x960]
ucomisd xmm0, xmm2
ja 0x5ccb86
lea eax, [esp + 0x11f8]
mov ecx, dword [ebp + 0x38]
inc edi
add esi, 2
movsd xmm2, qword [eax + 8]
movsd xmm1, qword [eax]
lea eax, [esp + 0xd4]
cmp edi, 0x10
movsd qword [eax + 8], xmm2
movapd xmm2, xmm0
movsd qword [eax], xmm1
jne 0x5cca7a
mov edi, 0x10
movapd xmm2, xmm0
jmp 0x5ccb89
mov ecx, dword [ebp + 0x38]
sub edi, 1
mov eax, 0
cmovb edi, eax
mov esi, edi
shr esi, 1
cmp edi, 0x1f
ja 0x5cccd2
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea edi, [esi*4 + 0x5ffffff0]
neg eax
xor edx, 2
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
cmp byte [esp + 0x20], 0
lea eax, [edi - 0x5ffffff0]
mov dword [esp + 0x11f8], 2
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
movsd qword [esp + 0x38], xmm2
mov dword [esp + 0x11fc], eax
je 0x5ccc05
cmp esi, 3
jae 0x5ccc13
lea eax, [edi - 0x58000000]
jmp 0x5ccc1d
lea eax, [esi*4 + 0xffffff0]
mov edx, 0xc0
jmp 0x5ccc22
mov eax, edi
mov edx, 0x7fffffc
cmove eax, edx
mov edx, 0x1f0
lea edx, [edx + edi - 0x5fffffe0]
movzx ebx, bl
mov dword [esp + 0x1200], edx
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x3c]
add eax, edi
xor eax, 0x5ffffff0
or eax, dword [esp + 0x10]
mov eax, 0
cmove ebx, eax
lea eax, [esp + 0x960]
push eax
lea eax, [esp + 0x11fc]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.0042d530
add esp, 0x14
movsd xmm2, qword [esp + 0x38]
test al, al
je 0x5ccccf
movsd xmm0, qword [esp + 0x960]
ucomisd xmm0, xmm2
ja 0x5ccccf
lea eax, [esp + 0x11f8]
mov ecx, dword [ebp + 0x38]
inc esi
add edi, 4
movsd xmm2, qword [eax + 8]
movsd xmm1, qword [eax]
lea eax, [esp + 0xd4]
cmp esi, 0x10
movsd qword [eax + 8], xmm2
movapd xmm2, xmm0
movsd qword [eax], xmm1
jne 0x5ccbbd
mov esi, 0x10
movapd xmm2, xmm0
jmp 0x5cccd2
mov ecx, dword [ebp + 0x38]
xor eax, eax
sub esi, 1
cmovb esi, eax
cmp esi, 0x1f
ja 0x5cce0a
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
shr esi, 1
lea edi, [esi*8 + 0x5fffffe0]
neg eax
xor edx, 3
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
cmp byte [esp + 0x20], 0
lea eax, [edi - 0x5fffffe0]
mov dword [esp + 0x11f8], 3
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
movsd qword [esp + 0x38], xmm2
mov dword [esp + 0x11fc], eax
je 0x5ccd49
cmp esi, 4
jae 0x5ccd57
lea eax, [edi - 0x58000000]
jmp 0x5ccd61
lea eax, [esi*8 + 0x1fffffe0]
mov edx, 0x180
jmp 0x5ccd66
mov eax, edi
mov edx, 0x7fffffc
cmove eax, edx
mov edx, 0x3e0
lea edx, [edx + edi - 0x5fffffd0]
movzx ebx, bl
mov dword [esp + 0x1200], edx
mov dword [esp + 0x1204], eax
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x3c]
add eax, edi
xor eax, 0x5fffffe0
or eax, dword [esp + 0x10]
mov eax, 0
cmove ebx, eax
lea eax, [esp + 0x960]
push eax
lea eax, [esp + 0x11fc]
push eax
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.0042d530
add esp, 0x14
movsd xmm0, qword [esp + 0x38]
test al, al
je 0x5cce10
movsd xmm3, qword [esp + 0x960]
ucomisd xmm3, xmm0
ja 0x5cce10
lea eax, [esp + 0x11f8]
mov ecx, dword [ebp + 0x38]
inc esi
add edi, 8
movapd xmm2, xmm3
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0xd4]
cmp esi, 0x10
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jne 0x5ccd01
jmp 0x5cce17
movapd xmm3, xmm2
jmp 0x5cce17
mov ecx, dword [ebp + 0x38]
movapd xmm3, xmm0
test bl, 1
lea edi, [esp + 0x148]
je 0x5cce92
mov edx, dword [ebp + 0x3c]
lea esi, [esp + 0x3e00]
lea eax, [esp + 0x960]
mov dword [esp + 0x964], 0
mov dword [esp + 0x960], 0
push eax
push esi
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
movsd qword [esp + 0x34], xmm3
call fcn.0042d530
add esp, 0x14
movsd xmm0, qword [esp + 0x20]
ucomisd xmm0, qword [esp + 0x960]
jbe 0x5cce8f
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
lea eax, [esp + 0xd4]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
push dword [esp + 0xd8]
push dword [esp + 0xd8]
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [ebp + 0x34]
call fcn.0042d2e0
add esp, 0x14
mov esi, dword [esp + 8]
mov edx, edi
lea edi, [esp + 0x160]
mov ebx, edx
mov ecx, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
lea eax, [esp + 0x130]
push edi
push ebx
push eax
push esi
push dword [ebp + 0xc]
push dword [esp + 0x64]
push dword [ebp + 8]
push dword [esp + 0x68]
push dword [ebp + 0x34]
call fcn.005daaf0
add esp, 0x24
mov eax, dword [esp + 0x140]
cmp dword [esp + 0x18], 0
mov dword [esp + 0x94], eax
je 0x5ccf1b
mov dword [esp + 0x30], 0
mov dword [esp + 0x44], 1
mov esi, 1
jmp 0x5ccf92
mov esi, 0x40
test eax, eax
je 0x5ccf80
js 0x5cfe51
movzx eax, byte [0x94bfc5]
mov edi, dword [esp + 0x94]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5d002d
cmp edi, 2
mov ebx, eax
jb 0x5ccf63
lea eax, [edi - 1]
push eax
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
lea eax, [ebx + edi - 1]
mov byte [eax], 0
push edi
push dword [esp + 0x78]
mov dword [esp + 0x4c], ebx
push ebx
call fcn.007bdf30
add esp, 0xc
mov eax, edi
mov dword [esp + 0x30], edi
jmp 0x5ccf92
mov dword [esp + 0x44], 1
xor eax, eax
mov dword [esp + 0x30], 0
imul eax, esi
mov dword [esp + 0x54], 4
mov dword [esp + 0x14], 4
test eax, eax
mov dword [esp + 0x38], eax
je 0x5cd03d
mov esi, eax
cmp eax, 0x1fc07f
ja 0x5cfe51
mov eax, esi
shl eax, 0xa
lea edi, [eax + esi*8]
test edi, edi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cfed7
cmp esi, 2
mov esi, eax
mov dword [esp + 0x14], eax
jb 0x5cd023
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
lea edi, [eax - 1]
nop dword [eax]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5cd000
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
mov eax, dword [esp + 0x170]
lea ecx, [eax*4]
test ecx, ecx
mov dword [esp + 0x58], ecx
je 0x5cd0dd
cmp dword [esp + 0x58], 0xf00f0
ja 0x5cfe51
imul edi, eax, 0x2220
test edi, edi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cfed7
mov ecx, dword [esp + 0x58]
mov esi, eax
mov dword [esp + 0x54], eax
lea edi, [ecx - 1]
nop dword [eax + eax]
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
add esi, 0x888
dec edi
jne 0x5cd0a0
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
mov ecx, dword [esp + 0x158]
test ecx, ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x70], ecx
je 0x5cd232
cmp ecx, 0xb9a78
ja 0x5cfe51
imul edi, ecx, 0xb08
test edi, edi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cfed7
cmp dword [esp + 0x70], 2
mov esi, eax
mov dword [esp + 0x88], eax
jb 0x5cd173
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x88]
lea edi, [eax - 1]
nop word [eax + eax]
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
add esi, 0xb08
dec edi
jne 0x5cd150
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x70]
mov dword [esi + 0xb04], 0x7f7ff023
cmp dword [esp + 0x194], 0
je 0x5cd1b4
push dword [esp + 0x190]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x88]
mov ebx, ecx
mov esi, 0
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ecx
xor ecx, ecx
mov eax, dword [esp + 0x13c]
test eax, eax
mov dword [esp + 0x34], eax
je 0x5cd1ea
mov eax, dword [esp + 0x138]
mov esi, dword [eax]
mov eax, dword [esp + 0x154]
test eax, eax
mov dword [esp + 0xa0], eax
je 0x5cd205
mov eax, dword [esp + 0x150]
mov ecx, dword [eax]
mov eax, dword [esp + 0x16c]
test eax, eax
mov dword [esp + 0x98], eax
je 0x5cd250
mov eax, dword [esp + 0x168]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
cmp dword [ebp + 0x34], 0
jne 0x5cd265
jmp 0x5cd7bc
mov dword [esp + 0x88], 4
cmp dword [esp + 0x194], 0
jne 0x5cd19b
jmp 0x5cd1b4
mov dword [esp + 0x8c], 0
cmp dword [ebp + 0x34], 0
je 0x5cd7bc
mov eax, dword [esp + 0x14c]
mov edi, dword [esp + 0x50]
xor edx, edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 0x2c]
mov byte [esp + 8], al
mov eax, dword [esp + 0x138]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0xb0], eax
movzx eax, byte [ebp + 0x28]
jmp 0x5cd355
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
inc edx
dec ecx
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x70]
cmp edx, dword [ebp + 0x34]
je 0x5cd7bc
cmp edx, dword [ebp + 0x3c]
je 0x5cfaff
test ecx, ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0xc], edi
jne 0x5cd3b8
mov ebx, dword [esp + 0xa8]
lea edi, [ebx + 1]
cmp edi, dword [esp + 0x9c]
jae 0x5cfcc5
cmp edi, dword [esp + 0xa0]
jae 0x5cfcd8
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xa8], edi
movzx ecx, byte [edx + ebx + 1]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + ebx*4 + 4]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
mov dword [esp + 0x40], ecx
jae 0x5cfb0e
mov dword [esp + 0x20], esi
mov esi, dword [ebp + 0x38]
mov ecx, edx
shl ecx, 4
movzx esi, word [esi + ecx + 0xc]
cmp esi, 0x2c0
jae 0x5cfb1e
imul ebx, dword [esp + 0x40], 0xb08
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc8], esi
mov dword [esp + 0x68], ecx
lea edi, [edx + ebx]
inc dword [edi + esi*4]
inc dword [edx + ebx + 0xb00]
mov edx, dword [ebp + 0x38]
mov edx, dword [edx + ecx]
test edx, edx
je 0x5cd640
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
je 0x5cd580
movzx ecx, byte [esp + 8]
nop word [eax + eax]
test esi, esi
mov byte [esp + 8], al
je 0x5cd460
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x30]
jb 0x5cd4a6
jmp 0x5cf32b
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x44]
lea edi, [esi + 1]
cmp edi, dword [esp + 0x2c]
jae 0x5cfa2c
cmp edi, dword [esp + 0x34]
jae 0x5cfa3c
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xc]
movzx ebx, byte [edx + esi + 1]
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + esi*4 + 4]
cmp ebx, dword [esp + 0x30]
jae 0x5cf32b
movzx eax, byte [eax + ebx]
mov dword [esp + 0x20], esi
mov eax, dword [eax*4 + 0x5d0048]
add eax, dword [esp + 0xac]
jmp eax
mov edx, dword [esp + 0x38]
test esi, esi
mov byte [esp + 8], al
je 0x5cd5a0
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x18]
cmp ebx, edx
jb 0x5cd5e3
jmp 0x5cfa10
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], edi
mov eax, dword [ebp + 8]
lea edi, [esi + 1]
cmp edi, dword [esp + 0x2c]
jae 0x5cfa2c
cmp edi, dword [esp + 0x34]
jae 0x5cfa3c
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xc]
movzx ebx, byte [ecx + esi + 1]
mov ecx, dword [esp + 0x5c]
mov esi, dword [ecx + esi*4 + 4]
cmp ebx, edx
jae 0x5cfa10
mov dword [esp + 0x18], ebx
mov ebx, edi
and edi, dword [ebp + 0xc]
cmp edi, eax
jae 0x5ce51c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], esi
inc ebx
mov eax, ecx
shl eax, 0xa
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0x4c]
lea esi, [edx + ecx]
movzx eax, byte [eax + edi]
mov edi, ebx
inc dword [esi + eax*4]
mov esi, dword [esp + 0x20]
inc dword [edx + ecx + 0x400]
dec esi
dec dword [esp + 0x1c]
jne 0x5cd580
jmp 0x5cd648
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov ecx, dword [ebp + 0x38]
mov edx, dword [esp + 0x68]
mov ecx, dword [ecx + edx + 4]
mov edx, 0x1ffffff
and ecx, edx
add edi, ecx
test ecx, ecx
je 0x5cd330
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0x6c]
lea ecx, [edi - 2]
and ecx, eax
cmp ecx, edx
jae 0x5cfbde
mov dword [esp + 0xc], edi
dec edi
and edi, eax
cmp edi, edx
jae 0x5cfbe8
mov eax, dword [esp + 0x4c]
movzx ecx, byte [eax + ecx]
movzx eax, byte [eax + edi]
mov edi, dword [esp + 0xc8]
cmp di, 0x7f
mov byte [esp + 8], cl
jbe 0x5cd6bf
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0x80]
test ebx, ebx
je 0x5cd6d9
mov dword [esp + 0x20], edx
jmp 0x5cd718
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, ebx
jmp 0x5cd7b3
lea ecx, [edx + 1]
cmp ecx, dword [esp + 0x90]
jae 0x5cfe01
cmp ecx, dword [esp + 0x98]
mov dword [esp + 0x20], ecx
jae 0x5cfe12
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
movzx ecx, byte [ecx + edx + 1]
mov ebx, dword [ebx + edx*4 + 4]
mov dword [esp + 0xa4], ecx
mov ecx, edi
and edi, 7
shr ecx, 6
cmp ecx, 4
ja 0x5cd73b
mov edx, 0x15
bt edx, ecx
jae 0x5cd73b
mov ecx, 3
cmp edi, 3
jb 0x5cd74a
jmp 0x5cd74c
cmp ecx, 7
mov ecx, 3
jne 0x5cd74c
cmp edi, 2
ja 0x5cd74c
mov ecx, edi
mov edx, dword [esp + 0xa4]
lea edi, [edx*4]
add edi, ecx
cmp edi, dword [esp + 0x58]
jae 0x5cfd44
mov edx, esi
mov ecx, dword [ebp + 0x38]
mov esi, dword [esp + 0x68]
movzx ecx, word [ecx + esi + 0xe]
and ecx, 0x3ff
cmp ecx, 0x220
jae 0x5cfd54
dec ebx
imul esi, edi, 0x888
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x54]
lea edi, [ebx + esi]
inc dword [edi + ecx*4]
inc dword [ebx + esi + 0x880]
mov esi, edx
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x20]
jmp 0x5cd33f
cmp dword [esp + 0x30], 0
mov ebx, dword [esp + 0x94]
je 0x5cd7e3
push dword [esp + 0x44]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x140]
mov edi, ebx
shl edi, 6
mov dword [esp + 0x1a0], edi
je 0x5cd81d
cmp edi, 0x1fffffff
ja 0x5cfe51
mov esi, ebx
shl esi, 8
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x5cd822
jmp 0x5cfee3
mov eax, 4
cmp dword [esp + 0x17c], 0
mov dword [esp + 0x40], eax
je 0x5cd849
push dword [esp + 0x178]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x38]
test edi, edi
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], edi
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x10], edi
je 0x5cd8f7
cmp edi, 0x1fc07f
ja 0x5cfe51
imul esi, ebx, 0x10200
test esi, esi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5cfee3
mov ebx, eax
dec edi
mov esi, eax
nop word cs:[eax + eax]
nop
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5cd8b0
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x10]
jmp 0x5cd8fc
mov ebx, 4
cmp dword [esp + 0x18c], 0
je 0x5cd91b
push dword [esp + 0x188]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], edi
je 0x5cd975
cmp esi, 0x1fffffff
ja 0x5cfe51
lea esi, [esi*4]
test esi, esi
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x34], eax
je 0x5cfee3
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x5cd982
jmp 0x5cfee3
mov dword [esp + 0x34], 4
mov eax, 4
mov dword [esp + 8], eax
mov dword [esp + 0x30], ebx
xor ecx, ecx
mov edx, 0x8010
xor esi, esi
movzx eax, byte [0x94bfc5]
call fcn.0071ee80
test eax, eax
je 0x5cff58
push 0x8010
push 0
mov dword [esp + 0x34], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x5cdc99
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
xor eax, eax
cmp ecx, 8
mov esi, ecx
jb 0x5cda03
mov ecx, dword [esp + 0x34]
movaps xmm0, xmmword [0x7d4430]
mov eax, esi
and eax, 0xfffffff8
mov edx, eax
add ecx, 0x10
nop dword [eax]
movups xmmword [ecx - 0x10], xmm0
movups xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff8
jne 0x5cd9f0
cmp esi, eax
je 0x5cda1c
mov ecx, dword [esp + 0x34]
mov edx, esi
sub edx, eax
lea ecx, [ecx + eax*4]
nop
mov dword [ecx], 1
add ecx, 4
dec edx
jne 0x5cda10
cmp esi, edi
jbe 0x5cda91
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x404]
xor ebx, ebx
nop dword [eax]
cmp dword [esp + 0x10], ebx
je 0x5cfe78
lea eax, [ebx + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x400]
mov dword [esp + 0x18], eax
lea eax, [edi - 0x404]
push 0x400
push esi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, esi
mov dword [edi - 4], eax
call fcn.005e2ea0
mov eax, dword [esp + 0x40]
movss dword [edi], xmm0
add esi, 0x408
add edi, 0x408
mov dword [eax + ebx*4], ebx
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x38], ebx
jne 0x5cda30
jmp 0x5cdaf5
mov esi, dword [esp + 0x14]
lea edi, [ebx + 0x404]
xor ebx, ebx
nop dword [eax]
lea eax, [ebx + 1]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x400]
mov dword [esp + 0x18], eax
lea eax, [edi - 0x404]
push 0x400
push esi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, esi
mov dword [edi - 4], eax
call fcn.005e2ea0
mov eax, dword [esp + 0x40]
movss dword [edi], xmm0
add edi, 0x408
add esi, 0x408
mov dword [eax + ebx*4], ebx
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x38], ebx
jne 0x5cdaa0
mov edi, dword [esp + 0x38]
movdqa xmm3, xmmword [0x7d44b0]
xor ebx, ebx
xor ecx, ecx
mov eax, edi
nop word [eax + eax]
cmp eax, 0x40
mov edx, 0x40
mov esi, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
cmovb edx, eax
sub esi, ecx
mov eax, ecx
mov eax, 0x40
cmp esi, 0x40
cmovae esi, eax
test esi, esi
mov dword [esp + 0x1c], esi
je 0x5cdc05
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
mov esi, 0x40
cmp eax, 0x40
cmovb esi, eax
xor ecx, ecx
dec esi
sub edi, ebx
cmovb edi, ecx
cmp edi, esi
cmovb esi, edi
inc esi
cmp esi, 4
jbe 0x5cdbce
mov eax, esi
mov dword [esp + 0x44], ebx
lea ecx, [edx - 1]
movd xmm0, dword [esp + 0x20]
movdqa xmm1, xmmword [0x7d44a0]
and eax, 3
mov dword [esp + 0xc], eax
mov eax, 4
mov ebx, dword [esp + 0xc]
pshufd xmm0, xmm0, 0
cmove ebx, eax
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
sub esi, eax
cmp edi, ecx
cmovb ecx, edi
not ecx
add ecx, eax
mov eax, dword [esp + 8]
movdqa xmm2, xmm1
movd edi, xmm1
paddd xmm1, xmm3
add edi, ebx
paddd xmm2, xmm0
add ecx, 4
movdqu xmmword [eax + edi*4], xmm2
jne 0x5cdbb0
mov ecx, esi
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
sub edx, ecx
mov esi, edi
sub esi, ecx
cmp ebx, edi
cmovb edi, ebx
sub esi, edi
lea edi, [ecx + eax]
add ecx, ebx
nop dword [eax + eax]
sub esi, 1
jb 0x5ce4f4
mov eax, dword [esp + 8]
mov dword [eax + ecx*4], edi
inc edi
inc ecx
dec edx
jne 0x5cdbf0
mov esi, dword [esp + 0x10]
sub esi, dword [esp + 0x20]
jb 0x5cfe56
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
sub edi, ebx
jb 0x5cfe68
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
lea eax, [eax + ebx*4]
mov dword [esp + 0x44], eax
push 0x800
push pe_nt_image_headers32
mov eax, dword [esp + 0x24]
push eax
push eax
push 0x801
push dword [esp + 0x40]
push edi
push dword [esp + 0x60]
push esi
push dword [esp + 0x30]
mov edi, dword [esp + 0x60]
push edi
push dword [esp + 0x60]
call fcn.005e35f0
mov ecx, dword [esp + 0x50]
add esp, 0x30
mov esi, eax
mov eax, dword [esp + 0x18]
movdqa xmm3, xmmword [0x7d44b0]
add ecx, 0x40
add esi, ebx
mov ebx, esi
add eax, 0xffffffc0
cmp ecx, edi
jb 0x5cdb10
mov edi, esi
mov eax, esi
mov ebx, 0x801
shr edi, 1
shl eax, 6
imul edi, esi
cmp eax, edi
cmovb edi, eax
cmp edi, 0x800
jb 0x5cdd64
mov eax, 0x800
mov ebx, eax
add eax, eax
cmp ebx, edi
jbe 0x5cdcc0
cmp ebx, 0x7ffffff
ja 0x5cfe51
mov edx, ebx
shl edx, 4
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov dword [esp + 0x20], edx
call fcn.0071ee80
test eax, eax
je 0x5d001f
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
push ecx
push 0
push eax
mov dword [esp + 0x24], eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov dword [ecx + eax - 0xc], 0
mov dword [ecx + eax - 0x10], 0
mov dword [ecx + eax - 4], 0
mov dword [ecx + eax - 8], 0
push 0x8000
push dword [esp + 0x30]
push eax
call fcn.007bd9b0
add esp, 0xc
push dword [esp + 0x2c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push edi
mov edi, edx
push pe_nt_image_headers32
mov eax, dword [esp + 0x40]
push eax
push esi
mov esi, eax
push ebx
mov ebx, dword [esp + 0x40]
push ebx
push eax
push dword [esp + 0x24]
push edx
push dword [esp + 0x64]
push eax
push dword [esp + 0x60]
call fcn.005e35f0
add esp, 0x30
mov dword [esp + 0x44], eax
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x5ce1c3
push dword [esp + 0x34]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x44], 0
je 0x5ce082
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
xor esi, esi
add eax, 0x10
mov dword [esp + 0x2c], eax
nop word cs:[eax + eax]
nop dword [eax]
test esi, esi
je 0x5cde04
lea ecx, [esi - 1]
cmp ecx, edi
jae 0x5cfc58
lea eax, [edx + ecx*4]
jmp 0x5cde0e
test edi, edi
mov eax, edx
je 0x5cfd95
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x20], eax
jae 0x5cfbac
mov eax, esi
mov dword [esp + 0x60], esi
mov edx, dword [esp + 8]
shl eax, 0xa
lea ecx, [eax + esi*8]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
lea ebx, [eax + ecx]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov esi, dword [ebx + 0x400]
test esi, esi
je 0x5ce040
mov ecx, dword [esp + 0x20]
mov eax, ecx
shl eax, 0xa
lea edi, [eax + ecx*8]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
movss xmm0, dword [eax + ecx + 0x404]
mov eax, dword [esp + 0x30]
add eax, edi
movss dword [esp + 0x34], xmm0
mov dword [esp + 0x18], eax
push 0x400
push ebx
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0x2c]
mov dword [esp + 0x5c], esi
movss dword [esp + 0x15f8], xmm0
mov eax, dword [eax + 0x400]
add eax, esi
mov dword [esp + 0x15f4], eax
mov eax, 0xfffffc00
nop
movdqu xmm0, xmmword [esp + eax + 0x15f4]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x1604]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x15f4], xmm2
movdqu xmmword [esp + eax + 0x1604], xmm3
add eax, 0x20
jne 0x5cdec0
lea ecx, [esp + 0x11f4]
call fcn.005e2ea0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x48], ebx
subss xmm0, dword [eax + 0x404]
nop word cs:[eax + eax]
nop
cmp ecx, dword [esp + 0x38]
je 0x5cf33b
mov eax, dword [esp + 8]
mov esi, dword [eax + ecx*4]
cmp esi, edi
jae 0x5cf34b
mov eax, esi
inc ecx
movss dword [esp + 0x1c], xmm0
shl eax, 0xa
mov dword [esp + 0x18], ecx
lea edi, [eax + esi*8]
mov eax, ebx
mov ebx, dword [esp + 0x30]
lea ecx, [ebx + edi]
mov dword [esp + 0xc], ecx
push 0x400
push eax
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x15f8], xmm0
mov eax, dword [ebx + edi + 0x400]
add edi, dword [esp + 0x2c]
add eax, dword [esp + 0x5c]
mov dword [esp + 0x15f4], eax
mov eax, 0xfffffc00
nop dword [eax]
movdqu xmm0, xmmword [esp + eax + 0x15f4]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x1604]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x15f4], xmm2
movdqu xmmword [esp + eax + 0x1604], xmm3
add eax, 0x20
jne 0x5cdfb0
lea ecx, [esp + 0x11f4]
call fcn.005e2ea0
mov eax, dword [esp + 0xc]
movss xmm1, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
subss xmm0, dword [eax + 0x404]
mov eax, dword [esp + 0x20]
ucomiss xmm1, xmm0
minss xmm0, xmm1
cmova eax, esi
cmp ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
jne 0x5cdf30
jmp 0x5ce059
sub ecx, 1
jb 0x5cf33b
mov esi, dword [edx]
cmp esi, edi
jae 0x5cf34b
add edx, 4
dec eax
jne 0x5ce040
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
cmp esi, edi
je 0x5cfcfb
mov ecx, dword [esp + 0x20]
mov dword [edx + esi*4], ecx
inc esi
cmp esi, eax
jne 0x5cddf0
jmp 0x5ce1c3
mov eax, dword [esp + 0x30]
cmp esi, edi
lea eax, [eax + 0x10]
jbe 0x5cf1d8
mov edx, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0xc], eax
test ebx, ebx
je 0x5ce0af
lea ecx, [ebx - 1]
cmp ecx, edi
jae 0x5cfc58
lea eax, [edx + ecx*4]
jmp 0x5ce0b9
test edi, edi
mov eax, edx
je 0x5cfd95
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x20], eax
jae 0x5cfbac
mov eax, ebx
shl eax, 0xa
lea ecx, [eax + ebx*8]
mov eax, dword [esp + 0x14]
add eax, ecx
mov esi, dword [eax + 0x400]
test esi, esi
je 0x5ce1a7
mov edi, dword [esp + 0x20]
mov edx, edi
shl edx, 0xa
lea edi, [edx + edi*8]
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + ecx + 0x404]
mov ecx, dword [esp + 0x30]
add ecx, edi
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x18], ecx
push 0x400
push eax
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0xc]
movss dword [esp + 0x15f8], xmm0
add esi, dword [eax + 0x400]
mov eax, 0xfffffc00
mov dword [esp + 0x15f4], esi
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x15f4]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x1604]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x15f4], xmm2
movdqu xmmword [esp + eax + 0x1604], xmm3
add eax, 0x20
jne 0x5ce150
lea ecx, [esp + 0x11f4]
call fcn.005e2ea0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
cmp ebx, edi
je 0x5cfcfb
mov ecx, dword [esp + 0x20]
mov dword [edx + ebx*4], ecx
inc ebx
cmp ebx, eax
jne 0x5ce09b
cmp dword [esp + 0x44], 0
mov ebx, dword [esp + 0x14]
je 0x5ce233
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 8]
nop word cs:[eax + eax]
sub esi, 1
jb 0x5cfb2f
mov ecx, dword [edi]
cmp ecx, dword [esp + 0x10]
jae 0x5cfb3f
mov ebx, dword [esp + 0x30]
mov eax, ecx
shl eax, 0xa
lea eax, [eax + ecx*8]
mov dword [esp + 0x20], eax
add eax, ebx
push 0x404
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x20]
add edi, 4
dec dword [esp + 0x44]
mov dword [ebx + eax + 0x404], 0x7f7ff023
mov ebx, dword [esp + 0x14]
jne 0x5ce1e0
mov esi, dword [esp + 0x38]
test esi, esi
je 0x5ce30c
cmp dword [esp + 0x10], esi
jbe 0x5ce323
mov eax, dword [esp + 0x30]
lea edx, [ebx + 0x10]
xor edi, edi
add eax, 0x10
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + edi*4]
cmp ecx, dword [esp + 0x10]
jae 0x5cfb4d
mov esi, ecx
shl esi, 0xa
lea esi, [esi + ecx*8]
mov ecx, edi
shl ecx, 0xa
lea ebx, [ecx + edi*8]
lea ecx, [edi + 1]
mov edi, dword [esp + 0x14]
mov edi, dword [edi + ebx + 0x400]
mov ebx, dword [esp + 0x30]
add dword [ebx + esi + 0x400], edi
add esi, eax
mov edi, 0xffffff00
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqu xmm0, xmmword [esi + edi*4 + 0x3f0]
movdqu xmm2, xmmword [edx + edi*4 + 0x3f0]
movdqu xmm1, xmmword [esi + edi*4 + 0x400]
movdqu xmm3, xmmword [edx + edi*4 + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esi + edi*4 + 0x3f0], xmm2
movdqu xmmword [esi + edi*4 + 0x400], xmm3
add edi, 8
jne 0x5ce2b0
mov esi, dword [esp + 0x38]
add edx, 0x408
mov edi, ecx
cmp ecx, esi
jne 0x5ce260
jmp 0x5ce3d7
xor eax, eax
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
jmp 0x5ce769
mov eax, dword [esp + 0x30]
lea edx, [ebx + 0x10]
xor edi, edi
add eax, 0x10
nop
mov esi, dword [esp + 0x10]
cmp edi, esi
je 0x5cfc7e
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + edi*4]
cmp ecx, esi
jae 0x5cfb4d
mov esi, ecx
shl esi, 0xa
lea esi, [esi + ecx*8]
mov ecx, edi
shl ecx, 0xa
lea ebx, [ecx + edi*8]
lea ecx, [edi + 1]
mov edi, dword [esp + 0x14]
mov edi, dword [edi + ebx + 0x400]
mov ebx, dword [esp + 0x30]
add dword [ebx + esi + 0x400], edi
add esi, eax
mov edi, 0xffffff00
nop dword [eax + eax]
movdqu xmm0, xmmword [esi + edi*4 + 0x3f0]
movdqu xmm2, xmmword [edx + edi*4 + 0x3f0]
movdqu xmm1, xmmword [esi + edi*4 + 0x400]
movdqu xmm3, xmmword [edx + edi*4 + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esi + edi*4 + 0x3f0], xmm2
movdqu xmmword [esi + edi*4 + 0x400], xmm3
add edi, 8
jne 0x5ce380
mov esi, dword [esp + 0x38]
add edx, 0x408
mov edi, ecx
cmp ecx, esi
jne 0x5ce330
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp esi, 0x20000000
jae 0x5cfe51
lea edi, [esi*4]
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cfed7
push edi
push 0xff
mov dword [esp + 0x20], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov eax, esi
mov dword [esp + 0x1c], 0
jmp 0x5ce446
add edi, 4
dec eax
je 0x5ce471
sub edx, 1
jb 0x5cfb5b
mov ecx, dword [edi]
cmp ecx, esi
jae 0x5cfb6b
cmp dword [ebx + ecx*4], 0xffffffff
jne 0x5ce440
mov esi, dword [esp + 0x1c]
mov dword [ebx + ecx*4], esi
inc esi
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
jmp 0x5ce440
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x5ce502
cmp ebx, 0x1fc07f
mov dword [esp + 8], 0
ja 0x5cfe51
mov eax, ebx
shl eax, 0xa
lea edi, [eax + ebx*8]
test edi, edi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0xc], eax
je 0x5cfed7
cmp ebx, 2
jb 0x5ce52b
mov eax, dword [esp + 0xc]
dec ebx
mov edi, eax
push 0x404
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [edi + 0x408]
dec ebx
mov dword [edi + 0x404], 0x7f7ff023
jne 0x5ce4c7
add edi, 0x80c
jmp 0x5ce537
mov edx, dword [esp + 0x38]
push 0x9255cc
call fcn.007c1be0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 4
mov dword [esp + 0x1c], 0
jmp 0x5ce54d
mov edx, dword [ebp + 8]
mov ecx, edi
push 0x925894
call fcn.007c1be0
mov eax, dword [esp + 0xc]
mov edi, eax
add edi, 0x404
push 0x404
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [edi], 0x7f7ff023
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x18]
mov eax, esi
nop dword [eax + eax]
sub edi, 1
jb 0x5cfb84
mov ecx, dword [edx]
cmp ecx, esi
jae 0x5cfb94
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
cmp dword [ebx + ecx*4], eax
jne 0x5ce615
cmp ecx, dword [esp + 0x10]
jae 0x5cfca7
cmp eax, dword [esp + 0x1c]
jae 0x5cfcb5
mov eax, ecx
mov ebx, dword [esp + 0xc]
shl eax, 0xa
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + eax + 0x400]
movss xmm0, dword [ecx + eax + 0x404]
add eax, ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 8]
shl ecx, 0xa
movss dword [esp + 0x34], xmm0
lea esi, [ecx + esi*8]
lea ecx, [ebx + esi]
push 0x400
push eax
push ecx
mov dword [esp + 0x4c], edx
call fcn.007bd9b0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov ecx, dword [esp + 0x44]
movss xmm0, dword [esp + 0x34]
inc eax
mov dword [ebx + esi + 0x400], ecx
movss dword [ebx + esi + 0x404], xmm0
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov ecx, dword [edx]
cmp ecx, esi
jae 0x5cfba0
mov dword [esp + 8], eax
mov eax, dword [ebx + ecx*4]
mov dword [edx], eax
mov eax, dword [esp + 0x20]
add edx, 4
dec eax
jne 0x5ce560
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 8], 0
je 0x5ce6ea
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov esi, 0x404
cmp eax, edi
jbe 0x5ce6f4
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x30]
sub eax, 1
jb 0x5cfc48
sub edi, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
jb 0x5cff00
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + esi - 4]
movss xmm0, dword [eax + esi]
lea eax, [eax + esi - 0x404]
mov dword [esp + 0x34], ecx
lea ecx, [ebx + esi - 0x404]
movss dword [esp + 0x44], xmm0
push 0x400
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x34]
movss xmm0, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mov dword [ebx + esi - 4], eax
mov eax, dword [esp + 0x18]
movss dword [ebx + esi], xmm0
add esi, 0x408
dec ecx
jne 0x5ce66b
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
jmp 0x5ce76d
mov dword [esp + 8], 0
jmp 0x5ce761
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x30]
sub eax, 1
mov dword [esp + 0x20], eax
jb 0x5cfc48
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + esi - 4]
movss xmm0, dword [ecx + esi]
lea eax, [ecx + esi - 0x404]
lea ecx, [edi + esi - 0x404]
mov dword [esp + 0x18], edx
movss dword [esp + 0x10], xmm0
push 0x400
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x18]
movss xmm0, dword [esp + 0x10]
mov dword [edi + esi - 4], eax
mov eax, dword [esp + 0x20]
movss dword [edi + esi], xmm0
add esi, 0x408
dec ebx
jne 0x5ce6fc
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5ce77f
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 8]
test esi, esi
mov dword [esp + 0x1a8], eax
je 0x5ce79d
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xf4], 0
je 0x5ce813
mov edx, dword [esp + 0x140]
test edx, edx
je 0x5ce813
mov eax, dword [esp + 0x17c]
lea ecx, [edx - 1]
cmp ecx, eax
mov dword [esp + 8], eax
jae 0x5cfe27
mov esi, dword [esp + 0x178]
mov ebx, edx
mov edi, edx
shl ebx, 8
shl edi, 6
add ebx, esi
nop dword [eax + eax]
dec edx
mov eax, 0xffffffc0
nop word cs:[eax + eax]
lea ecx, [edi + eax]
cmp ecx, dword [esp + 8]
jae 0x5cf359
mov ecx, dword [esi + edx*4]
mov dword [ebx + eax*4], ecx
inc eax
jne 0x5ce7f0
add edi, 0xffffffc0
add ebx, 0xffffff00
test edx, edx
jne 0x5ce7e0
mov esi, dword [esp + 0x170]
lea ebx, [esi*4]
mov dword [esp + 0x5c], esi
test ebx, ebx
mov dword [esp + 0x1a4], ebx
je 0x5ce85a
cmp ebx, 0x1fffffff
ja 0x5cfe51
shl esi, 4
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
jne 0x5ce85f
jmp 0x5cfee3
mov eax, 4
cmp dword [esp + 0x184], 0
mov dword [esp + 0x2c], eax
je 0x5ce886
push dword [esp + 0x180]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x2c]
test ebx, ebx
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ebx
mov dword [esp + 0x1b0], ebx
je 0x5ce933
mov eax, dword [esp + 0x5c]
cmp ebx, 0xf00f0
ja 0x5cfe51
imul esi, eax, 0x2220
test esi, esi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5cfee3
lea edi, [ebx - 1]
mov esi, eax
mov dword [esp + 0x1c], eax
nop word cs:[eax + eax]
nop dword [eax]
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
add esi, 0x888
dec edi
jne 0x5ce8f0
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
mov esi, dword [esp + 0x1c]
jmp 0x5ce938
mov esi, 4
cmp dword [esp + 0x19c], 0
je 0x5ce957
push dword [esp + 0x198]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
mov dword [esp + 0x198], esi
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1c], esi
je 0x5ce9ba
mov esi, dword [esp + 0x5c]
cmp ebx, 0x1fffffff
ja 0x5cfe51
shl esi, 4
js 0x5cfe51
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5cfee3
mov ecx, 8
mov edx, esi
mov edi, eax
call fcn.0071ee80
test eax, eax
mov dword [esp + 0xc], eax
je 0x5cfee3
mov dword [esp + 0x34], edi
jmp 0x5ce9ca
mov dword [esp + 0x34], 4
mov dword [esp + 0xc], 4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x8010
xor edi, edi
call fcn.0071ee80
test eax, eax
je 0x5cff58
push 0x8010
push 0
mov dword [esp + 0x50], eax
push eax
call fcn.007bdf30
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x5cecdc
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
xor eax, eax
cmp ebx, 8
jb 0x5cea43
movaps xmm0, xmmword [0x7d4430]
mov eax, ebx
lea ecx, [edi + 0x10]
and eax, 0xfffffff8
mov edx, eax
nop word [eax + eax]
movups xmmword [ecx - 0x10], xmm0
movups xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff8
jne 0x5cea30
cmp ebx, eax
je 0x5cea5c
lea ecx, [edi + eax*4]
sub eax, ebx
nop dword [eax + eax]
mov dword [ecx], 1
add ecx, 4
inc eax
jne 0x5cea50
cmp dword [esp + 0x58], ebx
jbe 0x5ceac9
lea edi, [esi + 0x884]
mov esi, dword [esp + 0x54]
xor ebx, ebx
nop
lea eax, [ebx + 1]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x880]
mov dword [esp + 0x20], eax
lea eax, [edi - 0x884]
push 0x880
push esi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, esi
mov dword [edi - 4], eax
call fcn.005e4410
mov eax, dword [esp + 0x2c]
movss dword [edi], xmm0
mov edx, dword [esp + 0x14]
add edi, 0x888
add esi, 0x888
mov dword [eax + ebx*4], ebx
mov ebx, dword [esp + 8]
cmp edx, ebx
jne 0x5cea70
jmp 0x5ceb41
lea edi, [esi + 0x884]
mov esi, dword [esp + 0x54]
xor ebx, ebx
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x58], ebx
je 0x5cfceb
lea eax, [ebx + 1]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x880]
mov dword [esp + 0x20], eax
lea eax, [edi - 0x884]
push 0x880
push esi
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, esi
mov dword [edi - 4], eax
call fcn.005e4410
mov eax, dword [esp + 0x2c]
movss dword [edi], xmm0
mov edx, dword [esp + 0x14]
add esi, 0x888
add edi, 0x888
mov dword [eax + ebx*4], ebx
mov ebx, dword [esp + 8]
cmp edx, ebx
jne 0x5ceae0
movdqa xmm3, xmmword [0x7d44b0]
mov dword [esp + 0x20], 0
mov eax, edx
xor ecx, ecx
nop word cs:[eax + eax]
nop
cmp eax, 0x40
mov esi, 0x40
mov edi, edx
mov dword [esp + 0x18], eax
mov dword [esp + 8], ecx
cmovb esi, eax
sub edi, ecx
mov eax, ecx
mov eax, 0x40
cmp edi, 0x40
mov dword [esp + 0x38], edi
cmovb eax, edi
test eax, eax
mov dword [esp + 0x10], eax
je 0x5cec51
mov eax, dword [esp + 0x18]
mov ebx, 0x40
mov edi, edx
cmp eax, 0x40
cmovb ebx, eax
xor ecx, ecx
dec ebx
sub edi, dword [esp + 0x20]
cmovb edi, ecx
cmp edi, ebx
cmovb ebx, edi
cmp ebx, 3
jbe 0x5cec1c
inc ebx
mov ecx, 4
lea eax, [esi - 1]
movd xmm0, dword [esp + 8]
movdqa xmm1, xmmword [0x7d44a0]
mov edx, ebx
and edx, 3
cmove edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x20]
sub ecx, edx
cmp edi, eax
pshufd xmm0, xmm0, 0
cmovb eax, edi
not eax
add eax, edx
mov edx, dword [esp + 0xc]
nop word cs:[eax + eax]
nop dword [eax]
movdqa xmm2, xmm1
movd edi, xmm1
paddd xmm1, xmm3
add edi, ebx
paddd xmm2, xmm0
add eax, 4
movdqu xmmword [edx + edi*4], xmm2
jne 0x5cec00
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
sub esi, ecx
mov eax, edx
mov edi, edx
sub eax, ecx
cmp ebx, edx
cmovb edi, ebx
sub eax, edi
mov edi, dword [esp + 8]
add edi, ecx
add ecx, ebx
mov ebx, dword [esp + 0xc]
nop
sub eax, 1
jb 0x5cf367
mov dword [ebx + ecx*4], edi
inc edi
inc ecx
dec esi
jne 0x5cec40
mov esi, dword [esp + 0x20]
mov eax, edx
mov ebx, edx
sub eax, esi
jb 0x5cfeb9
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 8]
lea ecx, [ecx + edx*4]
mov edx, ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx + esi*4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x1c]
push 0x800
push pe_nt_image_headers32
mov edi, dword [esp + 0x18]
push edi
push edi
push 0x801
push dword [esp + 0x5c]
push eax
push dword [esp + 0x60]
push dword [esp + 0x58]
push dword [esp + 0x54]
push ebx
push dword [esp + 0x60]
call fcn.005e4b60
mov ecx, dword [esp + 0x38]
add esp, 0x30
mov edi, eax
mov eax, dword [esp + 0x18]
movdqa xmm3, xmmword [0x7d44b0]
add ecx, 0x40
mov edx, ebx
add edi, esi
mov dword [esp + 0x20], edi
add eax, 0xffffffc0
cmp ecx, ebx
jb 0x5ceb60
mov ebx, edi
mov eax, edi
mov esi, 0x801
shr ebx, 1
shl eax, 6
imul ebx, edi
cmp eax, ebx
cmovb ebx, eax
cmp ebx, 0x800
jb 0x5cedb2
mov eax, 0x800
nop word cs:[eax + eax]
nop dword [eax]
mov esi, eax
add eax, eax
cmp esi, ebx
jbe 0x5ced10
cmp esi, 0x7ffffff
ja 0x5cfe51
mov edx, esi
shl edx, 4
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov dword [esp + 8], edx
call fcn.0071ee80
test eax, eax
je 0x5d0039
mov ecx, dword [esp + 8]
add ecx, 0xfffffff0
push ecx
push 0
push eax
mov dword [esp + 0x2c], eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov dword [ecx + eax - 0xc], 0
mov dword [ecx + eax - 0x10], 0
mov dword [ecx + eax - 4], 0
mov dword [ecx + eax - 8], 0
push 0x8000
push dword [esp + 0x4c]
push eax
call fcn.007bd9b0
add esp, 0xc
push dword [esp + 0x48]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x20]
jmp 0x5cedb6
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
push ebx
mov ebx, edx
push pe_nt_image_headers32
push edx
push edi
push esi
push eax
push edx
push dword [esp + 0x28]
push edx
push dword [esp + 0x50]
push edx
mov esi, dword [esp + 0x60]
push esi
mov edi, eax
call fcn.005e4b60
add esp, 0x30
mov dword [esp + 0x10], eax
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
je 0x5cf09e
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5cf0c7
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x2c]
xor ecx, ecx
jmp 0x5cee44
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x48]
mov dword [eax + edx*4], ecx
mov ecx, edx
mov edx, dword [esp + 0x54]
inc ecx
cmp ecx, ebx
je 0x5cf4a8
test ecx, ecx
je 0x5cee5e
mov esi, ecx
dec ecx
cmp ecx, dword [esp + 0x14]
jae 0x5cfd73
mov eax, dword [esp + 0x2c]
lea eax, [eax + ecx*4]
mov ecx, esi
cmp ecx, dword [esp + 0x58]
je 0x5cfd34
mov eax, dword [eax]
mov ebx, dword [esp + 0x14]
cmp eax, ebx
mov dword [esp + 8], eax
jae 0x5cfd85
imul edi, ecx, 0x888
mov dword [esp + 0x48], ecx
mov ecx, ebx
lea esi, [edx + edi]
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 0x880]
mov dword [esp + 0x30], eax
test eax, eax
mov eax, dword [esp + 0x10]
je 0x5cf080
mov ecx, esi
imul esi, dword [esp + 8], 0x888
mov eax, dword [esp + 0x54]
add esi, dword [esp + 0x1c]
movss xmm0, dword [eax + edi + 0x884]
movss dword [esp + 0x44], xmm0
push 0x880
mov dword [esp + 0x38], ecx
push ecx
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x44]
mov edi, dword [esp + 0x30]
movss dword [esp + 0x1a78], xmm0
mov eax, dword [esi + 0x880]
add eax, edi
mov dword [esp + 0x1a74], eax
mov eax, 0xfffff780
nop word cs:[eax + eax]
nop
movdqu xmm0, xmmword [esp + eax + 0x1a74]
movdqu xmm2, xmmword [esi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0x1a84]
movdqu xmm3, xmmword [esi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x1a74], xmm2
movdqu xmmword [esp + eax + 0x1a84], xmm3
add eax, 0x20
jne 0x5cef10
lea ecx, [esp + 0x11f4]
call fcn.005e4410
subss xmm0, dword [esi + 0x884]
xor ecx, ecx
nop dword [eax]
cmp ecx, ebx
je 0x5cfa60
mov eax, dword [esp + 0xc]
mov esi, dword [eax + ecx*4]
cmp esi, ebx
jae 0x5cfa6e
mov ebx, dword [esp + 0x1c]
imul eax, esi, 0x888
inc ecx
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], eax
lea edi, [ebx + eax]
push 0x880
push dword [esp + 0x38]
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
movss dword [esp + 0x1a78], xmm0
mov eax, dword [ebx + eax + 0x880]
add eax, dword [esp + 0x30]
mov dword [esp + 0x1a74], eax
mov eax, 0xfffff780
nop word cs:[eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x1a74]
movdqu xmm2, xmmword [edi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0x1a84]
movdqu xmm3, xmmword [edi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x1a74], xmm2
movdqu xmmword [esp + eax + 0x1a84], xmm3
add eax, 0x20
jne 0x5ceff0
lea ecx, [esp + 0x11f4]
call fcn.005e4410
subss xmm0, dword [edi + 0x884]
movss xmm1, dword [esp + 0x18]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
ucomiss xmm1, xmm0
minss xmm0, xmm1
cmova eax, esi
cmp ecx, dword [esp + 0x10]
mov dword [esp + 8], eax
jne 0x5cef70
jmp 0x5cee26
sub ecx, 1
jb 0x5cfa60
mov esi, dword [edx]
cmp esi, ebx
jae 0x5cfa6e
add edx, 4
dec eax
jne 0x5cf080
jmp 0x5cee26
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
mov esi, ebx
test eax, eax
jne 0x5cf4c0
xor eax, eax
mov dword [esp + 0x38], 4
mov dword [esp + 8], 0
jmp 0x5cf9cd
cmp dword [esp + 0x58], ebx
mov edx, dword [esp + 0x54]
jbe 0x5cf396
mov eax, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x5cf0f3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov dword [eax + ebx*4], ecx
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x5cf4a8
test ebx, ebx
je 0x5cf10b
lea ecx, [ebx - 1]
cmp ecx, dword [esp + 0x14]
jae 0x5cfd73
mov eax, dword [esp + 0x2c]
lea eax, [eax + ecx*4]
mov eax, dword [eax]
cmp eax, dword [esp + 0x14]
mov dword [esp + 8], eax
jae 0x5cfd81
imul ecx, ebx, 0x888
lea eax, [edx + ecx]
mov esi, dword [eax + 0x880]
test esi, esi
je 0x5cf0dd
imul edi, dword [esp + 8], 0x888
movss xmm0, dword [edx + ecx + 0x884]
add edi, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm0
push 0x880
push eax
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x20]
mov eax, 0xfffff780
movss dword [esp + 0x1a78], xmm0
add esi, dword [edi + 0x880]
mov dword [esp + 0x1a74], esi
movdqu xmm0, xmmword [esp + eax + 0x1a74]
movdqu xmm2, xmmword [edi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0x1a84]
movdqu xmm3, xmmword [edi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x1a74], xmm2
movdqu xmmword [esp + eax + 0x1a84], xmm3
add eax, 0x20
jne 0x5cf180
lea ecx, [esp + 0x11f4]
call fcn.005e4410
mov edx, dword [esp + 0x54]
jmp 0x5cf0dd
mov edx, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0xc], eax
jmp 0x5cf1f6
mov eax, dword [esp + 0x20]
mov dword [edx + ebx*4], eax
inc ebx
cmp ebx, dword [esp + 0x38]
je 0x5ce1c3
test ebx, ebx
mov eax, edx
je 0x5cf20a
lea ecx, [ebx - 1]
cmp ecx, edi
jae 0x5cfc58
lea eax, [edx + ecx*4]
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x20], eax
jae 0x5cfbac
mov eax, ebx
shl eax, 0xa
lea ecx, [eax + ebx*8]
mov eax, dword [esp + 0x14]
add eax, ecx
mov esi, dword [eax + 0x400]
test esi, esi
je 0x5cf1e4
mov edi, dword [esp + 0x20]
mov edx, edi
shl edx, 0xa
lea edi, [edx + edi*8]
mov edx, dword [esp + 0x14]
movss xmm0, dword [edx + ecx + 0x404]
mov ecx, dword [esp + 0x30]
add ecx, edi
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x18], ecx
push 0x400
push eax
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
add edi, dword [esp + 0xc]
movss dword [esp + 0x15f8], xmm0
add esi, dword [eax + 0x400]
mov eax, 0xfffffc00
mov dword [esp + 0x15f4], esi
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x15f4]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x1604]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x15f4], xmm2
movdqu xmmword [esp + eax + 0x1604], xmm3
add eax, 0x20
jne 0x5cf2a0
lea ecx, [esp + 0x11f4]
call fcn.005e2ea0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
jmp 0x5cf1e4
push 0x910f64
call fcn.007c1be0
push 0x910f74
call fcn.007c1be0
mov edx, dword [ebp + 8]
push 0x8f23c8
call fcn.007c1be0
mov ecx, eax
mov edx, edi
push 0x910f54
call fcn.007c1be0
mov edx, dword [esp + 0x30]
mov ecx, ebx
push 0x925874
call fcn.007c1be0
mov ecx, dword [esp + 0x38]
mov edx, ecx
push 0x92543c
call fcn.007c1be0
mov ecx, esi
mov edx, edi
push 0x92544c
call fcn.007c1be0
mov edx, dword [esp + 8]
push 0x925d30
call fcn.007c1be0
push 0x9255cc
call fcn.007c1be0
mov edx, dword [ebp + 8]
push 0x8f2398
call fcn.007c1be0
mov ecx, ebx
push 0x910f14
call fcn.007c1be0
mov ecx, ebx
push 0x910f24
call fcn.007c1be0
mov eax, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x5cf3b4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov dword [eax + ebx*4], ecx
inc ebx
cmp ebx, dword [esp + 0x14]
je 0x5cf4a8
test ebx, ebx
je 0x5cf3cc
lea ecx, [ebx - 1]
cmp ecx, dword [esp + 0x14]
jae 0x5cfd73
mov eax, dword [esp + 0x2c]
lea eax, [eax + ecx*4]
cmp ebx, dword [esp + 0x58]
je 0x5cfd34
mov eax, dword [eax]
cmp eax, dword [esp + 0x14]
mov dword [esp + 8], eax
jae 0x5cfd81
imul ecx, ebx, 0x888
lea eax, [edx + ecx]
mov esi, dword [eax + 0x880]
test esi, esi
je 0x5cf39e
imul edi, dword [esp + 8], 0x888
movss xmm0, dword [edx + ecx + 0x884]
add edi, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm0
push 0x880
push eax
lea eax, [esp + 0x11fc]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x20]
mov eax, 0xfffff780
movss dword [esp + 0x1a78], xmm0
add esi, dword [edi + 0x880]
mov dword [esp + 0x1a74], esi
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x1a74]
movdqu xmm2, xmmword [edi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0x1a84]
movdqu xmm3, xmmword [edi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x1a74], xmm2
movdqu xmmword [esp + eax + 0x1a84], xmm3
add eax, 0x20
jne 0x5cf450
lea ecx, [esp + 0x11f4]
call fcn.005e4410
mov edx, dword [esp + 0x54]
jmp 0x5cf39e
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
test eax, eax
mov esi, ebx
je 0x5cf519
nop word [eax + eax]
sub esi, 1
jb 0x5cfc64
mov ecx, dword [edi]
cmp ecx, ebx
jae 0x5cfc72
mov ebx, dword [esp + 0x1c]
imul ecx, ecx, 0x888
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
lea eax, [ebx + ecx]
push 0x884
push 0
push eax
call fcn.007bdf30
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
add esp, 0xc
mov ecx, dword [esp + 8]
add edi, 4
dec eax
mov dword [ebx + ecx + 0x884], 0x7f7ff023
mov ebx, dword [esp + 0x14]
jne 0x5cf4c0
cmp ebx, dword [esp + 0x58]
jbe 0x5cf5d9
lea eax, [edx + 0x10]
xor edx, edx
nop dword [eax + eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4]
cmp ecx, ebx
jae 0x5cfbd2
cmp edx, dword [esp + 0x58]
je 0x5cfec7
mov edi, dword [esp + 0x54]
imul esi, edx, 0x888
imul ecx, ecx, 0x888
inc edx
mov esi, dword [edi + esi + 0x880]
mov edi, dword [esp + 0x1c]
add dword [edi + ecx + 0x880], esi
add ecx, edi
mov esi, 0xfffffde0
nop word cs:[eax + eax]
nop dword [eax]
movdqu xmm0, xmmword [ecx + esi*4 + 0x880]
movdqu xmm2, xmmword [eax + esi*4 + 0x870]
movdqu xmm1, xmmword [ecx + esi*4 + 0x890]
movdqu xmm3, xmmword [eax + esi*4 + 0x880]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + esi*4 + 0x880], xmm2
movdqu xmmword [ecx + esi*4 + 0x890], xmm3
add esi, 8
jne 0x5cf580
mov esi, dword [esp + 0x1c]
add eax, 0x888
cmp edx, ebx
jne 0x5cf530
jmp 0x5cf674
lea eax, [edx + 0x10]
xor edx, edx
cmp edx, ebx
je 0x5cfd26
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + edx*4]
cmp ecx, ebx
jae 0x5cfbd2
mov edi, dword [esp + 0x54]
imul esi, edx, 0x888
imul ecx, ecx, 0x888
inc edx
mov esi, dword [edi + esi + 0x880]
mov edi, dword [esp + 0x1c]
add dword [edi + ecx + 0x880], esi
add ecx, edi
mov esi, 0xfffffde0
nop
movdqu xmm0, xmmword [ecx + esi*4 + 0x880]
movdqu xmm2, xmmword [eax + esi*4 + 0x870]
movdqu xmm1, xmmword [ecx + esi*4 + 0x890]
movdqu xmm3, xmmword [eax + esi*4 + 0x880]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + esi*4 + 0x880], xmm2
movdqu xmmword [ecx + esi*4 + 0x890], xmm3
add esi, 8
jne 0x5cf620
mov esi, dword [esp + 0x1c]
add eax, 0x888
cmp edx, ebx
jne 0x5cf5de
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp ebx, 0x20000000
jae 0x5cfe51
mov edi, dword [esp + 0x5c]
mov ecx, 8
shl edi, 4
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5cfed7
push edi
push 0xff
push eax
mov edi, eax
call fcn.007bdf30
add esp, 0xc
mov edx, dword [esp + 0x2c]
mov eax, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edi
jmp 0x5cf6e7
add edx, 4
test eax, eax
je 0x5cf71e
sub eax, 1
jb 0x5cfbf4
mov ecx, dword [edx]
cmp ecx, ebx
jae 0x5cfc02
cmp dword [edi + ecx*4], 0xffffffff
jne 0x5cf6e0
mov esi, ebx
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [ebx + ecx*4], edi
inc edi
mov ebx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x18]
jmp 0x5cf6e0
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0
test eax, eax
je 0x5cf7a4
cmp eax, 0xf00f0
ja 0x5cfe51
imul edi, eax, 0x888
test edi, edi
js 0x5cfe51
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x38], eax
je 0x5cfed7
mov eax, dword [esp + 0x20]
cmp eax, 2
jb 0x5cf7ba
lea ebx, [eax - 1]
mov eax, dword [esp + 0x38]
mov edi, eax
push 0x884
push 0
push eax
call fcn.007bdf30
add esp, 0xc
lea eax, [edi + 0x888]
dec ebx
mov dword [edi + 0x884], 0x7f7ff023
jne 0x5cf773
mov ebx, dword [esp + 0x14]
add edi, 0x110c
jmp 0x5cf7c6
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], 4
mov dword [esp + 0x20], 0
jmp 0x5cf7f0
mov eax, dword [esp + 0x38]
mov edi, eax
add edi, 0x884
push 0x884
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [edi], 0x7f7ff023
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
nop word cs:[eax + eax]
nop
sub ebx, 1
jb 0x5cfc1c
mov ecx, dword [edx]
cmp ecx, dword [esp + 0x14]
jae 0x5cfc2c
mov eax, dword [esp + 8]
cmp dword [edi + ecx*4], eax
jne 0x5cf889
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x2c], edx
jae 0x5cfd63
imul eax, ecx, 0x888
mov edi, dword [esp + 0x38]
mov ecx, dword [esi + eax + 0x880]
movss xmm0, dword [esi + eax + 0x884]
add eax, esi
imul esi, dword [esp + 8], 0x888
mov dword [esp + 0xc], ecx
lea ecx, [edi + esi]
movss dword [esp + 0x10], xmm0
push 0x880
push eax
push ecx
call fcn.007bd9b0
mov eax, dword [esp + 0x14]
add esp, 0xc
mov ecx, dword [esp + 0xc]
movss xmm0, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
inc eax
mov dword [edi + esi + 0x880], ecx
movss dword [edi + esi + 0x884], xmm0
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov ecx, dword [edx]
cmp ecx, dword [esp + 0x14]
jae 0x5cfc3a
mov ecx, dword [edi + ecx*4]
mov dword [esp + 8], eax
mov dword [edx], ecx
add edx, 4
test ebx, ebx
jne 0x5cf7f0
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 8], 0
je 0x5cf952
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov esi, 0x884
cmp eax, ebx
jbe 0x5cf960
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
sub eax, 1
jb 0x5cfd09
sub ebx, 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x18], ecx
jb 0x5cff28
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + esi - 4]
movss xmm0, dword [eax + esi]
lea eax, [eax + esi - 0x884]
mov dword [esp + 0x30], ecx
lea ecx, [edi + esi - 0x884]
movss dword [esp + 0x10], xmm0
push 0x880
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x30]
movss xmm0, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [edi + esi - 4], eax
mov eax, dword [esp + 0xc]
movss dword [edi + esi], xmm0
add esi, 0x888
dec ecx
jne 0x5cf8de
jmp 0x5cf9d1
mov eax, dword [esp + 0x20]
mov dword [esp + 8], 0
jmp 0x5cf9cd
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x1c]
sub eax, 1
mov dword [esp + 0x18], eax
jb 0x5cfd09
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + esi - 4]
movss xmm0, dword [ecx + esi]
lea eax, [ecx + esi - 0x884]
lea ecx, [edi + esi - 0x884]
mov dword [esp + 0x14], edx
movss dword [esp + 0xc], xmm0
push 0x880
push eax
push ecx
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x14]
movss xmm0, dword [esp + 0xc]
mov dword [edi + esi - 4], eax
mov eax, dword [esp + 0x18]
movss dword [edi + esi], xmm0
add esi, 0x888
dec ebx
jne 0x5cf968
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5cf9e3
push dword [esp + 0x38]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 8]
mov dword [esp + 0x1b0], eax
je 0x5ca4c3
push dword [esp + 0x54]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5ca4c3
mov ecx, ebx
push 0x925884
call fcn.007c1be0
mov ecx, dword [esp + 0x48]
mov edx, ecx
push 0x910f84
call fcn.007c1be0
mov edx, dword [esp + 0x2c]
mov ecx, edi
push 0x9257e4
call fcn.007c1be0
mov edx, dword [esp + 0x34]
mov ecx, edi
push 0x9257f4
call fcn.007c1be0
movsd xmm2, qword [esp + 0x38]
jmp 0x5cca46
movapd xmm2, xmm0
jmp 0x5cca46
mov ecx, ebx
mov edx, ebx
push 0x92543c
call fcn.007c1be0
mov ecx, esi
mov edx, ebx
push 0x92544c
call fcn.007c1be0
push 0x910f34
call fcn.007c1be0
push 0x910f44
call fcn.007c1be0
mov edx, dword [ebp + 8]
push 0x80a9cc
call fcn.007c1be0
mov ecx, dword [ebp + 0x3c]
mov edx, ecx
push 0x910ed4
call fcn.007c1be0
push 0x910ef4
call fcn.007c1be0
push 0x910f04
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, ecx
push 0x925e40
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, ecx
push 0x925e30
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, ecx
push 0x925e20
call fcn.007c1be0
mov ecx, dword [ebp + 0x3c]
mov edx, ecx
push 0x8f2388
call fcn.007c1be0
mov ecx, dword [ebp + 0x3c]
mov edx, ecx
push 0x925824
call fcn.007c1be0
mov ecx, dword [esp + 0x40]
mov edx, ebx
push 0x925834
call fcn.007c1be0
mov ecx, esi
mov edx, 0x2c0
push 0x9257b4
call fcn.007c1be0
mov ecx, dword [esp + 0x38]
mov edx, ecx
push 0x9253cc
call fcn.007c1be0
mov edx, dword [esp + 0x10]
push 0x9253dc
call fcn.007c1be0
mov edx, dword [esp + 0x10]
push 0x9253ac
call fcn.007c1be0
mov ecx, dword [esp + 0x10]
mov edx, ecx
push 0x92558c
call fcn.007c1be0
mov edx, esi
push 0x92559c
call fcn.007c1be0
mov edx, dword [ebp + 0x54]
push 0x924ffc
call fcn.007c1be0
mov ecx, dword [esp + 0x10]
mov edx, ecx
push 0x92553c
call fcn.007c1be0
mov edx, esi
push 0x92554c
call fcn.007c1be0
mov edx, esi
push 0x92557c
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0x92541c
call fcn.007c1be0
push 0x8f23a8
call fcn.007c1be0
mov ecx, eax
push 0x8f23b8
call fcn.007c1be0
mov edx, ebx
push 0x9253ac
call fcn.007c1be0
push 0x925844
call fcn.007c1be0
mov ecx, edi
push 0x925854
call fcn.007c1be0
mov ecx, ebx
mov edx, ebx
push 0x92558c
call fcn.007c1be0
mov edx, ebx
push 0x92559c
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x80a5bc
call fcn.007c1be0
mov ecx, dword [esp + 0x14]
mov edx, ecx
push 0x92553c
call fcn.007c1be0
mov edx, dword [esp + 0x14]
push 0x92554c
call fcn.007c1be0
mov edx, dword [esp + 0x14]
push 0x92557c
call fcn.007c1be0
mov ecx, dword [esp + 0x1c]
mov edx, ecx
push 0x92551c
call fcn.007c1be0
mov edx, edi
push 0x9253fc
call fcn.007c1be0
mov ecx, ebx
mov edx, ebx
push 0x9253cc
call fcn.007c1be0
mov edx, ebx
push 0x9253dc
call fcn.007c1be0
mov ecx, esi
mov edx, esi
push 0x92539c
call fcn.007c1be0
mov edx, esi
push 0x7d966c
call fcn.007c1be0
mov ecx, eax
mov edx, dword [ebp + 0x54]
push 0x7d967c
call fcn.007c1be0
mov edx, dword [esp + 0x10]
push 0x92555c
call fcn.007c1be0
mov edx, dword [esp + 0x1c]
mov ecx, eax
push 0x92556c
call fcn.007c1be0
mov edx, dword [esp + 0x9c]
mov ecx, edi
push 0x9257e4
call fcn.007c1be0
mov edx, dword [esp + 0xa0]
mov ecx, edi
push 0x9257f4
call fcn.007c1be0
mov ecx, dword [esp + 0x58]
mov edx, ecx
push 0x9255dc
call fcn.007c1be0
mov ecx, edi
mov edx, edi
push 0x92542c
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, ecx
push 0x92551c
call fcn.007c1be0
mov edx, dword [ebp + 0x54]
push 0x7d9980
call fcn.007c1be0
mov ecx, ebx
mov edx, ebx
push 0x92539c
call fcn.007c1be0
mov ecx, dword [esp + 0x58]
mov edx, ecx
push 0x92540c
call fcn.007c1be0
mov edx, dword [esp + 0x58]
mov ecx, edi
push 0x925864
call fcn.007c1be0
mov edx, 0x220
push 0x9257b4
call fcn.007c1be0
mov edx, dword [esp + 0x20]
mov ecx, eax
push 0x92556c
call fcn.007c1be0
mov edx, dword [esp + 0x14]
push 0x9253fc
call fcn.007c1be0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, ebx
push 0x92541c
call fcn.007c1be0
xor ecx, ecx
xor edx, edx
push 0x9253ec
call fcn.007c1be0
mov edx, ebx
push 0x7d966c
call fcn.007c1be0
mov ecx, eax
mov edx, ebx
push 0x7d967c
call fcn.007c1be0
mov ecx, ebx
push 0x910f54
call fcn.007c1be0
mov ecx, esi
mov edx, edi
push 0x7d966c
call fcn.007c1be0
mov ecx, eax
mov edx, edi
push 0x7d967c
call fcn.007c1be0
mov ecx, eax
mov edx, edi
push 0x7d966c
call fcn.007c1be0
mov ecx, edx
mov edx, edi
push 0x7d967c
call fcn.007c1be0
mov edx, dword [esp + 0x90]
push 0x9257e4
call fcn.007c1be0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x98]
push 0x9257f4
call fcn.007c1be0
mov edx, dword [esp + 8]
push 0x925d20
call fcn.007c1be0
mov edx, dword [esp + 0x20]
mov ecx, edi
push 0x910fa4
call fcn.007c1b80
mov ecx, edi
push 0x910f94
call fcn.007c1b80
call fcn.00418cb0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
push 0x9255bc
call fcn.007c1b80
mov edx, dword [esp + 0x38]
mov ecx, ebx
push 0x9255ac
call fcn.007c1b80
mov ecx, dword [esp + 0x10]
mov edx, ecx
push 0x9255ec
call fcn.007c1be0
mov ecx, str.assertion_failed:__params.catable
mov edx, 0x21
push 0x924fec
call fcn.007c1ca0
mov ecx, eax
push 0x80a5cc
call fcn.007c1b80
lea ecx, [esp + 0x11f4]
mov edx, 0x7da71c
jmp 0x5cffe3
mov ecx, esi
mov edx, ebx
push 0x9255ac
call fcn.007c1b80
mov ecx, dword [esp + 0x58]
mov edx, ecx
push 0x9253bc
call fcn.007c1be0
mov ecx, 4
mov edx, edi
call fcn.007c1490
mov ecx, 4
mov edx, esi
call fcn.007c1490
lea ecx, [esp + 0x11f4]
mov edx, 0x9105c4
jmp 0x5cffe3
mov ecx, dword [esp + 0x10]
mov edx, ecx
push 0x92552c
call fcn.007c1be0
mov ecx, 2
mov edx, edi
call fcn.007c1490
mov ecx, 1
mov edx, esi
call fcn.007c1490
mov ecx, dword [esp + 0x14]
mov edx, ecx
push 0x92552c
call fcn.007c1be0
lea ecx, [esp + 0x11f4]
mov edx, 0x910fc4
jmp 0x5cffe3
mov ecx, 4
mov edx, 0x2c08
call fcn.007c1490
mov ecx, 4
mov edx, 0x8010
call fcn.007c1490
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2378
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f23d8
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f23e8
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f23f8
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2408
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2418
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2428
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2438
jmp 0x5cffe3
lea ecx, [esp + 0x11f4]
mov edx, 0x8f2448
mov dword [esp + 0x11f4], 0x93a1fc
mov dword [esp + 0x11f8], 1
mov dword [esp + 0x1204], 0
mov dword [esp + 0x11fc], 0x93d1f8
mov dword [esp + 0x1200], 0
call fcn.007c1b50
mov edx, dword [esp + 0x20]
mov ecx, 4
call fcn.007c1490
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov edx, dword [esp + 8]
mov ecx, 4
call fcn.007c1490
nop
inc esp
add byte ds:[eax], al
jbe 0x5d008c
add byte [eax], al
push esi
add byte ds:[eax], al
xchg byte [esi], bh
add byte [eax], al
lahf
daa
add byte [eax], al
invalid
bnd call fcn.0071ee80