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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x1bd8
call fcn.007bcae0
mov ebx, dword [esp + 0x1bec]
mov ebp, dword [esp + 0x1bf8]
mov esi, dword [esp + 0x1bf4]
mov edi, dword [esp + 0x1bf0]
mov dword [esp + 0x68], edx
mov edx, ecx
mov dword [esp + 0xd8], ecx
test ebx, ebx
je 0x5dac59
mov esi, edi
lea eax, [ebx - 1]
xor edi, edi
mov ecx, ebx
nop dword [eax + eax]
cmp eax, dword [esp + 0x68]
jae 0x5dedd5
mov ebp, dword [edx]
mov ebx, edi
add edx, 0x10
dec ecx
lea edi, [ebp + edi]
jne 0x5dab40
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x18], edi
test edi, edi
mov edi, esi
mov ebx, dword [esp + 0x1bec]
mov edx, dword [esp + 0xd8]
mov esi, dword [esp + 0x1bf4]
mov ebp, dword [esp + 0x1bf8]
je 0x5dac59
js 0x5e2bd0
mov ebx, dword [esp + 0x18]
mov ecx, 8
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x5e2c9b
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x68]
push ebx
mov dword [esp + 0x44], eax
push eax
push dword [esp + 0x1c04]
push ebp
push esi
push edi
push dword [esp + 0x1c04]
call fcn.004275f0
add esp, 0x1c
mov ecx, 0xf0f0f0f1
mov eax, ebx
mov ebp, 0x63
mul ecx
shr edx, 9
cmp edx, 0x63
cmovb ebp, edx
cmp ebx, 0x80
jae 0x5dacc8
mov esi, dword [esp + 0x1c04]
mov eax, dword [esi + 0x14]
mov ebp, dword [esi + 4]
mov ecx, dword [esi]
lea ebx, [eax + 1]
mov dword [esp + 0x30], eax
cmp ebp, ebx
jae 0x5db0a0
test ebp, ebp
mov eax, ebp
cmove eax, ebx
nop dword [eax]
mov edi, eax
add eax, eax
cmp edi, ebx
jb 0x5dac20
test edi, edi
mov dword [esp + 0x58], ecx
je 0x5dbf71
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x58]
mov esi, eax
test eax, eax
jne 0x5dbf76
jmp 0x5dc94a
mov ecx, edx
mov edx, dword [esp + 0x68]
push 0
push 1
push dword [esp + 0x1c04]
push ebp
push esi
push edi
push ebx
call fcn.004275f0
add esp, 0x1c
mov eax, dword [esp + 0x1c04]
mov ebp, ebx
mov dword [eax + 0x10], 1
test ebp, ebp
je 0x5dc0da
cmp ebp, 0x3fffffff
ja 0x5e2bd0
mov edi, dword [esp + 0xd8]
mov esi, ebp
add esi, ebp
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x24], eax
jne 0x5dc0e9
jmp 0x5e2c72
lea eax, [ebp + 1]
mov ecx, eax
mov dword [esp], eax
shl ecx, 0xa
mov dword [esp + 0xac], ecx
lea edx, [ecx + eax*8]
xor ecx, ecx
movzx eax, byte [0x94bfc5]
mov dword [esp + 0x44], edx
call fcn.0071ee80
test eax, eax
je 0x5e2ce4
mov edi, eax
test ebp, ebp
mov esi, eax
mov dword [esp + 0x148], eax
je 0x5dad3a
mov esi, edi
mov edi, ebp
nop word [eax + eax]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5dad10
mov edi, dword [esp + 0x148]
mov dword [esp + 0x24], ebp
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [esi + 0x404], 0x7f7ff023
lea esi, [edi + eax]
nop
push 0x404
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x404], 0x7f7ff023
add edi, 0x408
cmp edi, esi
jne 0x5dad60
mov edi, dword [esp + 0x18]
xor edx, edx
xor ebp, ebp
mov eax, edi
lea ecx, [edi - 0x47]
div dword [esp]
mov dword [esp + 0x30], ecx
mov ecx, 7
mov dword [esp + 0x58], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, ebp
xor edx, edx
imul eax, edi
div dword [esp]
test ebp, ebp
mov esi, eax
je 0x5dade0
imul edi, ecx, 0x41a7
test ecx, ecx
mov eax, 1
cmove edi, eax
xor edx, edx
mov eax, edi
mov ecx, edi
div dword [esp + 0x58]
mov edi, dword [esp + 0x18]
add esi, edx
lea eax, [esi + 0x46]
mov edx, edi
cmp eax, edi
cmovae esi, dword [esp + 0x30]
sub edx, esi
jb 0x5e2b20
mov edi, dword [esp + 0x148]
mov eax, ebp
shl eax, 0xa
lea eax, [eax + ebp*8]
add dword [edi + eax + 0x400], 0x46
cmp edx, 0x46
jb 0x5e2b2e
add esi, dword [esp + 0x40]
add eax, edi
lea edx, [ebp + 1]
mov edi, 0xffffffba
nop word cs:[eax + eax]
nop dword [eax]
movzx ebx, byte [esi + edi + 0x46]
inc dword [eax + ebx*4]
inc edi
jne 0x5dae30
cmp ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov ebp, edx
jne 0x5dadb0
mov eax, edi
mov esi, dword [esp]
mov ecx, 0xea0ea0eb
mov ebp, 7
and eax, 0x7fffffff
mul ecx
mov ecx, edi
xor edi, edi
shr edx, 5
lea ebx, [edx + esi + 0x63]
xor edx, edx
mov eax, ebx
div esi
lea eax, [ecx - 0x45]
mov esi, 0x10
sub ebx, edx
mov dword [esp + 0x58], eax
cmp ebx, 1
adc ebx, 0
mov dword [esp + 0x6c], ebx
nop word [eax + eax]
push 0x400
push 0
lea eax, [esp + 0x5d0]
push eax
call fcn.007bdf30
add esp, 0xc
imul eax, ebp, 0x41a7
test ebp, ebp
mov dword [esp + 0x9cc], 0x7f7ff023
mov ebp, eax
mov eax, 1
cmove ebp, eax
xor edx, edx
mov eax, ebp
div dword [esp + 0x58]
mov eax, dword [esp + 0x18]
sub eax, edx
jb 0x5e2b3d
cmp eax, 0x46
mov dword [esp + 0x9c8], 0x46
jb 0x5e2b4d
add edx, dword [esp + 0x40]
lea eax, [edi + 1]
mov ebx, 0x46
mov dword [esp + 0x30], eax
xor eax, eax
nop
movzx ecx, byte [edx + eax]
inc eax
inc dword [esp + ecx*4 + 0x5c8]
dec ebx
jne 0x5daf00
mov eax, edi
xor edx, edx
div dword [esp]
mov edi, dword [esp + 0x148]
mov ecx, edx
imul eax, dword [esp + 0x44]
shl ecx, 0xa
lea ecx, [ecx + edx*8]
mov edx, esi
add dword [edi + ecx + 0x400], 0x46
sub edx, eax
mov eax, 0xfffffc00
add edx, edi
nop dword [eax]
movdqu xmm0, xmmword [edx + eax + 0x3f0]
movdqu xmm2, xmmword [esp + eax + 0x9c8]
movdqu xmm1, xmmword [edx + eax + 0x400]
movdqu xmm3, xmmword [esp + eax + 0x9d8]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [edx + eax + 0x3f0], xmm2
movdqu xmmword [edx + eax + 0x400], xmm3
add eax, 0x20
jne 0x5daf40
mov edi, dword [esp + 0x30]
add esi, 0x408
cmp edi, dword [esp + 0x6c]
jne 0x5dae90
mov edi, dword [esp + 0x18]
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5dc94a
mov esi, dword [esp + 0xac]
mov ecx, 8
mov dword [esp + 0xc], eax
mov edx, esi
call fcn.0071ee80
mov ebp, dword [esp + 0x40]
test eax, eax
mov dword [esp + 8], eax
je 0x5e2c7e
mov ebx, dword [esp + 0x24]
xor ecx, ecx
lea eax, [ebx + 8]
shr eax, 3
mov dword [esp + 0xdc], eax
mov edx, eax
movzx eax, byte [0x94bfc5]
shl edx, 5
mov dword [esp + 0xd0], edx
call fcn.0071ee80
test eax, eax
je 0x5e2ca7
cmp ebx, 8
mov dword [esp + 0x14], eax
jb 0x5db030
mov ebx, dword [esp + 0xd0]
lea eax, [ebx - 0x20]
push eax
push 0
mov esi, dword [esp + 0x1c]
push esi
call fcn.007bdf30
add esp, 0xc
lea eax, [esi + ebx - 0x20]
mov ecx, dword [esp + 0xdc]
mov ebx, dword [esp]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
imul ecx, edi
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x5db0bd
js 0x5e2bd0
mov edx, dword [esp + 0x1c]
mov ecx, 8
call fcn.0071ee80
mov ebx, dword [esp]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5db0c5
jmp 0x5dcd79
mov dword [esp + 0x44], ecx
mov edi, ebp
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jb 0x5dbfd7
jmp 0x5dc08d
mov dword [esp + 0x10], 1
lea esi, [ebx + ebx]
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0xd4], eax
je 0x5e2c72
mov eax, ebx
mov ecx, 0xa
mov edx, edi
mov esi, dword [esp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x108], 0
shl eax, 8
cmp dword [esp + 0x1c00], 0xc
mov dword [esp + 0x28], eax
mov eax, 3
cmovl ecx, eax
mov dword [esp + 0x104], ecx
lea ecx, [edi - 1]
cmp ecx, edi
mov eax, ecx
mov dword [esp + 0x16c], ecx
cmovb edx, ecx
mov ecx, 0x10
inc edx
mov eax, edx
mov dword [esp + 0x138], edx
and eax, 0xf
cmovne ecx, eax
mov eax, dword [esp + 0x7c]
sub edx, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x100], edx
lea eax, [eax + ecx - 2]
mov dword [esp + 0x168], eax
lea eax, [ebp + edi]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x148]
lea ecx, [eax + 0x400]
add eax, 0x3fc
mov dword [esp + 0x130], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x134], ecx
add eax, 0x1c
mov dword [esp + 0x10c], eax
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
je 0x5db209
mov eax, dword [esp + 0x2c]
cmp eax, 1
jne 0x5db2f0
xor eax, eax
cmp dword [esp + 0x138], 0x11
mov ecx, dword [esp + 0x100]
mov edx, esi
jb 0x5db1e3
movdqu xmmword [edx], xmm0
add edx, 0x10
add ecx, 0xfffffff0
jne 0x5db1d0
mov eax, dword [esp + 0x100]
mov ecx, edi
sub ecx, eax
add eax, esi
nop dword [eax]
sub ecx, 1
jb 0x5df981
mov byte [eax], 0
inc eax
test ecx, ecx
jne 0x5db1f0
mov dword [esp + 0x30], 1
mov ecx, esi
mov edx, edi
push dword [esp + 0x2c]
mov esi, dword [esp + 4]
push esi
push dword [esp + 0xdc]
push edi
call fcn.00427850
add esp, 0x10
cmp eax, esi
ja 0x5e2c3d
test eax, eax
mov dword [esp + 0x2c], eax
je 0x5db274
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x148]
mov eax, ecx
shl eax, 0xa
lea esi, [eax + ecx*8]
add esi, edi
nop dword [eax + eax]
push 0x404
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x404], 0x7f7ff023
add edi, 0x408
cmp edi, esi
jne 0x5db250
mov edi, dword [esp + 0x18]
inc dword [esp + 0x108]
xor eax, eax
pxor xmm0, xmm0
nop word cs:[eax + eax]
nop
mov ecx, dword [esp + 0xc]
cmp edi, eax
je 0x5deece
movzx ecx, byte [ecx + eax]
cmp dword [esp + 0x24], ecx
jb 0x5ddea0
mov ebx, dword [esp + 0x148]
mov edx, ecx
movzx esi, byte [ebp + eax]
inc eax
shl edx, 0xa
lea ecx, [edx + ecx*8]
lea edx, [ebx + ecx]
inc dword [edx + esi*4]
inc dword [ebx + ecx + 0x400]
cmp edi, eax
jne 0x5db290
mov eax, dword [esp + 0x108]
mov esi, dword [esp + 0xc]
cmp eax, dword [esp + 0x104]
jne 0x5db19f
jmp 0x5ddc61
mov ecx, eax
shl ecx, 8
cmp ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
ja 0x5e2cd2
mov ebp, eax
add eax, 7
shr eax, 3
mov dword [esp + 0x54], eax
mov eax, ebp
shl eax, 0xa
push eax
push 0
push dword [esp + 0x10]
call fcn.007bdf30
add esp, 0xc
mov edi, dword [esp + 0x134]
mov edx, dword [esp]
xor esi, esi
jmp 0x5db35d
movd xmm0, dword [eax*4 + 0x8f1b80]
mov eax, dword [esp + 8]
add edi, 0x408
movd dword [eax + esi*4], xmm0
inc esi
cmp ebp, esi
je 0x5db3b0
cmp edx, esi
je 0x5deefe
mov eax, dword [edi]
cmp eax, 0x100
jb 0x5db340
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
mov edx, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x184]
movd xmm0, dword [esp + 0x184]
jmp 0x5db349
cmp ebp, 1
mov edi, ebp
mov esi, dword [esp + 0x130]
lea eax, [ebp*4]
adc edi, 0
imul ebx, ebp, 0x3fc
sub dword [esp + 0x30], ebp
mov dword [esp + 0xe0], eax
neg eax
add ebx, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov eax, pe_nt_image_headers32
jmp 0x5db413
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x6c]
add ebx, dword [esp + 0x7c]
sub eax, dword [esp + 0x2c]
add esi, 0xfffffffc
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5db4c1
dec eax
xor ebp, ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x58], eax
jmp 0x5db43d
movss xmm0, dword [eax*4 + 0x8f1b80]
subss xmm1, xmm0
add esi, 0x408
movss dword [ebx + ebp*4], xmm1
inc ebp
cmp edi, ebp
je 0x5db3f0
cmp edx, ebp
je 0x5e1916
mov eax, dword [esp + 0x30]
lea ecx, [eax + ebp]
cmp ecx, dword [esp + 0x28]
jae 0x5dedb9
mov eax, dword [esp + 8]
movss xmm0, dword [0x7d51c0]
movss xmm1, dword [eax + ebp*4]
mov eax, dword [esi]
test eax, eax
je 0x5db429
cmp eax, 0x100
jb 0x5db420
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
movss dword [esp + 0x48], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm1, dword [esp + 0x48]
mov edx, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x180]
movss xmm0, dword [esp + 0x180]
jmp 0x5db429
push dword [esp + 0xd0]
push 0
mov ebp, dword [esp + 0x1c]
push ebp
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x18]
imul ecx, edi
cmp ecx, dword [esp + 0x1c]
ja 0x5e2cb8
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0xdc]
test ecx, ecx
je 0x5db50a
push ecx
push 0
push dword [esp + 0x18]
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov eax, ecx
shr eax, 3
cmp eax, ebx
ja 0x5e2cf2
shl eax, 5
xor ebx, ebx
mov dword [esp + 0xbc], esi
mov dword [esp + 4], 0
add eax, ebp
mov dword [esp + 0x158], eax
mov eax, ecx
and eax, 0xfffffff8
mov dword [esp + 0xe8], eax
mov eax, ecx
mov ecx, dword [esp + 0x54]
and eax, 7
mov dword [esp + 0x1b8], eax
lea eax, [eax*4]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x10]
mov edx, ecx
shl edx, 5
add edx, ebp
lea ebp, [ecx - 1]
and ebp, 0x7ffffff
mov dword [esp + 0x20], edx
mov dword [esp + 0xe4], eax
mov dword [esp + 0x140], ebp
nop dword [eax + eax]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x140]
cmp ebx, edx
mov ebp, edx
mov eax, edx
cmovb ebp, ebx
sub eax, ebp
cmp eax, esi
cmovae eax, esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 4]
imul ecx, eax
sub edx, ecx
mov ecx, 0
cmovb edx, ecx
cmp esi, edx
cmovb edx, esi
cmp eax, edi
mov dword [esp + 0xac], edx
je 0x5e0773
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x144], ebp
mov dword [esp + 0xec], ebx
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x2c]
mov edx, ecx
mov dword [esp + 0x6c], eax
imul edx, eax
sub esi, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x58], esi
jb 0x5e2d02
movss xmm7, dword [0x7d51c4]
cmp ecx, 8
jae 0x5dbcb0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x28]
add eax, dword [esp + 0xe8]
sub ecx, eax
jb 0x5e2b82
mov edx, dword [esp + 0x1b8]
mov esi, dword [esp + 0xc]
cmp edx, ecx
mov ecx, edx
mov edx, dword [esp + 0xdc]
ja 0x5e2b93
test ecx, ecx
je 0x5db6c0
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x13c]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0xe8]
imul eax, dword [esp + 0xe0]
add eax, dword [esp + 8]
jmp 0x5db689
inc ebx
add edi, 4
add ebp, 0xfffffffc
je 0x5db6c0
mov ecx, ebx
shr ecx, 3
cmp ecx, edx
jae 0x5ddc57
movss xmm0, dword [eax + ebx*4]
shl ecx, 5
addss xmm0, dword [edi + ecx]
ucomiss xmm7, xmm0
movss dword [edi + ecx], xmm0
jbe 0x5db680
mov ecx, dword [esp + 4]
movaps xmm7, xmm0
mov byte [esi + ecx], bl
jmp 0x5db680
cmp dword [esp + 4], 0x7d0
movss xmm5, dword [0x7d51c8]
jae 0x5db70f
movss xmm0, dword [esp + 4]
orpd xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm5, xmm5
cvtsd2ss xmm5, xmm0
mulss xmm5, dword [0x7d51cc]
divss xmm5, dword [0x7d51d0]
addss xmm5, dword [0x7d51d4]
mulss xmm5, dword [0x7d51c8]
cmp dword [esp + 0x54], edx
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0xac]
ja 0x5e2bea
xor ecx, ecx
cmp ebx, 4
jb 0x5dbb86
inc ebx
mov ecx, 4
mov ebp, dword [esp + 0x14]
not eax
movups xmmword [esp + 0x198], xmm7
shufps xmm7, xmm7, 0
movups xmmword [esp + 0x188], xmm5
shufps xmm5, xmm5, 0
mov edx, ebx
movups xmmword [esp + 0xf0], xmm7
movups xmmword [esp + 0x120], xmm5
and edx, 3
cmove edx, ecx
mov ecx, ebx
sub ecx, edx
add eax, edx
mov edx, dword [esp + 0xe4]
mov edi, ecx
shl edi, 5
add edi, ebp
nop word cs:[eax + eax]
movups xmm0, xmmword [ebp]
movups xmm1, xmmword [ebp + 0x60]
movups xmm4, xmmword [ebp + 0x20]
movups xmm2, xmmword [ebp + 0x40]
movaps xmm3, xmm1
movaps xmm5, xmm0
movaps xmm7, xmm0
movlhps xmm3, xmm2
unpcklps xmm5, xmm4
unpckhps xmm7, xmm4
shufps xmm5, xmm3, 0x24
movaps xmm3, xmm2
movaps xmm6, xmm5
movaps xmm5, xmm4
unpcklps xmm3, xmm1
shufps xmm4, xmm0, 0x33
shufps xmm5, xmm0, 0x11
movups xmm0, xmmword [ebp + 0x70]
shufps xmm5, xmm3, 0xe2
movaps xmm3, xmm1
unpckhpd xmm3, xmm2
unpckhps xmm2, xmm1
movups xmmword [esp + 0x6c], xmm5
movups xmm5, xmmword [ebp + 0x30]
movups xmm1, xmmword [ebp + 0x50]
shufps xmm4, xmm2, 0xe2
movups xmm2, xmmword [ebp + 0x10]
shufps xmm7, xmm3, 0x24
movaps xmm3, xmm0
movups xmmword [esp + 0x44], xmm4
movlhps xmm3, xmm1
movaps xmm4, xmm2
unpcklps xmm4, xmm5
shufps xmm4, xmm3, 0x24
movaps xmm3, xmm1
movups xmmword [esp + 0x30], xmm4
movaps xmm4, xmm5
unpcklps xmm3, xmm0
shufps xmm4, xmm2, 0x11
shufps xmm4, xmm3, 0xe2
movaps xmm3, xmm2
movups xmmword [esp + 0x9c], xmm4
movaps xmm4, xmm0
unpckhps xmm3, xmm5
shufps xmm5, xmm2, 0x33
movups xmm2, xmmword [esp + 0x6c]
unpckhpd xmm4, xmm1
unpckhps xmm1, xmm0
shufps xmm5, xmm1, 0xe2
shufps xmm3, xmm4, 0x24
movups xmm4, xmmword [esp + 0x120]
movups xmmword [esp + 0x58], xmm5
movups xmm5, xmmword [esp + 0xf0]
movups xmmword [esp + 0x7c], xmm3
movdqa xmm3, xmmword [0x7d4d10]
movaps xmm0, xmm4
movaps xmm1, xmm4
subps xmm6, xmm5
subps xmm2, xmm5
subps xmm7, xmm5
cmpleps xmm0, xmm6
movups xmmword [esp + 0x8c], xmm6
movaps xmm6, xmm4
cmpleps xmm1, xmm2
movups xmmword [esp + 0x6c], xmm2
movups xmmword [esp + 0xac], xmm7
movaps xmm2, xmm4
packssdw xmm0, xmm0
cmpleps xmm6, xmm7
packsswb xmm0, xmm0
packssdw xmm1, xmm1
packssdw xmm6, xmm6
packsswb xmm1, xmm1
packsswb xmm6, xmm6
pand xmm1, xmm3
pand xmm6, xmm3
paddb xmm1, xmm1
psllw xmm6, 2
psubb xmm1, xmm0
pand xmm6, xmmword [0x7d51e0]
movups xmm0, xmmword [esp + 0x44]
por xmm6, xmm1
movaps xmm1, xmm5
subps xmm0, xmm5
movups xmm5, xmmword [esp + 0x30]
movaps xmm7, xmm1
movups xmmword [esp + 0x44], xmm0
subps xmm5, xmm1
movaps xmm1, xmm4
cmpleps xmm1, xmm0
cmpleps xmm2, xmm5
movups xmmword [esp + 0x30], xmm5
movaps xmm5, xmm4
packssdw xmm1, xmm1
packssdw xmm2, xmm2
movaps xmm0, xmm7
packsswb xmm1, xmm1
packsswb xmm2, xmm2
pand xmm1, xmm3
pand xmm2, xmm3
psllw xmm1, 3
psllw xmm2, 4
pand xmm1, xmmword [0x7d51f0]
pand xmm2, xmmword [0x7d5200]
por xmm2, xmm1
movups xmm1, xmmword [esp + 0x9c]
por xmm2, xmm6
movups xmm6, xmmword [esp + 0x7c]
subps xmm1, xmm7
cmpleps xmm5, xmm1
movups xmmword [esp + 0x9c], xmm1
subps xmm6, xmm7
movaps xmm1, xmm4
cmpleps xmm1, xmm6
packssdw xmm5, xmm5
movups xmmword [esp + 0x7c], xmm6
movups xmm6, xmmword [esp + 0x9c]
packssdw xmm1, xmm1
packsswb xmm5, xmm5
movaps xmm0, xmm4
packsswb xmm1, xmm1
pand xmm5, xmm3
pand xmm1, xmm3
psllw xmm5, 5
movups xmm3, xmmword [esp + 0xac]
psllw xmm1, 6
pand xmm5, xmmword [0x7d5210]
minps xmm6, xmm4
pand xmm1, xmmword [0x7d5220]
minps xmm3, xmm4
movups xmmword [esp + 0xac], xmm3
por xmm1, xmm5
por xmm1, xmm2
movups xmm2, xmmword [esp + 0x58]
subps xmm2, xmm7
cmpleps xmm0, xmm2
movaps xmm5, xmm2
movups xmm2, xmmword [esp + 0x8c]
packssdw xmm0, xmm0
packsswb xmm0, xmm0
psllw xmm0, 7
pand xmm0, xmmword [0x7d4a80]
minps xmm2, xmm4
movups xmmword [esp + 0x8c], xmm2
paddb xmm0, xmm1
movd xmm1, dword [edx]
por xmm1, xmm0
movups xmm0, xmmword [esp + 0x44]
movd dword [edx], xmm1
movups xmm1, xmmword [esp + 0x6c]
add edx, 4
minps xmm0, xmm4
minps xmm1, xmm4
movups xmmword [esp + 0x44], xmm0
movlhps xmm0, xmm3
movaps xmm3, xmm2
movups xmm2, xmmword [esp + 0xac]
unpcklps xmm3, xmm1
movups xmmword [esp + 0x6c], xmm1
movups xmm1, xmmword [esp + 0x30]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm5
movups xmmword [esp + 0x110], xmm3
movups xmm3, xmmword [esp + 0x7c]
minps xmm0, xmm4
movups xmmword [esp + 0x58], xmm0
minps xmm1, xmm4
movups xmmword [esp + 0x30], xmm1
minps xmm3, xmm4
movaps xmm4, xmm6
movlhps xmm0, xmm3
movaps xmm7, xmm3
movups xmmword [esp + 0x7c], xmm3
movaps xmm3, xmm1
movups xmm1, xmmword [esp + 0x44]
unpcklps xmm3, xmm6
movups xmm6, xmmword [esp + 0x6c]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm2
movups xmmword [esp + 0x9c], xmm3
movups xmm3, xmmword [esp + 0x8c]
unpcklps xmm0, xmm1
unpckhpd xmm1, xmm2
movaps xmm5, xmm6
shufps xmm5, xmm3, 0x11
movaps xmm2, xmm3
movups xmm3, xmmword [esp + 0xac]
shufps xmm5, xmm0, 0xe2
movaps xmm0, xmm7
movups xmm7, xmmword [esp + 0x30]
unpckhps xmm2, xmm6
movups xmmword [esp + 0xc0], xmm5
movups xmm5, xmmword [esp + 0x58]
shufps xmm2, xmm1, 0x24
movups xmm1, xmmword [esp + 0x58]
movups xmmword [ebp + 0x40], xmm2
unpcklps xmm0, xmm5
movaps xmm5, xmm4
shufps xmm5, xmm7, 0x11
movups xmm7, xmmword [esp + 0x7c]
shufps xmm5, xmm0, 0xe2
movups xmm0, xmmword [esp + 0x30]
movups xmmword [ebp + 0x30], xmm5
unpckhpd xmm1, xmm7
unpckhps xmm0, xmm4
shufps xmm0, xmm1, 0x24
movups xmm1, xmmword [esp + 0x44]
movups xmmword [ebp + 0x50], xmm0
movups xmm0, xmmword [esp + 0xc0]
unpckhps xmm3, xmm1
movaps xmm1, xmm6
movups xmm6, xmmword [esp + 0x8c]
movups xmmword [ebp + 0x20], xmm0
movups xmm0, xmmword [esp + 0x9c]
shufps xmm1, xmm6, 0x33
movups xmm6, xmmword [esp + 0x30]
shufps xmm1, xmm3, 0xe2
movups xmm3, xmmword [esp + 0x58]
movups xmmword [ebp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [ebp + 0x60], xmm1
shufps xmm4, xmm6, 0x33
unpckhps xmm7, xmm3
movups xmmword [ebp], xmm0
shufps xmm4, xmm7, 0xe2
movups xmmword [ebp + 0x70], xmm4
sub ebp, 0xffffff80
add eax, 4
jne 0x5db790
movups xmm7, xmmword [esp + 0x198]
movups xmm5, xmmword [esp + 0x188]
mov ebp, dword [esp + 0x1c]
inc dword [esp + 0xbc]
inc dword [esp + 4]
movaps xmm0, xmm5
shufps xmm7, xmm7, 0
shufps xmm0, xmm5, 0
sub ebp, ecx
add ecx, dword [esp + 0xec]
sub ebp, dword [esp + 0x144]
sub ebp, 1
jb 0x5dedc7
movups xmm1, xmmword [edi + 0x10]
movups xmm3, xmmword [edi]
subps xmm1, xmm7
subps xmm3, xmm7
movaps xmm4, xmm1
ucomiss xmm3, xmm5
movaps xmm2, xmm3
shufps xmm4, xmm1, 0xff
setae dl
minps xmm2, xmm0
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae dh
unpckhpd xmm4, xmm1
shl dh, 7
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae bl
shufps xmm4, xmm1, 0x55
shl bl, 6
ucomiss xmm4, xmm5
movaps xmm4, xmm1
minps xmm1, xmm0
shufps xmm4, xmm3, 0x30
setae bh
or bl, dl
shufps xmm3, xmm4, 0x29
movaps xmm4, xmm0
shl bh, 5
cmpleps xmm4, xmm3
or bl, bh
packssdw xmm4, xmm4
packsswb xmm4, xmm4
pand xmm4, xmmword [0x7d5230]
movdqa xmm3, xmm4
psrld xmm3, 0x10
por xmm3, xmm4
movdqa xmm4, xmm3
psrlw xmm4, 8
por xmm4, xmm3
movd eax, xmm4
or bl, al
add bl, dh
mov edx, dword [esp + 0x10]
or bl, byte [edx + ecx]
movups xmmword [edi], xmm2
mov byte [edx + ecx], bl
movups xmmword [edi + 0x10], xmm1
add edi, 0x20
inc ecx
cmp edi, dword [esp + 0x20]
jne 0x5dbbb0
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0xec]
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
add ebx, ecx
add dword [esp + 0xe4], ecx
cmp eax, dword [esp + 0x1a8]
jne 0x5db590
jmp 0x5dbedd
mov edi, dword [esp + 0xe0]
mov ebp, dword [esp + 0x58]
xor ecx, ecx
imul edi, dword [esp + 0x6c]
add edi, dword [esp + 0x10c]
jmp 0x5dbce3
add ebx, 0x20
add ecx, 8
cmp ebx, dword [esp + 0x158]
je 0x5db621
cmp ecx, dword [esp + 0x58]
ja 0x5e2781
sub ebp, 8
jb 0x5e278f
mov edx, dword [esp + 0x14]
movaps xmm0, xmm7
movss xmm7, dword [edi + ecx*4 - 0x1c]
movss xmm1, dword [edi + ecx*4 - 4]
movss xmm6, dword [edi + ecx*4 - 0x18]
movss xmm5, dword [edi + ecx*4 - 0x14]
movss xmm4, dword [edi + ecx*4 - 0x10]
movss xmm3, dword [edi + ecx*4 - 0xc]
movss xmm2, dword [edi + ecx*4 - 8]
lea ebx, [edx + ecx*4]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [edi + ecx*4]
addss xmm7, dword [ebx]
movss dword [esp + 0x30], xmm1
ucomiss xmm0, xmm7
movss dword [ebx], xmm7
jbe 0x5dbd56
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 4]
movaps xmm0, xmm7
mov byte [edx + esi], cl
addss xmm6, dword [ebx + 4]
movaps xmm7, xmm0
ucomiss xmm0, xmm6
movss dword [ebx + 4], xmm6
jbe 0x5dbd7a
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm6
inc dl
mov byte [esi + eax], dl
addss xmm5, dword [ebx + 8]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x44]
ucomiss xmm7, xmm5
movss dword [ebx + 8], xmm5
jbe 0x5dbe40
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm5
add dl, 2
mov byte [esi + eax], dl
addss xmm4, dword [ebx + 0xc]
ucomiss xmm7, xmm4
movss dword [ebx + 0xc], xmm4
ja 0x5dbe53
addss xmm3, dword [ebx + 0x10]
ucomiss xmm7, xmm3
movss dword [ebx + 0x10], xmm3
jbe 0x5dbe79
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm3
add dl, 4
mov byte [esi + eax], dl
addss xmm2, dword [ebx + 0x14]
ucomiss xmm7, xmm2
movss dword [ebx + 0x14], xmm2
ja 0x5dbe8c
addss xmm1, dword [ebx + 0x18]
ucomiss xmm7, xmm1
movss dword [ebx + 0x18], xmm1
jbe 0x5dbeb2
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm1
add dl, 6
mov byte [esi + eax], dl
addss xmm0, dword [ebx + 0x1c]
ucomiss xmm7, xmm0
movss dword [ebx + 0x1c], xmm0
jbe 0x5dbcd0
jmp 0x5dbec5
addss xmm4, dword [ebx + 0xc]
ucomiss xmm7, xmm4
movss dword [ebx + 0xc], xmm4
jbe 0x5dbdbf
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm4
add dl, 3
mov byte [esi + eax], dl
addss xmm3, dword [ebx + 0x10]
ucomiss xmm7, xmm3
movss dword [ebx + 0x10], xmm3
ja 0x5dbdd2
addss xmm2, dword [ebx + 0x14]
ucomiss xmm7, xmm2
movss dword [ebx + 0x14], xmm2
jbe 0x5dbdf8
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm2
add dl, 5
mov byte [esi + eax], dl
addss xmm1, dword [ebx + 0x18]
ucomiss xmm7, xmm1
movss dword [ebx + 0x18], xmm1
ja 0x5dbe0b
addss xmm0, dword [ebx + 0x1c]
ucomiss xmm7, xmm0
movss dword [ebx + 0x1c], xmm0
jbe 0x5dbcd0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, ecx
movaps xmm7, xmm0
add dl, 7
mov byte [esi + eax], dl
jmp 0x5dbcd0
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x30], 1
movzx ebx, byte [esi + eax]
mov esi, ecx
mov ecx, dword [esp + 0x168]
mov edx, ecx
imul edx, esi
jmp 0x5dbf18
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jae 0x5db209
movzx esi, bl
mov edi, esi
shr edi, 3
lea eax, [edx + edi]
cmp eax, dword [esp + 0x1c]
jae 0x5e055d
add edi, dword [esp + 0x10]
and esi, 7
movzx eax, byte [edx + edi]
bt eax, esi
jae 0x5dbf00
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp ecx, edi
jae 0x5e1256
movzx eax, byte [esi + ecx]
mov ah, bl
xor ebx, ebx
cmp ah, al
setne bl
add dword [esp + 0x30], ebx
mov ebx, eax
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jb 0x5dbf18
jmp 0x5db209
mov esi, 1
push ebp
push ecx
push esi
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x1c04]
test ebp, ebp
mov eax, esi
mov dword [esp + 0x44], esi
mov dword [ecx], esi
mov dword [ecx + 4], edi
je 0x5dbfc3
push dword [esp + 0x58]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x1c04]
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jb 0x5dbfd7
jmp 0x5dc08d
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jae 0x5dc08d
mov esi, dword [esi + 8]
test ecx, ecx
mov eax, ecx
cmove eax, ebx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ebp, eax
add eax, eax
cmp ebp, ebx
jb 0x5dbff0
test ebp, ebp
je 0x5dc036
cmp ebp, 0x1fffffff
ja 0x5e2bd0
lea edx, [ebp*4]
mov dword [esp + 0x58], ecx
test edx, edx
js 0x5e2bd0
mov ecx, 8
mov dword [esp + 0x6c], edx
call fcn.0071ee80
mov ecx, dword [esp + 0x58]
test eax, eax
jne 0x5dc03b
jmp 0x5dddf1
mov eax, 4
lea edx, [ecx*4]
mov dword [esp + 0x58], eax
push edx
push esi
push eax
mov dword [esp + 0x78], esi
mov esi, ecx
call fcn.007bd9b0
add esp, 0xc
test esi, esi
mov esi, dword [esp + 0x1c04]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
mov ebp, dword [esp + 0x1bec]
je 0x5dc08d
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x1c04]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], 1
cmp ecx, edi
jae 0x5e18c9
mov eax, dword [esp + 0x44]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0xc]
cmp ecx, edx
jae 0x5e18d5
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*4], edx
mov dword [esi + 0x14], ebx
push dword [esp + 0x40]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebp, ebp
jne 0x5dac8e
mov edi, dword [esp + 0xd8]
mov dword [esp + 0x24], 2
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
cmp ebp, eax
cmovb eax, ebp
test eax, eax
je 0x5dc1ef
xor ecx, ecx
cmp eax, 0x10
jb 0x5dc1d3
mov ecx, eax
mov edx, 0x10
and ecx, 0xfffffff0
mov esi, ecx
nop word cs:[eax + eax]
nop
movd xmm0, dword [edi + edx*8 - 4]
movd xmm1, dword [edi + edx*8 - 0x14]
movd xmm2, dword [edi + edx*8 - 0x34]
movd xmm3, dword [edi + edx*8 - 0x64]
movd xmm7, dword [edi + edx*8 - 0x74]
movd xmm4, dword [edi + edx*8 + 0x6c]
movd xmm6, dword [edi + edx*8 + 0x2c]
movd xmm5, dword [edi + edx*8 + 0x1c]
punpcklwd xmm1, xmm0
movd xmm0, dword [edi + edx*8 - 0x24]
punpcklwd xmm7, xmm3
movd xmm3, dword [edi + edx*8 + 0x4c]
punpcklwd xmm2, xmm0
movd xmm0, dword [edi + edx*8 - 0x44]
punpckldq xmm2, xmm1
movd xmm1, dword [edi + edx*8 - 0x54]
punpcklwd xmm1, xmm0
punpckldq xmm7, xmm1
movd xmm1, dword [edi + edx*8 + 0x7c]
punpcklqdq xmm7, xmm2
punpcklwd xmm4, xmm1
movd xmm1, dword [edi + edx*8 + 0x5c]
punpcklwd xmm3, xmm1
movd xmm1, dword [edi + edx*8 + 0x3c]
punpckldq xmm3, xmm4
movd xmm4, dword [edi + edx*8 + 0xc]
movdqu xmmword [ebx + edx - 0x10], xmm7
punpcklwd xmm6, xmm1
punpcklwd xmm4, xmm5
punpckldq xmm4, xmm6
punpcklqdq xmm4, xmm3
movdqu xmmword [ebx + edx], xmm4
add edx, 0x20
add esi, 0xfffffff0
jne 0x5dc120
cmp eax, ecx
je 0x5dc1ef
sub eax, ecx
add ecx, ecx
nop word [eax + eax]
movzx edx, word [edi + ecx*8 + 0xc]
mov word [ebx + ecx], dx
add ecx, 2
dec eax
jne 0x5dc1e0
mov ecx, 0xf74e3fc3
mov eax, ebp
mov esi, dword [esp + 0x1c0c]
mov edi, dword [esp + 0x1c08]
mul ecx
mov eax, 0x31
shr edx, 9
cmp edx, 0x31
cmovb eax, edx
test ebp, ebp
je 0x5dc289
cmp ebp, 0x80
jae 0x5dc2ba
mov esi, dword [esp + 0x1c08]
mov eax, dword [esi + 0x14]
mov ebp, dword [esi + 4]
mov ecx, dword [esi]
lea ebx, [eax + 1]
mov dword [esp + 0x30], eax
cmp ebp, ebx
jae 0x5dc6d4
test ebp, ebp
mov eax, ebp
cmove eax, ebx
nop dword [eax]
mov edi, eax
add eax, eax
cmp edi, ebx
jb 0x5dc250
test edi, edi
mov dword [esp + 0x58], ecx
je 0x5dc6ed
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x58]
mov esi, eax
test eax, eax
jne 0x5dc6f2
jmp 0x5dc94a
mov dword [edi + 0x10], 1
mov edi, 2
mov dword [esi + 0x10], 1
test ebp, ebp
je 0x5dc2af
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
add esp, 0x1bd8
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, eax
inc eax
xor ecx, ecx
mov dword [esp], eax
imul esi, eax, 0xb08
movzx eax, byte [0x94bfc5]
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
mov ebx, eax
mov dword [esp + 0x40], edi
test edi, edi
mov edi, eax
mov dword [esp + 0x18], eax
je 0x5dc327
mov edi, ebx
mov ebx, dword [esp + 0x40]
nop word cs:[eax + eax]
nop
push 0xb04
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0xb04], 0x7f7ff023
add edi, 0xb08
dec ebx
jne 0x5dc300
mov ebx, dword [esp + 0x18]
push 0xb04
push 0
push edi
call fcn.007bdf30
add esp, 0xc
add esi, ebx
mov dword [edi + 0xb04], 0x7f7ff023
nop word cs:[eax + eax]
nop dword [eax]
push 0xb04
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [ebx + 0xb04], 0x7f7ff023
add ebx, 0xb08
cmp ebx, esi
jne 0x5dc350
mov eax, ebp
xor edx, edx
lea ecx, [ebp - 0x29]
xor ebx, ebx
mov edi, 7
div dword [esp]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], eax
nop dword [eax]
mov eax, ebx
xor edx, edx
imul eax, ebp
div dword [esp]
test ebx, ebx
mov esi, eax
je 0x5dc3bc
imul ecx, edi, 0x41a7
test edi, edi
mov eax, 1
cmove ecx, eax
xor edx, edx
mov eax, ecx
mov edi, ecx
div dword [esp + 0x44]
add esi, edx
lea eax, [esi + 0x28]
mov edx, ebp
cmp eax, ebp
cmovae esi, dword [esp + 0x30]
sub edx, esi
jb 0x5e2b03
mov ecx, dword [esp + 0x18]
imul eax, ebx, 0xb08
add dword [ecx + eax + 0xb00], 0x28
cmp edx, 0x28
jb 0x5e2b11
mov ebp, dword [esp + 0x24]
lea edx, [ebx + 1]
add eax, ecx
lea esi, [ebp + esi*2]
mov ebp, 0xffffffb0
nop dword [eax]
movzx ecx, word [esi + ebp + 0x50]
cmp ecx, 0x2bf
ja 0x5dc6c5
inc dword [eax + ecx*4]
add ebp, 2
jne 0x5dc400
cmp ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x1bec]
mov ebx, edx
jne 0x5dc390
mov esi, dword [esp]
lea eax, [ebp + ebp]
mov ecx, 0xcccccccd
mov dword [esp + 0x16c], eax
mul ecx
mov ecx, ebp
xor ebp, ebp
shr edx, 5
lea edi, [edx + esi + 0x63]
xor edx, edx
mov eax, edi
div esi
mov ebx, dword [esp + 0x18]
lea eax, [ecx - 0x27]
sub edi, edx
mov dword [esp + 0x44], eax
cmp edi, 1
adc edi, 0
imul eax, esi, 0xfffff4f8
mov dword [esp + 0x58], edi
mov edi, 7
mov dword [esp + 0x6c], eax
nop dword [eax + eax]
push 0xb00
push 0
lea eax, [esp + 0x5d0]
push eax
call fcn.007bdf30
add esp, 0xc
imul eax, edi, 0x41a7
test edi, edi
mov dword [esp + 0x10cc], 0x7f7ff023
mov edi, eax
mov eax, 1
cmove edi, eax
xor edx, edx
mov eax, edi
div dword [esp + 0x44]
mov eax, dword [esp + 0x1bec]
sub eax, edx
jb 0x5e2b5e
cmp eax, 0x28
mov dword [esp + 0x10c8], 0x28
jb 0x5e2b71
lea eax, [ebp + 1]
mov esi, 0x28
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
lea eax, [eax + edx*2]
xor edx, edx
nop word cs:[eax + eax]
nop
movzx ecx, word [eax + edx*2]
cmp ecx, 0x2bf
ja 0x5dc6c5
inc dword [esp + ecx*4 + 0x5c8]
inc edx
dec esi
jne 0x5dc500
mov eax, ebp
xor edx, edx
div dword [esp]
mov ebp, dword [esp + 0x10c8]
mov esi, dword [esp + 0x18]
imul eax, dword [esp + 0x6c]
imul ecx, edx, 0xb08
add dword [esi + ecx + 0xb00], ebp
mov ecx, 0xfffff500
add eax, ebx
nop word cs:[eax + eax]
movdqu xmm0, xmmword [eax + ecx + 0xb00]
movdqu xmm2, xmmword [esp + ecx + 0x10c8]
movdqu xmm1, xmmword [eax + ecx + 0xb10]
movdqu xmm3, xmmword [esp + ecx + 0x10d8]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [eax + ecx + 0xb00], xmm2
movdqu xmmword [eax + ecx + 0xb10], xmm3
add ecx, 0x20
jne 0x5dc550
mov ebp, dword [esp + 0x30]
add ebx, 0xb08
cmp ebp, dword [esp + 0x58]
jne 0x5dc480
mov ebp, dword [esp + 0x1bec]
test ebp, ebp
js 0x5e2bd0
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
mov edi, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0xc], eax
je 0x5e2d27
imul esi, dword [esp], 0xb00
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 8], eax
je 0x5e2c7e
mov esi, dword [esp + 0x40]
xor ecx, ecx
lea eax, [esi + 8]
shr eax, 3
mov dword [esp + 0x14], eax
mov edx, eax
movzx eax, byte [0x94bfc5]
shl edx, 5
mov dword [esp + 0xd0], edx
call fcn.0071ee80
test eax, eax
je 0x5e2ca7
cmp esi, 8
mov ecx, eax
mov dword [esp + 0xf0], eax
jb 0x5dc650
mov esi, dword [esp + 0xd0]
lea ecx, [esi - 0x20]
push ecx
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0xf0]
lea ecx, [eax + esi - 0x20]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp]
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x18], 0
imul eax, ebp
test eax, eax
mov dword [esp + 0x1c], eax
je 0x5dcd96
js 0x5e2bd0
mov edx, dword [esp + 0x1c]
mov ecx, 8
call fcn.0071ee80
mov ebx, dword [esp]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5dcd9e
jmp 0x5dcd79
mov edx, 0x2c0
push 0x9257d4
call fcn.007c1be0
mov dword [esp + 0x44], ecx
mov edi, ebp
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jb 0x5dc753
jmp 0x5dc7fd
mov esi, 1
push ebp
push ecx
push esi
call fcn.007bd9b0
add esp, 0xc
mov ecx, dword [esp + 0x1c08]
test ebp, ebp
mov eax, esi
mov dword [esp + 0x44], esi
mov dword [ecx], esi
mov dword [ecx + 4], edi
je 0x5dc73f
push dword [esp + 0x58]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x1c08]
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jb 0x5dc753
jmp 0x5dc7fd
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov ebp, dword [esp + 0x1bec]
cmp ecx, ebx
jae 0x5dc7fd
mov esi, dword [esi + 8]
test ecx, ecx
mov eax, ecx
cmove eax, ebx
nop dword [eax]
mov ebp, eax
add eax, eax
cmp ebp, ebx
jb 0x5dc760
test ebp, ebp
je 0x5dc7a6
cmp ebp, 0x1fffffff
ja 0x5e2bd0
lea edx, [ebp*4]
mov dword [esp + 0x58], ecx
test edx, edx
js 0x5e2bd0
mov ecx, 8
mov dword [esp + 0x6c], edx
call fcn.0071ee80
mov ecx, dword [esp + 0x58]
test eax, eax
jne 0x5dc7ab
jmp 0x5dddf1
mov eax, 4
lea edx, [ecx*4]
mov dword [esp + 0x58], eax
push edx
push esi
push eax
mov dword [esp + 0x78], esi
mov esi, ecx
call fcn.007bd9b0
add esp, 0xc
test esi, esi
mov esi, dword [esp + 0x1c08]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
mov ebp, dword [esp + 0x1bec]
je 0x5dc7fd
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x1c08]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], 1
cmp ecx, edi
jae 0x5e18c9
mov eax, dword [esp + 0x44]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0xc]
cmp ecx, edx
jae 0x5e18d5
mov eax, dword [esi + 8]
mov edi, dword [esp + 0x24]
mov dword [eax + ecx*4], ebp
mov dword [esi + 0x14], ebx
mov esi, dword [esp + 0xd8]
lea ebx, [ebp + ebp]
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp ebp, 0x3fffffff
ja 0x5e2bd0
test ebx, ebx
js 0x5e2bd0
mov ecx, 8
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x5e2cc6
mov ebx, dword [esp + 0x68]
mov edi, eax
add esi, 0xe
mov eax, ebp
mov dword [esp], 0
jmp 0x5dc896
add esi, 0x10
dec eax
je 0x5dc8cd
sub ebx, 1
jb 0x5df971
test dword [esi - 0xa], 0x1ffffff
je 0x5dc890
cmp word [esi - 2], 0x7f
jbe 0x5dc890
mov ecx, dword [esp]
cmp ecx, ebp
jae 0x5e0781
movzx edx, word [esi]
and edx, 0x3ff
mov word [edi + ecx*2], dx
inc ecx
mov dword [esp], ecx
jmp 0x5dc890
mov esi, dword [esp]
mov ecx, 0xf0f0f0f1
mov eax, esi
mul ecx
mov ecx, esi
mov esi, 0x31
shr edx, 9
cmp edx, 0x31
cmovb esi, edx
test ecx, ecx
je 0x5dc956
mov eax, dword [esp + 0x1c0c]
cmp ecx, 0x80
mov dword [esp + 0x40], edi
jae 0x5dc971
mov esi, dword [eax]
mov ebp, dword [eax + 4]
mov eax, dword [eax + 0x14]
lea ebx, [eax + 1]
mov dword [esp + 0x30], eax
cmp ebp, ebx
jae 0x5ddc49
test ebp, ebp
mov eax, ebp
cmove eax, ebx
nop
mov edi, eax
add eax, eax
cmp edi, ebx
jb 0x5dc920
test edi, edi
je 0x5ddd49
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
test eax, eax
jne 0x5ddd4e
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov esi, dword [esp + 0x1c0c]
mov dword [esi + 0x10], 1
test ebp, ebp
jne 0x5dc2a0
jmp 0x5dc2af
lea eax, [esi + 1]
xor ecx, ecx
mov dword [esp + 0x14], eax
imul edx, eax, 0x888
movzx eax, byte [0x94bfc5]
mov dword [esp + 0x44], edx
call fcn.0071ee80
test eax, eax
je 0x5e2d64
mov ebx, eax
mov dword [esp + 0x68], esi
test esi, esi
mov esi, eax
je 0x5dc9d3
mov edi, dword [esp + 0x68]
mov esi, ebx
nop word [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 0x5dc9b0
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [esi + 0x884], 0x7f7ff023
mov dword [esp + 0x24], ebx
lea esi, [ebx + eax]
nop dword [eax + eax]
push 0x884
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [ebx + 0x884], 0x7f7ff023
add ebx, 0x888
cmp ebx, esi
jne 0x5dca00
mov ecx, dword [esp]
xor edx, edx
xor ebx, ebx
mov edi, 7
mov eax, ecx
div dword [esp + 0x14]
lea edx, [ecx - 0x29]
mov dword [esp + 0x30], edx
mov dword [esp + 0x58], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, ebx
xor edx, edx
imul eax, ecx
div dword [esp + 0x14]
test ebx, ebx
mov esi, eax
je 0x5dca80
imul ecx, edi, 0x41a7
test edi, edi
mov eax, 1
cmove ecx, eax
xor edx, edx
mov eax, ecx
mov edi, ecx
div dword [esp + 0x58]
mov ecx, dword [esp]
add esi, edx
lea eax, [esi + 0x28]
mov ebp, dword [esp + 0x1bec]
cmp eax, ecx
cmovae esi, dword [esp + 0x30]
mov edx, ebp
sub edx, esi
jb 0x5e2b03
mov ecx, dword [esp + 0x24]
imul eax, ebx, 0x888
add dword [ecx + eax + 0x880], 0x28
cmp edx, 0x28
jb 0x5e2b11
mov ebp, dword [esp + 0x40]
lea edx, [ebx + 1]
add eax, ecx
lea esi, [ebp + esi*2]
mov ebp, 0xffffffb0
nop dword [eax + eax]
movzx ecx, word [esi + ebp + 0x50]
cmp ecx, 0x21f
ja 0x5dcd87
inc dword [eax + ecx*4]
add ebp, 2
jne 0x5dcad0
cmp ebx, dword [esp + 0x68]
mov ecx, dword [esp]
mov ebx, edx
jne 0x5dca50
lea eax, [ecx + ecx]
mov edi, ecx
mov ecx, 0xcccccccd
xor esi, esi
mov ebp, 0x10
mul ecx
mov ecx, dword [esp + 0x14]
shr edx, 5
lea ebx, [edx + ecx + 0x63]
xor edx, edx
mov eax, ebx
div ecx
lea eax, [edi - 0x27]
mov edi, dword [esp + 0x40]
sub ebx, edx
mov dword [esp + 0x58], eax
cmp ebx, 1
adc ebx, 0
mov dword [esp + 0x6c], ebx
mov ebx, 7
nop dword [eax + eax]
push 0x880
push 0
lea eax, [esp + 0x5d0]
push eax
call fcn.007bdf30
add esp, 0xc
imul eax, ebx, 0x41a7
test ebx, ebx
mov dword [esp + 0xe4c], 0x7f7ff023
mov ebx, eax
mov eax, 1
cmove ebx, eax
xor edx, edx
mov eax, ebx
div dword [esp + 0x58]
mov eax, dword [esp + 0x1bec]
sub eax, edx
jb 0x5e2b5e
cmp eax, 0x28
mov dword [esp + 0xe48], 0x28
jb 0x5e2b71
lea eax, [esi + 1]
mov dword [esp + 0x30], eax
lea eax, [edi + edx*2]
xor edx, edx
mov edi, 0x28
movzx ecx, word [eax + edx*2]
cmp ecx, 0x21f
ja 0x5dcd87
inc dword [esp + ecx*4 + 0x5c8]
inc edx
dec edi
jne 0x5dcbb0
mov eax, esi
xor edx, edx
div dword [esp + 0x14]
mov edi, dword [esp + 0xe48]
mov esi, dword [esp + 0x24]
imul eax, dword [esp + 0x44]
imul ecx, edx, 0x888
add dword [esi + ecx + 0x880], edi
mov ecx, ebp
sub ecx, eax
mov eax, 0xfffff780
add ecx, esi
nop dword [eax + eax]
movdqu xmm0, xmmword [ecx + eax + 0x870]
movdqu xmm2, xmmword [esp + eax + 0xe48]
movdqu xmm1, xmmword [ecx + eax + 0x880]
movdqu xmm3, xmmword [esp + eax + 0xe58]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [ecx + eax + 0x870], xmm2
movdqu xmmword [ecx + eax + 0x880], xmm3
add eax, 0x20
jne 0x5dcc00
mov esi, dword [esp + 0x30]
add ebp, 0x888
mov edi, dword [esp + 0x40]
cmp esi, dword [esp + 0x6c]
jne 0x5dcb40
mov edx, dword [esp]
test edx, edx
js 0x5e2bd0
mov ecx, 8
call fcn.0071ee80
mov ebp, dword [esp + 0x1bec]
test eax, eax
mov dword [esp + 0xc], eax
je 0x5e2d9e
imul esi, dword [esp + 0x14], 0x880
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 8], eax
je 0x5e2d92
mov esi, dword [esp + 0x68]
xor ecx, ecx
lea eax, [esi + 8]
shr eax, 3
mov dword [esp + 0xf0], eax
mov edx, eax
movzx eax, byte [0x94bfc5]
shl edx, 5
mov dword [esp + 0x104], edx
call fcn.0071ee80
test eax, eax
je 0x5e2dab
cmp esi, 8
mov dword [esp + 0x120], eax
jb 0x5dcd03
mov esi, dword [esp + 0x104]
lea eax, [esi - 0x20]
push eax
push 0
mov ebx, dword [esp + 0x128]
push ebx
call fcn.007bdf30
add esp, 0xc
lea eax, [ebx + esi - 0x20]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x14]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
imul ecx, dword [esp]
test ecx, ecx
mov dword [esp + 0x1c], ecx
je 0x5ddead
js 0x5e2bd0
mov edx, dword [esp + 0x1c]
mov ecx, 8
call fcn.0071ee80
mov ebx, dword [esp + 0x14]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x5ddeb5
mov edx, dword [esp + 0x1c]
mov ecx, 1
call fcn.007c1490
mov edx, 0x220
push 0x9257d4
call fcn.007c1be0
mov dword [esp + 0x10], 1
lea esi, [ebx + ebx]
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0xd4], eax
je 0x5e2c72
imul eax, ebx, 0x2c0
cmp dword [esp + 0x1c00], 0xc
mov ecx, 0xa
mov esi, dword [esp + 0xc]
pxor xmm0, xmm0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x28], eax
mov eax, 3
cmovl ecx, eax
lea eax, [edi + ebp*2]
mov dword [esp + 0x104], ecx
lea ecx, [ebp - 1]
mov dword [esp + 0x1b8], eax
cmp ebp, ecx
mov edx, ecx
mov eax, ecx
mov dword [esp + 0x108], ecx
mov ecx, 0x10
cmovb edx, ebp
inc edx
mov eax, edx
mov dword [esp + 0x138], edx
and eax, 0xf
cmovne ecx, eax
mov eax, dword [esp + 0x18]
sub edx, ecx
mov dword [esp + 0x100], edx
lea ecx, [eax + 0xb00]
add eax, 0xafc
mov dword [esp + 0x130], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x134], ecx
lea ecx, [ebp - 2]
mov dword [esp + 0x168], ecx
add eax, 0x1c
mov dword [esp + 0x13c], eax
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0
je 0x5dced9
mov eax, dword [esp + 0x2c]
cmp eax, 1
jne 0x5dcfc6
xor eax, eax
cmp dword [esp + 0x138], 0x11
mov ecx, dword [esp + 0x100]
mov edx, esi
jb 0x5dcec0
nop word [eax + eax]
movdqu xmmword [edx], xmm0
add edx, 0x10
add ecx, 0xfffffff0
jne 0x5dcea0
mov eax, dword [esp + 0x100]
nop word cs:[eax + eax]
nop dword [eax]
cmp ebp, eax
je 0x5e056d
mov byte [esi + eax], 0
inc eax
cmp ebp, eax
jne 0x5dcec0
mov dword [esp + 0x30], 1
mov ecx, esi
mov edx, ebp
push dword [esp + 0x2c]
mov esi, dword [esp + 4]
push esi
push dword [esp + 0xdc]
push ebp
call fcn.00427850
add esp, 0x10
cmp eax, esi
ja 0x5e2c3d
test eax, eax
mov dword [esp + 0x2c], eax
je 0x5dcf44
imul esi, dword [esp + 0x2c], 0xb08
mov edi, dword [esp + 0x18]
add esi, edi
nop word cs:[eax + eax]
nop
push 0xb04
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0xb04], 0x7f7ff023
add edi, 0xb08
cmp edi, esi
jne 0x5dcf20
mov edi, dword [esp + 0x24]
inc dword [esp + 0x10c]
xor edx, edx
pxor xmm0, xmm0
nop word cs:[eax + eax]
nop
cmp ebp, edx
je 0x5df941
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + edx]
cmp dword [esp + 0x40], ecx
jb 0x5ddea0
movzx eax, word [edi + edx*2]
cmp eax, 0x2bf
ja 0x5df94f
mov ebx, dword [esp + 0x18]
imul ecx, ecx, 0xb08
inc edx
lea esi, [ebx + ecx]
inc dword [esi + eax*4]
inc dword [ebx + ecx + 0xb00]
cmp ebp, edx
jne 0x5dcf60
mov eax, dword [esp + 0x10c]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x104]
jne 0x5dce65
jmp 0x5dede5
cmp eax, dword [esp]
ja 0x5e2d13
lea ecx, [eax + 7]
imul eax, eax, 0xb00
shr ecx, 3
mov dword [esp + 0x54], ecx
push eax
push 0
push dword [esp + 0x10]
call fcn.007bdf30
add esp, 0xc
mov edi, dword [esp + 0x134]
mov edx, dword [esp]
xor esi, esi
jmp 0x5dd01f
movd xmm0, dword [eax*4 + 0x8f1b80]
mov eax, dword [esp + 8]
add edi, 0xb08
movd dword [eax + esi*4], xmm0
inc esi
cmp dword [esp + 0x2c], esi
je 0x5dd06e
cmp edx, esi
je 0x5deefe
mov eax, dword [edi]
cmp eax, 0x100
jb 0x5dd000
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
mov edx, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x17c]
movd xmm0, dword [esp + 0x17c]
jmp 0x5dd009
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x130]
cmp eax, 1
mov ecx, eax
adc ecx, 0
imul ebx, eax, 0xafc
imul edi, eax, 0x2bf
lea eax, [eax*4]
add ebx, dword [esp + 8]
mov dword [esp + 0xe0], eax
neg eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x7c], eax
mov eax, 0x2c0
jmp 0x5dd0cb
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x58]
sub edi, dword [esp + 0x2c]
add ebx, dword [esp + 0x7c]
add esi, 0xfffffffc
test eax, eax
je 0x5dd17f
dec eax
xor ebp, ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x58], eax
jmp 0x5dd0ff
movss xmm0, dword [eax*4 + 0x8f1b80]
subss xmm1, xmm0
add esi, 0xb08
movss dword [ebx + ebp*4], xmm1
inc ebp
cmp dword [esp + 0x30], ebp
je 0x5dd0b0
cmp edx, ebp
je 0x5e1916
lea ecx, [edi + ebp]
cmp ecx, dword [esp + 0x28]
jae 0x5dedb9
mov eax, dword [esp + 8]
movss xmm0, dword [0x7d51c0]
movss xmm1, dword [eax + ebp*4]
mov eax, dword [esi]
test eax, eax
je 0x5dd0e9
cmp eax, 0x100
jb 0x5dd0e0
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
movss dword [esp + 0x48], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm1, dword [esp + 0x48]
mov edx, dword [esp + 4]
add esp, 4
fstp dword [esp + 0x178]
movss xmm0, dword [esp + 0x178]
jmp 0x5dd0e9
push dword [esp + 0xd0]
push 0
push dword [esp + 0xf8]
call fcn.007bdf30
add esp, 0xc
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x1bec]
mov ecx, edx
imul ecx, ebp
cmp ecx, dword [esp + 0x1c]
ja 0x5e2cb8
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
test ecx, ecx
je 0x5dd1d0
push ecx
push 0
push dword [esp + 0x18]
call fcn.007bdf30
mov edx, dword [esp + 0x60]
add esp, 0xc
mov ecx, edi
shr ecx, 3
cmp ecx, dword [esp + 0x14]
ja 0x5e2d43
mov eax, dword [esp + 0xf0]
shl ecx, 5
mov ebx, edx
mov dword [esp + 0xbc], esi
mov esi, edx
mov dword [esp + 4], 0
shl ebx, 5
add ecx, eax
add ebx, eax
lea eax, [edx - 1]
mov dword [esp + 0x148], ecx
mov ecx, edi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
and eax, 0x7ffffff
and ecx, 0xfffffff8
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe8], ecx
mov ecx, edi
and ecx, 7
lea eax, [ecx*4]
mov dword [esp + 0x140], ecx
xor ecx, ecx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x188], eax
mov eax, ecx
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xec], eax
cmp eax, ecx
mov edx, ecx
cmovb edx, eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x144], edx
mov edx, dword [esp + 4]
cmp eax, ebx
cmovae eax, ebx
mov dword [esp + 0xac], eax
mov eax, esi
mov esi, 0
imul eax, edx
sub ecx, eax
cmovb ecx, esi
cmp ebx, ecx
cmovb ecx, ebx
cmp edx, ebp
je 0x5e12af
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x8c], ecx
mov ecx, edi
movzx eax, word [eax]
imul ecx, eax
mov dword [esp + 0x6c], eax
sub edx, ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x58], edx
jb 0x5e2d53
movss xmm7, dword [0x7d51c4]
cmp edi, 8
jae 0x5dd990
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0xe8]
sub eax, ecx
jb 0x5e2b82
mov ecx, dword [esp + 0x140]
mov edi, dword [esp + 0xc]
cmp ecx, eax
ja 0x5e2b93
test ecx, ecx
je 0x5dd380
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x188]
mov esi, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe8]
imul edx, dword [esp + 0xe0]
add edx, dword [esp + 8]
jmp 0x5dd349
inc ebx
add esi, 4
add eax, 0xfffffffc
je 0x5dd380
mov ecx, ebx
shr ecx, 3
cmp ecx, dword [esp + 0x14]
jae 0x5dde92
movss xmm0, dword [edx + ebx*4]
shl ecx, 5
addss xmm0, dword [esi + ecx]
ucomiss xmm7, xmm0
movss dword [esi + ecx], xmm0
jbe 0x5dd340
mov ecx, dword [esp + 4]
movaps xmm7, xmm0
mov byte [edi + ecx], bl
jmp 0x5dd340
cmp dword [esp + 4], 0x7d0
movss xmm5, dword [0x7d5240]
jae 0x5dd3cf
movss xmm0, dword [esp + 4]
orpd xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm5, xmm5
cvtsd2ss xmm5, xmm0
mulss xmm5, dword [0x7d51cc]
divss xmm5, dword [0x7d51d0]
addss xmm5, dword [0x7d51d4]
mulss xmm5, dword [0x7d5240]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
cmp eax, dword [esp + 0x14]
ja 0x5e2c0d
mov edi, dword [esp + 0xf0]
xor ecx, ecx
cmp edx, 4
jb 0x5dd856
inc edx
mov ebx, dword [esp + 0xac]
mov ecx, 4
mov esi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xe4]
movups xmmword [esp + 0x1a8], xmm7
shufps xmm7, xmm7, 0
movups xmmword [esp + 0x198], xmm5
shufps xmm5, xmm5, 0
mov eax, edx
movups xmmword [esp + 0x120], xmm7
movups xmmword [esp + 0x158], xmm5
and eax, 3
cmove eax, ecx
mov ecx, edx
sub ecx, eax
not ebx
mov edi, ecx
add ebx, eax
shl edi, 5
mov eax, ebx
add edi, esi
nop word cs:[eax + eax]
nop dword [eax]
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x60]
movups xmm4, xmmword [esi + 0x20]
movups xmm2, xmmword [esi + 0x40]
movaps xmm3, xmm1
movaps xmm5, xmm0
movaps xmm7, xmm0
movlhps xmm3, xmm2
unpcklps xmm5, xmm4
unpckhps xmm7, xmm4
shufps xmm5, xmm3, 0x24
movaps xmm3, xmm2
movaps xmm6, xmm5
movaps xmm5, xmm4
unpcklps xmm3, xmm1
shufps xmm4, xmm0, 0x33
shufps xmm5, xmm0, 0x11
movups xmm0, xmmword [esi + 0x70]
shufps xmm5, xmm3, 0xe2
movaps xmm3, xmm1
unpckhpd xmm3, xmm2
unpckhps xmm2, xmm1
movups xmmword [esp + 0x6c], xmm5
movups xmm5, xmmword [esi + 0x30]
movups xmm1, xmmword [esi + 0x50]
shufps xmm4, xmm2, 0xe2
movups xmm2, xmmword [esi + 0x10]
shufps xmm7, xmm3, 0x24
movaps xmm3, xmm0
movups xmmword [esp + 0x44], xmm4
movlhps xmm3, xmm1
movaps xmm4, xmm2
unpcklps xmm4, xmm5
shufps xmm4, xmm3, 0x24
movaps xmm3, xmm1
movups xmmword [esp + 0x30], xmm4
movaps xmm4, xmm5
unpcklps xmm3, xmm0
shufps xmm4, xmm2, 0x11
shufps xmm4, xmm3, 0xe2
movaps xmm3, xmm2
movups xmmword [esp + 0x9c], xmm4
movaps xmm4, xmm0
unpckhps xmm3, xmm5
shufps xmm5, xmm2, 0x33
movups xmm2, xmmword [esp + 0x6c]
unpckhpd xmm4, xmm1
unpckhps xmm1, xmm0
shufps xmm5, xmm1, 0xe2
shufps xmm3, xmm4, 0x24
movups xmm4, xmmword [esp + 0x158]
movups xmmword [esp + 0x58], xmm5
movups xmm5, xmmword [esp + 0x120]
movups xmmword [esp + 0x7c], xmm3
movdqa xmm3, xmmword [0x7d4d10]
movaps xmm0, xmm4
movaps xmm1, xmm4
subps xmm6, xmm5
subps xmm2, xmm5
subps xmm7, xmm5
cmpleps xmm0, xmm6
movups xmmword [esp + 0x8c], xmm6
movaps xmm6, xmm4
cmpleps xmm1, xmm2
movups xmmword [esp + 0x6c], xmm2
movups xmmword [esp + 0xac], xmm7
movaps xmm2, xmm4
packssdw xmm0, xmm0
cmpleps xmm6, xmm7
packsswb xmm0, xmm0
packssdw xmm1, xmm1
packssdw xmm6, xmm6
packsswb xmm1, xmm1
packsswb xmm6, xmm6
pand xmm1, xmm3
pand xmm6, xmm3
paddb xmm1, xmm1
psllw xmm6, 2
psubb xmm1, xmm0
pand xmm6, xmmword [0x7d51e0]
movups xmm0, xmmword [esp + 0x44]
por xmm6, xmm1
movaps xmm1, xmm5
subps xmm0, xmm5
movups xmm5, xmmword [esp + 0x30]
movaps xmm7, xmm1
movups xmmword [esp + 0x44], xmm0
subps xmm5, xmm1
movaps xmm1, xmm4
cmpleps xmm1, xmm0
cmpleps xmm2, xmm5
movups xmmword [esp + 0x30], xmm5
movaps xmm5, xmm4
packssdw xmm1, xmm1
packssdw xmm2, xmm2
movaps xmm0, xmm7
packsswb xmm1, xmm1
packsswb xmm2, xmm2
pand xmm1, xmm3
pand xmm2, xmm3
psllw xmm1, 3
psllw xmm2, 4
pand xmm1, xmmword [0x7d51f0]
pand xmm2, xmmword [0x7d5200]
por xmm2, xmm1
movups xmm1, xmmword [esp + 0x9c]
por xmm2, xmm6
movups xmm6, xmmword [esp + 0x7c]
subps xmm1, xmm7
cmpleps xmm5, xmm1
movups xmmword [esp + 0x9c], xmm1
subps xmm6, xmm7
movaps xmm1, xmm4
cmpleps xmm1, xmm6
packssdw xmm5, xmm5
movups xmmword [esp + 0x7c], xmm6
movups xmm6, xmmword [esp + 0x9c]
packssdw xmm1, xmm1
packsswb xmm5, xmm5
movaps xmm0, xmm4
packsswb xmm1, xmm1
pand xmm5, xmm3
pand xmm1, xmm3
psllw xmm5, 5
movups xmm3, xmmword [esp + 0xac]
psllw xmm1, 6
pand xmm5, xmmword [0x7d5210]
minps xmm6, xmm4
pand xmm1, xmmword [0x7d5220]
minps xmm3, xmm4
movups xmmword [esp + 0xac], xmm3
por xmm1, xmm5
por xmm1, xmm2
movups xmm2, xmmword [esp + 0x58]
subps xmm2, xmm7
cmpleps xmm0, xmm2
movaps xmm5, xmm2
movups xmm2, xmmword [esp + 0x8c]
packssdw xmm0, xmm0
packsswb xmm0, xmm0
psllw xmm0, 7
pand xmm0, xmmword [0x7d4a80]
minps xmm2, xmm4
movups xmmword [esp + 0x8c], xmm2
paddb xmm0, xmm1
movd xmm1, dword [ebp]
por xmm1, xmm0
movups xmm0, xmmword [esp + 0x44]
movd dword [ebp], xmm1
movups xmm1, xmmword [esp + 0x6c]
add ebp, 4
minps xmm0, xmm4
minps xmm1, xmm4
movups xmmword [esp + 0x44], xmm0
movlhps xmm0, xmm3
movaps xmm3, xmm2
movups xmm2, xmmword [esp + 0xac]
unpcklps xmm3, xmm1
movups xmmword [esp + 0x6c], xmm1
movups xmm1, xmmword [esp + 0x30]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm5
movups xmmword [esp + 0x110], xmm3
movups xmm3, xmmword [esp + 0x7c]
minps xmm0, xmm4
movups xmmword [esp + 0x58], xmm0
minps xmm1, xmm4
movups xmmword [esp + 0x30], xmm1
minps xmm3, xmm4
movaps xmm4, xmm6
movlhps xmm0, xmm3
movaps xmm7, xmm3
movups xmmword [esp + 0x7c], xmm3
movaps xmm3, xmm1
movups xmm1, xmmword [esp + 0x44]
unpcklps xmm3, xmm6
movups xmm6, xmmword [esp + 0x6c]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm2
movups xmmword [esp + 0x9c], xmm3
movups xmm3, xmmword [esp + 0x8c]
unpcklps xmm0, xmm1
unpckhpd xmm1, xmm2
movaps xmm5, xmm6
shufps xmm5, xmm3, 0x11
movaps xmm2, xmm3
movups xmm3, xmmword [esp + 0xac]
shufps xmm5, xmm0, 0xe2
movaps xmm0, xmm7
movups xmm7, xmmword [esp + 0x30]
unpckhps xmm2, xmm6
movups xmmword [esp + 0xc0], xmm5
movups xmm5, xmmword [esp + 0x58]
shufps xmm2, xmm1, 0x24
movups xmm1, xmmword [esp + 0x58]
movups xmmword [esi + 0x40], xmm2
unpcklps xmm0, xmm5
movaps xmm5, xmm4
shufps xmm5, xmm7, 0x11
movups xmm7, xmmword [esp + 0x7c]
shufps xmm5, xmm0, 0xe2
movups xmm0, xmmword [esp + 0x30]
movups xmmword [esi + 0x30], xmm5
unpckhpd xmm1, xmm7
unpckhps xmm0, xmm4
shufps xmm0, xmm1, 0x24
movups xmm1, xmmword [esp + 0x44]
movups xmmword [esi + 0x50], xmm0
movups xmm0, xmmword [esp + 0xc0]
unpckhps xmm3, xmm1
movaps xmm1, xmm6
movups xmm6, xmmword [esp + 0x8c]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [esp + 0x9c]
shufps xmm1, xmm6, 0x33
movups xmm6, xmmword [esp + 0x30]
shufps xmm1, xmm3, 0xe2
movups xmm3, xmmword [esp + 0x58]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [esi + 0x60], xmm1
shufps xmm4, xmm6, 0x33
unpckhps xmm7, xmm3
movups xmmword [esi], xmm0
shufps xmm4, xmm7, 0xe2
movups xmmword [esi + 0x70], xmm4
sub esi, 0xffffff80
add eax, 4
jne 0x5dd460
movups xmm7, xmmword [esp + 0x1a8]
movups xmm5, xmmword [esp + 0x198]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1bec]
add dword [esp + 0xbc], 2
inc dword [esp + 4]
movaps xmm0, xmm5
shufps xmm7, xmm7, 0
shufps xmm0, xmm5, 0
sub esi, ecx
add ecx, dword [esp + 0xec]
sub esi, dword [esp + 0x144]
nop dword [eax + eax]
sub esi, 1
jb 0x5dedc7
movups xmm1, xmmword [edi + 0x10]
movups xmm3, xmmword [edi]
subps xmm1, xmm7
subps xmm3, xmm7
movaps xmm4, xmm1
ucomiss xmm3, xmm5
movaps xmm2, xmm3
shufps xmm4, xmm1, 0xff
setae al
minps xmm2, xmm0
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae ah
unpckhpd xmm4, xmm1
shl ah, 7
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae bl
shufps xmm4, xmm1, 0x55
shl bl, 6
ucomiss xmm4, xmm5
movaps xmm4, xmm1
minps xmm1, xmm0
shufps xmm4, xmm3, 0x30
setae bh
or bl, al
shufps xmm3, xmm4, 0x29
movaps xmm4, xmm0
shl bh, 5
cmpleps xmm4, xmm3
or bl, bh
packssdw xmm4, xmm4
packsswb xmm4, xmm4
pand xmm4, xmmword [0x7d5230]
movdqa xmm3, xmm4
psrld xmm3, 0x10
por xmm3, xmm4
movdqa xmm4, xmm3
psrlw xmm4, 8
por xmm4, xmm3
movd edx, xmm4
or bl, dl
mov edx, dword [esp + 0x10]
add bl, ah
or bl, byte [edx + ecx]
movups xmmword [edi], xmm2
mov byte [edx + ecx], bl
movups xmmword [edi + 0x10], xmm1
add edi, 0x20
inc ecx
cmp edi, dword [esp + 0x20]
jne 0x5dd890
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x2c]
add ecx, esi
add dword [esp + 0xe4], esi
cmp eax, dword [esp + 0x1b8]
mov eax, dword [esp + 0xc]
jne 0x5dd250
jmp 0x5ddbbd
mov edi, dword [esp + 0xe0]
mov ebx, dword [esp + 0x58]
xor ecx, ecx
imul edi, dword [esp + 0x6c]
add edi, dword [esp + 0x13c]
jmp 0x5dd9c3
add esi, 0x20
add ecx, 8
cmp esi, dword [esp + 0x148]
je 0x5dd2e1
cmp ecx, dword [esp + 0x58]
ja 0x5e2781
sub ebx, 8
jb 0x5e278f
mov eax, dword [esp + 0xf0]
movaps xmm0, xmm7
movss xmm7, dword [edi + ecx*4 - 0x1c]
movss xmm1, dword [edi + ecx*4 - 4]
movss xmm6, dword [edi + ecx*4 - 0x18]
movss xmm5, dword [edi + ecx*4 - 0x14]
movss xmm4, dword [edi + ecx*4 - 0x10]
movss xmm3, dword [edi + ecx*4 - 0xc]
movss xmm2, dword [edi + ecx*4 - 8]
lea esi, [eax + ecx*4]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [edi + ecx*4]
addss xmm7, dword [esi]
movss dword [esp + 0x30], xmm1
ucomiss xmm0, xmm7
movss dword [esi], xmm7
jbe 0x5dda39
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 4]
movaps xmm0, xmm7
mov byte [eax + ebp], cl
addss xmm6, dword [esi + 4]
movaps xmm7, xmm0
ucomiss xmm0, xmm6
movss dword [esi + 4], xmm6
jbe 0x5dda5e
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm6
inc al
mov byte [ebp + edx], al
addss xmm5, dword [esi + 8]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x44]
ucomiss xmm7, xmm5
movss dword [esi + 8], xmm5
jbe 0x5ddb20
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm5
add al, 2
mov byte [ebp + edx], al
addss xmm4, dword [esi + 0xc]
ucomiss xmm7, xmm4
movss dword [esi + 0xc], xmm4
ja 0x5ddb33
addss xmm3, dword [esi + 0x10]
ucomiss xmm7, xmm3
movss dword [esi + 0x10], xmm3
jbe 0x5ddb59
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm3
add al, 4
mov byte [ebp + edx], al
addss xmm2, dword [esi + 0x14]
ucomiss xmm7, xmm2
movss dword [esi + 0x14], xmm2
ja 0x5ddb6c
addss xmm1, dword [esi + 0x18]
ucomiss xmm7, xmm1
movss dword [esi + 0x18], xmm1
jbe 0x5ddb92
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm1
add al, 6
mov byte [ebp + edx], al
addss xmm0, dword [esi + 0x1c]
ucomiss xmm7, xmm0
movss dword [esi + 0x1c], xmm0
jbe 0x5dd9b0
jmp 0x5ddba5
addss xmm4, dword [esi + 0xc]
ucomiss xmm7, xmm4
movss dword [esi + 0xc], xmm4
jbe 0x5ddaa3
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm4
add al, 3
mov byte [ebp + edx], al
addss xmm3, dword [esi + 0x10]
ucomiss xmm7, xmm3
movss dword [esi + 0x10], xmm3
ja 0x5ddab6
addss xmm2, dword [esi + 0x14]
ucomiss xmm7, xmm2
movss dword [esi + 0x14], xmm2
jbe 0x5ddadc
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm2
add al, 5
mov byte [ebp + edx], al
addss xmm1, dword [esi + 0x18]
ucomiss xmm7, xmm1
movss dword [esi + 0x18], xmm1
ja 0x5ddaef
addss xmm0, dword [esi + 0x1c]
ucomiss xmm7, xmm0
movss dword [esi + 0x1c], xmm0
jbe 0x5dd9b0
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm0
add al, 7
mov byte [ebp + edx], al
jmp 0x5dd9b0
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x30], 1
movzx ebx, byte [eax + ecx]
mov ecx, dword [esp + 0x168]
mov edx, ecx
imul edx, esi
jmp 0x5ddbf4
mov esi, dword [esp + 0xc]
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jae 0x5dced9
movzx esi, bl
mov edi, esi
shr edi, 3
lea eax, [edx + edi]
cmp eax, dword [esp + 0x1c]
jae 0x5e055d
add edi, dword [esp + 0x10]
and esi, 7
movzx eax, byte [edx + edi]
bt eax, esi
jae 0x5ddbe0
mov esi, dword [esp + 0xc]
cmp ecx, ebp
jae 0x5e179b
movzx eax, byte [esi + ecx]
mov ah, bl
xor ebx, ebx
cmp ah, al
setne bl
add dword [esp + 0x30], ebx
mov ebx, eax
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jb 0x5ddbf4
jmp 0x5dced9
mov dword [esp], ecx
mov dword [esp + 0x44], esi
mov edi, ebp
jmp 0x5ddd85
push 0x8f1b20
call fcn.007c1be0
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 8]
push 0
push dword [0x94bf18]
call esi
push dword [esp + 0x14]
push 0
push dword [0x94bf18]
call esi
cmp dword [esp + 0x1c], 0
je 0x5ddc9c
push dword [esp + 0x10]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0xd4]
push 0
push dword [0x94bf18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
call esi
push dword [esp + 0x148]
push 0
push dword [0x94bf18]
call esi
mov ebp, dword [esp + 0x30]
test ebp, ebp
je 0x5deedc
cmp ebp, 0x1fffffff
ja 0x5e2bd0
lea esi, [ebp*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x1c], eax
je 0x5e2c7e
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0xac], eax
je 0x5e2c7e
mov esi, ebp
shl esi, 4
add esi, 0x3f0
cmp esi, 0x40
jae 0x5def0a
mov dword [esp + 8], 0
mov edi, 4
mov ebx, 4
jmp 0x5defbb
mov eax, 1
push ebp
push esi
push eax
mov dword [esp + 0x64], esi
mov esi, eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x1c0c]
test ebp, ebp
mov dword [esp + 0x44], esi
mov dword [eax], esi
mov dword [eax + 4], edi
je 0x5ddd85
push dword [esp + 0x58]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esp + 0x1c0c]
mov ebp, dword [esp + 0x1bec]
mov ecx, dword [esi + 0xc]
cmp ecx, ebx
jae 0x5dde4f
mov esi, dword [esi + 8]
test ecx, ecx
mov eax, ecx
cmove eax, ebx
nop dword [eax + eax]
mov ebp, eax
add eax, eax
cmp ebp, ebx
jb 0x5dddb0
test ebp, ebp
je 0x5dddff
cmp ebp, 0x1fffffff
ja 0x5e2bd0
lea edx, [ebp*4]
mov dword [esp + 0x58], ecx
test edx, edx
js 0x5e2e1f
mov ecx, 8
mov dword [esp + 0x6c], edx
call fcn.0071ee80
mov ecx, dword [esp + 0x58]
test eax, eax
jne 0x5dde04
mov edx, dword [esp + 0x6c]
mov ecx, 4
call fcn.007c1490
mov eax, 4
lea edx, [ecx*4]
mov dword [esp + 0x58], eax
push edx
push esi
push eax
mov dword [esp + 0x78], esi
mov esi, ecx
call fcn.007bd9b0
add esp, 0xc
test esi, esi
mov esi, dword [esp + 0x1c0c]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
mov ebp, dword [esp + 0x1bec]
je 0x5dde4f
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], 1
cmp ecx, edi
jae 0x5e18c9
mov eax, dword [esp + 0x44]
mov byte [eax + ecx], 0
mov edx, dword [esi + 0xc]
cmp ecx, edx
jae 0x5e18d5
mov eax, dword [esi + 8]
mov edx, dword [esp]
mov dword [eax + ecx*4], edx
mov dword [esi + 0x14], ebx
mov edi, dword [esp + 0x40]
test ebp, ebp
jne 0x5dc2a0
jmp 0x5dc2af
mov edx, dword [esp + 0x14]
push 0x8f1b20
call fcn.007c1be0
mov edx, dword [esp]
push 0x8f21b0
call fcn.007c1be0
mov dword [esp + 0x10], 1
lea esi, [ebx + ebx]
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x10c], eax
je 0x5e2dbc
imul eax, ebx, 0x220
cmp dword [esp + 0x1c00], 0xc
mov edx, dword [esp]
mov ecx, 0xa
pxor xmm0, xmm0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
mov eax, 3
cmovl ecx, eax
lea eax, [edi + edx*2]
mov dword [esp + 0x108], ecx
lea ecx, [edx - 1]
mov dword [esp + 0x140], eax
cmp edx, ecx
mov esi, ecx
mov eax, ecx
mov dword [esp + 0x134], ecx
mov ecx, 0x10
cmovb esi, edx
inc esi
mov eax, esi
mov dword [esp + 0x100], esi
and eax, 0xf
cmovne ecx, eax
mov eax, dword [esp + 0x24]
sub esi, ecx
mov dword [esp + 0xd4], esi
lea ecx, [eax + 0x880]
add eax, 0x87c
mov dword [esp + 0x138], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xd0], ecx
add eax, 0x1c
mov dword [esp + 0x188], eax
lea eax, [edx - 2]
mov dword [esp + 0x130], eax
xor eax, eax
jmp 0x5ddf8d
mov eax, dword [esp + 0x13c]
inc eax
cmp eax, dword [esp + 0x108]
je 0x5df9b0
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0xc]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x30], 0
je 0x5de009
mov eax, dword [esp + 0x2c]
cmp eax, 1
jne 0x5de13d
xor eax, eax
cmp dword [esp + 0x100], 0x11
mov ecx, dword [esp + 0xd4]
mov edx, esi
jb 0x5ddfe3
nop dword [eax]
movdqu xmmword [edx], xmm0
add edx, 0x10
add ecx, 0xfffffff0
jne 0x5ddfd0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp]
sub ecx, eax
add eax, esi
nop word [eax + eax]
sub ecx, 1
jb 0x5e16bd
mov byte [eax], 0
inc eax
test ecx, ecx
jne 0x5ddff0
mov dword [esp + 0x30], 1
mov edx, dword [esp]
mov ecx, esi
push dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x114]
push edx
call fcn.00427850
add esp, 0x10
cmp eax, esi
ja 0x5e2d33
test eax, eax
mov dword [esp + 0x2c], eax
je 0x5de074
imul esi, dword [esp + 0x2c], 0x888
mov edi, dword [esp + 0x24]
add esi, edi
nop word cs:[eax + eax]
nop
push 0x884
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x884], 0x7f7ff023
add edi, 0x888
cmp edi, esi
jne 0x5de050
mov ecx, dword [esp]
xor edx, edx
cmp ecx, ebp
jbe 0x5de0db
mov edi, dword [esp + 0x40]
pxor xmm0, xmm0
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + edx]
cmp dword [esp + 0x68], ecx
jb 0x5e0754
cmp ebp, edx
je 0x5e2bff
movzx eax, word [edi + edx*2]
cmp eax, 0x220
jae 0x5e0762
mov ebx, dword [esp + 0x24]
imul ecx, ecx, 0x888
inc edx
lea esi, [ebx + ecx]
inc dword [esi + eax*4]
inc dword [ebx + ecx + 0x880]
cmp dword [esp], edx
jne 0x5de090
jmp 0x5ddf78
mov edi, dword [esp + 0x40]
pxor xmm0, xmm0
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, edx
je 0x5e12a3
mov eax, dword [esp + 0xc]
movzx ecx, byte [eax + edx]
cmp dword [esp + 0x68], ecx
jb 0x5e0754
movzx eax, word [edi + edx*2]
cmp eax, 0x21f
ja 0x5e0762
mov ebx, dword [esp + 0x24]
imul ecx, ecx, 0x888
inc edx
lea esi, [ebx + ecx]
inc dword [esi + eax*4]
inc dword [ebx + ecx + 0x880]
mov ecx, dword [esp]
cmp ecx, edx
jne 0x5de0f0
jmp 0x5ddf78
cmp eax, dword [esp + 0x14]
mov ebp, eax
ja 0x5e2d7e
lea eax, [ebp + 7]
shr eax, 3
mov dword [esp + 0x54], eax
imul eax, ebp, 0x880
push eax
push 0
push dword [esp + 0x10]
call fcn.007bdf30
add esp, 0xc
mov edi, dword [esp + 0xd0]
mov edx, dword [esp + 0x14]
xor esi, esi
jmp 0x5de19d
movd xmm0, dword [eax*4 + 0x8f1b80]
mov eax, dword [esp + 8]
add edi, 0x888
movd dword [eax + esi*4], xmm0
inc esi
cmp ebp, esi
je 0x5de1ec
cmp edx, esi
je 0x5deefe
mov eax, dword [edi]
cmp eax, 0x100
jb 0x5de180
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
mov edx, dword [esp + 0x18]
add esp, 4
fstp dword [esp + 0x174]
movd xmm0, dword [esp + 0x174]
jmp 0x5de189
cmp ebp, 1
mov eax, ebp
mov esi, dword [esp + 0x138]
adc eax, 0
imul ebx, ebp, 0x87c
imul edi, ebp, 0x21f
add ebx, dword [esp + 8]
mov dword [esp + 0x30], eax
lea eax, [ebp*4]
mov dword [esp + 0xe0], eax
neg eax
mov dword [esp + 0x7c], eax
mov eax, 0x220
jmp 0x5de24d
mov esi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x58]
add ebx, dword [esp + 0x7c]
add esi, 0xfffffffc
sub edi, ebp
test eax, eax
je 0x5de2ff
dec eax
xor ebp, ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x58], eax
jmp 0x5de27f
movss xmm0, dword [eax*4 + 0x8f1b80]
subss xmm1, xmm0
add esi, 0x888
movss dword [ebx + ebp*4], xmm1
inc ebp
cmp dword [esp + 0x30], ebp
je 0x5de230
cmp edx, ebp
je 0x5e1916
lea ecx, [edi + ebp]
cmp ecx, dword [esp + 0x28]
jae 0x5dedb9
mov eax, dword [esp + 8]
movss xmm0, dword [0x7d51c0]
movss xmm1, dword [eax + ebp*4]
mov eax, dword [esi]
test eax, eax
je 0x5de269
cmp eax, 0x100
jb 0x5de260
movd xmm0, eax
por xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
cvtsd2ss xmm0, xmm0
sub esp, 4
movss dword [esp], xmm0
movss dword [esp + 0x48], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_log2f
movss xmm1, dword [esp + 0x48]
mov edx, dword [esp + 0x18]
add esp, 4
fstp dword [esp + 0x170]
movss xmm0, dword [esp + 0x170]
jmp 0x5de269
push dword [esp + 0x104]
push 0
mov ebx, dword [esp + 0x128]
push ebx
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x54]
imul ecx, dword [esp]
cmp ecx, dword [esp + 0x1c]
ja 0x5e2cb8
mov esi, dword [esp + 0x1bec]
mov edi, dword [esp + 0x40]
test ecx, ecx
je 0x5de348
push ecx
push 0
push dword [esp + 0x18]
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp]
cmp ecx, esi
ja 0x5e2df2
mov eax, ebp
shr eax, 3
cmp eax, dword [esp + 0xf0]
ja 0x5e2dfe
shl eax, 5
mov esi, dword [esp + 0x54]
mov dword [esp + 0xbc], edi
mov dword [esp + 4], 0
add eax, ebx
mov dword [esp + 0x18], eax
mov eax, ebp
and ebp, 7
and eax, 0xfffffff8
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xe8], eax
mov eax, esi
shl eax, 5
add eax, ebx
mov dword [esp + 0x20], eax
lea eax, [esi - 1]
and eax, 0x7ffffff
mov dword [esp + 0xdc], eax
lea eax, [ebp*4]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xe4], eax
xor eax, eax
nop dword [eax]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xec], eax
mov ebp, dword [esp + 4]
mov esi, esi
mov ebx, 0
cmp eax, edx
mov edi, edx
cmovb edi, eax
mov eax, edx
mov dword [esp + 0x144], edi
sub eax, edi
mov edi, dword [esp + 0xdc]
cmp eax, edi
cmovae eax, edi
imul esi, ebp
sub edx, esi
mov dword [esp + 0xac], eax
cmovb edx, ebx
cmp edi, edx
cmovb edx, edi
cmp ebp, ecx
mov dword [esp + 0x8c], edx
je 0x5e1e0f
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x28]
movzx ecx, word [eax]
mov eax, dword [esp + 0x2c]
mov edx, eax
mov dword [esp + 0x6c], ecx
imul edx, ecx
sub esi, edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x58], esi
jb 0x5e2d53
movss xmm7, dword [0x7d51c4]
cmp eax, 8
jae 0x5deb00
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x28]
add ecx, dword [esp + 0xe8]
sub eax, ecx
jb 0x5e2b82
mov ecx, dword [esp + 0xd8]
mov edi, dword [esp + 0xc]
cmp ecx, eax
ja 0x5e2b93
test ecx, ecx
mov eax, ecx
je 0x5de500
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x198]
mov esi, dword [esp + 0x120]
mov eax, dword [esp + 0xe8]
imul ebx, dword [esp + 0xe0]
add ebx, dword [esp + 8]
jmp 0x5de4c9
inc eax
add esi, 4
add edx, 0xfffffffc
je 0x5de500
mov ecx, eax
shr ecx, 3
cmp ecx, dword [esp + 0xf0]
jae 0x5df960
movss xmm0, dword [ebx + eax*4]
shl ecx, 5
addss xmm0, dword [esi + ecx]
ucomiss xmm7, xmm0
movss dword [esi + ecx], xmm0
jbe 0x5de4c0
mov ecx, dword [esp + 4]
movaps xmm7, xmm0
mov byte [edi + ecx], al
jmp 0x5de4c0
cmp dword [esp + 4], 0x7d0
movss xmm5, dword [0x7d5244]
jae 0x5de54f
movss xmm0, dword [esp + 4]
orpd xmm0, xmmword [0x7d45c0]
subsd xmm0, qword [0x7d45d0]
xorps xmm5, xmm5
cvtsd2ss xmm5, xmm0
mulss xmm5, dword [0x7d51cc]
divss xmm5, dword [0x7d51d0]
addss xmm5, dword [0x7d51d4]
mulss xmm5, dword [0x7d5244]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
cmp ecx, dword [esp + 0xf0]
ja 0x5e2c8a
mov edi, dword [esp + 0x120]
xor ecx, ecx
cmp edx, 4
jb 0x5de9d4
mov ebx, dword [esp + 0xac]
inc edx
mov ecx, 4
mov esi, dword [esp + 0x120]
movups xmmword [esp + 0x1b8], xmm7
shufps xmm7, xmm7, 0
movups xmmword [esp + 0x1a8], xmm5
shufps xmm5, xmm5, 0
mov eax, edx
movups xmmword [esp + 0x158], xmm7
movups xmmword [esp + 0x148], xmm5
and eax, 3
cmove eax, ecx
mov ecx, edx
not ebx
sub ecx, eax
add ebx, eax
mov edi, ecx
mov eax, ebx
mov ebx, dword [esp + 0xe4]
shl edi, 5
add edi, esi
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x60]
movups xmm4, xmmword [esi + 0x20]
movups xmm2, xmmword [esi + 0x40]
movaps xmm3, xmm1
movaps xmm5, xmm0
movaps xmm7, xmm0
movlhps xmm3, xmm2
unpcklps xmm5, xmm4
unpckhps xmm7, xmm4
shufps xmm5, xmm3, 0x24
movaps xmm3, xmm2
movaps xmm6, xmm5
movaps xmm5, xmm4
unpcklps xmm3, xmm1
shufps xmm4, xmm0, 0x33
shufps xmm5, xmm0, 0x11
movups xmm0, xmmword [esi + 0x70]
shufps xmm5, xmm3, 0xe2
movaps xmm3, xmm1
unpckhpd xmm3, xmm2
unpckhps xmm2, xmm1
movups xmmword [esp + 0x6c], xmm5
movups xmm5, xmmword [esi + 0x30]
movups xmm1, xmmword [esi + 0x50]
shufps xmm4, xmm2, 0xe2
movups xmm2, xmmword [esi + 0x10]
shufps xmm7, xmm3, 0x24
movaps xmm3, xmm0
movups xmmword [esp + 0x44], xmm4
movlhps xmm3, xmm1
movaps xmm4, xmm2
unpcklps xmm4, xmm5
shufps xmm4, xmm3, 0x24
movaps xmm3, xmm1
movups xmmword [esp + 0x30], xmm4
movaps xmm4, xmm5
unpcklps xmm3, xmm0
shufps xmm4, xmm2, 0x11
shufps xmm4, xmm3, 0xe2
movaps xmm3, xmm2
movups xmmword [esp + 0x9c], xmm4
movaps xmm4, xmm0
unpckhps xmm3, xmm5
shufps xmm5, xmm2, 0x33
movups xmm2, xmmword [esp + 0x6c]
unpckhpd xmm4, xmm1
unpckhps xmm1, xmm0
shufps xmm5, xmm1, 0xe2
shufps xmm3, xmm4, 0x24
movups xmm4, xmmword [esp + 0x148]
movups xmmword [esp + 0x58], xmm5
movups xmm5, xmmword [esp + 0x158]
movups xmmword [esp + 0x7c], xmm3
movdqa xmm3, xmmword [0x7d4d10]
movaps xmm0, xmm4
movaps xmm1, xmm4
subps xmm6, xmm5
subps xmm2, xmm5
subps xmm7, xmm5
cmpleps xmm0, xmm6
movups xmmword [esp + 0x8c], xmm6
movaps xmm6, xmm4
cmpleps xmm1, xmm2
movups xmmword [esp + 0x6c], xmm2
movups xmmword [esp + 0xac], xmm7
movaps xmm2, xmm4
packssdw xmm0, xmm0
cmpleps xmm6, xmm7
packsswb xmm0, xmm0
packssdw xmm1, xmm1
packssdw xmm6, xmm6
packsswb xmm1, xmm1
packsswb xmm6, xmm6
pand xmm1, xmm3
pand xmm6, xmm3
paddb xmm1, xmm1
psllw xmm6, 2
psubb xmm1, xmm0
pand xmm6, xmmword [0x7d51e0]
movups xmm0, xmmword [esp + 0x44]
por xmm6, xmm1
movaps xmm1, xmm5
subps xmm0, xmm5
movups xmm5, xmmword [esp + 0x30]
movaps xmm7, xmm1
movups xmmword [esp + 0x44], xmm0
subps xmm5, xmm1
movaps xmm1, xmm4
cmpleps xmm1, xmm0
cmpleps xmm2, xmm5
movups xmmword [esp + 0x30], xmm5
movaps xmm5, xmm4
packssdw xmm1, xmm1
packssdw xmm2, xmm2
movaps xmm0, xmm7
packsswb xmm1, xmm1
packsswb xmm2, xmm2
pand xmm1, xmm3
pand xmm2, xmm3
psllw xmm1, 3
psllw xmm2, 4
pand xmm1, xmmword [0x7d51f0]
pand xmm2, xmmword [0x7d5200]
por xmm2, xmm1
movups xmm1, xmmword [esp + 0x9c]
por xmm2, xmm6
movups xmm6, xmmword [esp + 0x7c]
subps xmm1, xmm7
cmpleps xmm5, xmm1
movups xmmword [esp + 0x9c], xmm1
subps xmm6, xmm7
movaps xmm1, xmm4
cmpleps xmm1, xmm6
packssdw xmm5, xmm5
movups xmmword [esp + 0x7c], xmm6
movups xmm6, xmmword [esp + 0x9c]
packssdw xmm1, xmm1
packsswb xmm5, xmm5
movaps xmm0, xmm4
packsswb xmm1, xmm1
pand xmm5, xmm3
pand xmm1, xmm3
psllw xmm5, 5
movups xmm3, xmmword [esp + 0xac]
psllw xmm1, 6
pand xmm5, xmmword [0x7d5210]
minps xmm6, xmm4
pand xmm1, xmmword [0x7d5220]
minps xmm3, xmm4
movups xmmword [esp + 0xac], xmm3
por xmm1, xmm5
por xmm1, xmm2
movups xmm2, xmmword [esp + 0x58]
subps xmm2, xmm7
cmpleps xmm0, xmm2
movaps xmm5, xmm2
movups xmm2, xmmword [esp + 0x8c]
packssdw xmm0, xmm0
packsswb xmm0, xmm0
psllw xmm0, 7
pand xmm0, xmmword [0x7d4a80]
minps xmm2, xmm4
movups xmmword [esp + 0x8c], xmm2
paddb xmm0, xmm1
movd xmm1, dword [ebx]
por xmm1, xmm0
movups xmm0, xmmword [esp + 0x44]
movd dword [ebx], xmm1
movups xmm1, xmmword [esp + 0x6c]
add ebx, 4
minps xmm0, xmm4
minps xmm1, xmm4
movups xmmword [esp + 0x44], xmm0
movlhps xmm0, xmm3
movaps xmm3, xmm2
movups xmm2, xmmword [esp + 0xac]
unpcklps xmm3, xmm1
movups xmmword [esp + 0x6c], xmm1
movups xmm1, xmmword [esp + 0x30]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm5
movups xmmword [esp + 0x110], xmm3
movups xmm3, xmmword [esp + 0x7c]
minps xmm0, xmm4
movups xmmword [esp + 0x58], xmm0
minps xmm1, xmm4
movups xmmword [esp + 0x30], xmm1
minps xmm3, xmm4
movaps xmm4, xmm6
movlhps xmm0, xmm3
movaps xmm7, xmm3
movups xmmword [esp + 0x7c], xmm3
movaps xmm3, xmm1
movups xmm1, xmmword [esp + 0x44]
unpcklps xmm3, xmm6
movups xmm6, xmmword [esp + 0x6c]
shufps xmm3, xmm0, 0x24
movaps xmm0, xmm2
movups xmmword [esp + 0x9c], xmm3
movups xmm3, xmmword [esp + 0x8c]
unpcklps xmm0, xmm1
unpckhpd xmm1, xmm2
movaps xmm5, xmm6
shufps xmm5, xmm3, 0x11
movaps xmm2, xmm3
movups xmm3, xmmword [esp + 0xac]
shufps xmm5, xmm0, 0xe2
movaps xmm0, xmm7
movups xmm7, xmmword [esp + 0x30]
unpckhps xmm2, xmm6
movups xmmword [esp + 0xc0], xmm5
movups xmm5, xmmword [esp + 0x58]
shufps xmm2, xmm1, 0x24
movups xmm1, xmmword [esp + 0x58]
movups xmmword [esi + 0x40], xmm2
unpcklps xmm0, xmm5
movaps xmm5, xmm4
shufps xmm5, xmm7, 0x11
movups xmm7, xmmword [esp + 0x7c]
shufps xmm5, xmm0, 0xe2
movups xmm0, xmmword [esp + 0x30]
movups xmmword [esi + 0x30], xmm5
unpckhpd xmm1, xmm7
unpckhps xmm0, xmm4
shufps xmm0, xmm1, 0x24
movups xmm1, xmmword [esp + 0x44]
movups xmmword [esi + 0x50], xmm0
movups xmm0, xmmword [esp + 0xc0]
unpckhps xmm3, xmm1
movaps xmm1, xmm6
movups xmm6, xmmword [esp + 0x8c]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [esp + 0x9c]
shufps xmm1, xmm6, 0x33
movups xmm6, xmmword [esp + 0x30]
shufps xmm1, xmm3, 0xe2
movups xmm3, xmmword [esp + 0x58]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [esi + 0x60], xmm1
shufps xmm4, xmm6, 0x33
unpckhps xmm7, xmm3
movups xmmword [esi], xmm0
shufps xmm4, xmm7, 0xe2
movups xmmword [esi + 0x70], xmm4
sub esi, 0xffffff80
add eax, 4
jne 0x5de5e0
movups xmm7, xmmword [esp + 0x1b8]
movups xmm5, xmmword [esp + 0x1a8]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1bec]
add dword [esp + 0xbc], 2
inc dword [esp + 4]
movaps xmm0, xmm5
shufps xmm7, xmm7, 0
shufps xmm0, xmm5, 0
sub esi, ecx
add ecx, dword [esp + 0xec]
sub esi, dword [esp + 0x144]
nop word cs:[eax + eax]
sub esi, 1
jb 0x5dedc7
movups xmm1, xmmword [edi + 0x10]
movups xmm3, xmmword [edi]
subps xmm1, xmm7
subps xmm3, xmm7
movaps xmm4, xmm1
ucomiss xmm3, xmm5
movaps xmm2, xmm3
shufps xmm4, xmm1, 0xff
setae bl
minps xmm2, xmm0
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae bh
unpckhpd xmm4, xmm1
shl bh, 7
ucomiss xmm4, xmm5
movaps xmm4, xmm1
setae al
shufps xmm4, xmm1, 0x55
shl al, 6
ucomiss xmm4, xmm5
movaps xmm4, xmm1
minps xmm1, xmm0
shufps xmm4, xmm3, 0x30
setae ah
or al, bl
shufps xmm3, xmm4, 0x29
movaps xmm4, xmm0
shl ah, 5
cmpleps xmm4, xmm3
or al, ah
packssdw xmm4, xmm4
packsswb xmm4, xmm4
pand xmm4, xmmword [0x7d5230]
movdqa xmm3, xmm4
psrld xmm3, 0x10
por xmm3, xmm4
movdqa xmm4, xmm3
psrlw xmm4, 8
por xmm4, xmm3
movd edx, xmm4
or al, dl
add al, bh
mov ebx, dword [esp + 0x10]
or al, byte [ebx + ecx]
movups xmmword [edi], xmm2
mov byte [ebx + ecx], al
movups xmmword [edi + 0x10], xmm1
add edi, 0x20
inc ecx
cmp edi, dword [esp + 0x20]
jne 0x5dea10
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xbc]
add eax, esi
add dword [esp + 0xe4], esi
cmp ecx, dword [esp + 0x140]
mov ecx, dword [esp]
jne 0x5de3d0
jmp 0x5ded2a
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0x58]
xor ecx, ecx
imul edi, dword [esp + 0x6c]
add edi, dword [esp + 0x188]
jmp 0x5deb30
add edx, 0x20
add ecx, 8
cmp edx, dword [esp + 0x18]
je 0x5de463
cmp ecx, dword [esp + 0x58]
ja 0x5e2781
sub esi, 8
jb 0x5e278f
mov eax, dword [esp + 0x120]
movaps xmm0, xmm7
movss xmm7, dword [edi + ecx*4 - 0x1c]
movss xmm1, dword [edi + ecx*4 - 4]
movss xmm6, dword [edi + ecx*4 - 0x18]
movss xmm5, dword [edi + ecx*4 - 0x14]
movss xmm4, dword [edi + ecx*4 - 0x10]
movss xmm3, dword [edi + ecx*4 - 0xc]
movss xmm2, dword [edi + ecx*4 - 8]
lea edx, [eax + ecx*4]
movss dword [esp + 0x44], xmm1
movss xmm1, dword [edi + ecx*4]
addss xmm7, dword [edx]
movss dword [esp + 0x30], xmm1
ucomiss xmm0, xmm7
movss dword [edx], xmm7
jbe 0x5deba6
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 4]
movaps xmm0, xmm7
mov byte [eax + ebx], cl
addss xmm6, dword [edx + 4]
movaps xmm7, xmm0
ucomiss xmm0, xmm6
movss dword [edx + 4], xmm6
jbe 0x5debca
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm6
inc al
mov byte [ebx + ebp], al
addss xmm5, dword [edx + 8]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x44]
ucomiss xmm7, xmm5
movss dword [edx + 8], xmm5
jbe 0x5dec90
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm5
add al, 2
mov byte [ebx + ebp], al
addss xmm4, dword [edx + 0xc]
ucomiss xmm7, xmm4
movss dword [edx + 0xc], xmm4
ja 0x5deca3
addss xmm3, dword [edx + 0x10]
ucomiss xmm7, xmm3
movss dword [edx + 0x10], xmm3
jbe 0x5decc8
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm3
add al, 4
mov byte [ebx + ebp], al
addss xmm2, dword [edx + 0x14]
ucomiss xmm7, xmm2
movss dword [edx + 0x14], xmm2
ja 0x5decdb
addss xmm1, dword [edx + 0x18]
ucomiss xmm7, xmm1
movss dword [edx + 0x18], xmm1
jbe 0x5ded00
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm1
add al, 6
mov byte [ebx + ebp], al
addss xmm0, dword [edx + 0x1c]
ucomiss xmm7, xmm0
movss dword [edx + 0x1c], xmm0
jbe 0x5deb20
jmp 0x5ded13
addss xmm4, dword [edx + 0xc]
ucomiss xmm7, xmm4
movss dword [edx + 0xc], xmm4
jbe 0x5dec0e
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm4
add al, 3
mov byte [ebx + ebp], al
addss xmm3, dword [edx + 0x10]
ucomiss xmm7, xmm3
movss dword [edx + 0x10], xmm3
ja 0x5dec21
addss xmm2, dword [edx + 0x14]
ucomiss xmm7, xmm2
movss dword [edx + 0x14], xmm2
jbe 0x5dec46
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm2
add al, 5
mov byte [ebx + ebp], al
addss xmm1, dword [edx + 0x18]
ucomiss xmm7, xmm1
movss dword [edx + 0x18], xmm1
ja 0x5dec59
addss xmm0, dword [edx + 0x1c]
ucomiss xmm7, xmm0
movss dword [edx + 0x1c], xmm0
jbe 0x5deb20
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 4]
mov eax, ecx
movaps xmm7, xmm0
add al, 7
mov byte [ebx + ebp], al
jmp 0x5deb20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x30], 1
movzx ebx, byte [eax + ecx]
mov ecx, dword [esp + 0x130]
mov edx, ecx
imul edx, esi
jmp 0x5ded63
mov esi, dword [esp + 0xc]
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jae 0x5de009
movzx esi, bl
mov edi, esi
shr edi, 3
lea eax, [edx + edi]
cmp eax, dword [esp + 0x1c]
jae 0x5e055d
add edi, dword [esp + 0x10]
and esi, 7
movzx eax, byte [edx + edi]
bt eax, esi
jae 0x5ded4f
cmp ecx, dword [esp]
mov esi, dword [esp + 0xc]
jae 0x5e20e5
movzx eax, byte [esi + ecx]
mov ah, bl
xor ebx, ebx
cmp ah, al
setne bl
add dword [esp + 0x30], ebx
mov ebx, eax
sub edx, dword [esp + 0x54]
mov byte [esi + ecx], bl
add ecx, 0xffffffff
jb 0x5ded63
jmp 0x5de009
mov edx, dword [esp + 0x28]
push 0x8f1b60
call fcn.007c1be0
mov edx, dword [esp + 0x1c]
push 0x8f21e0
call fcn.007c1be0
mov ecx, dword [esp + 0x68]
mov edx, ecx
push 0x809fec
call fcn.007c1be0
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 8]
push 0
push dword [0x94bf18]
call esi
push dword [esp + 0xf0]
push 0
push dword [0x94bf18]
call esi
cmp dword [esp + 0x1c], 0
je 0x5dee23
push dword [esp + 0x10]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0xd4]
push 0
push dword [0x94bf18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
call esi
push dword [esp + 0x18]
push 0
push dword [0x94bf18]
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x5df98f
cmp eax, 0x1fffffff
ja 0x5e2bd0
lea esi, [eax*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x2c], eax
je 0x5e2c7e
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 4], eax
je 0x5e2c7e
mov ecx, dword [esp + 0x30]
mov eax, ecx
shl eax, 4
add eax, 0x3f0
cmp eax, 0x40
jae 0x5dfa8d
mov dword [esp], 0
mov dword [esp + 0x7c], 4
mov eax, 4
jmp 0x5dfb36
mov ecx, edi
mov edx, edi
push 0x8f21a0
call fcn.007c1be0
mov esi, 0x3c78
mov dword [esp + 0xac], 4
mov dword [esp + 8], 0xf
mov dword [esp + 0x1c], 4
jmp 0x5def2f
mov ecx, edx
push 0x8f1b70
call fcn.007c1be0
cmp esi, 0x7f01fff
ja 0x5e2bd0
shr esi, 6
lea eax, [esi*8]
mov dword [esp + 8], esi
shl esi, 0xa
add esi, eax
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
mov ebx, dword [esp + 8]
mov edi, eax
mov esi, eax
cmp ebx, 2
jb 0x5def84
mov esi, edi
lea edi, [ebx - 1]
mov ebx, esi
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5def5b
mov edi, ebx
mov ebx, dword [esp + 8]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
lea esi, [ebx*4]
mov ecx, 8
mov edx, esi
call fcn.0071ee80
mov ebx, eax
test eax, eax
je 0x5e2c7e
cmp ebp, 0x40
mov esi, 0x40
mov dword [esp + 0x14], edi
cmovb esi, ebp
test esi, esi
mov dword [esp + 0x7c], esi
je 0x5df049
mov eax, esi
xor ecx, ecx
shl eax, 0xa
lea edx, [eax + esi*8]
movzx eax, byte [0x94bfc5]
mov dword [esp + 0x44], edx
call fcn.0071ee80
test eax, eax
je 0x5e2ce4
cmp esi, 2
mov esi, eax
mov dword [esp + 0x44], eax
jb 0x5df02d
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x44]
lea edi, [eax - 1]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
add esi, 0x408
dec edi
jne 0x5df00a
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x404], 0x7f7ff023
jmp 0x5df051
mov dword [esp + 0x44], 4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x8010
xor edi, edi
call fcn.0071ee80
test eax, eax
je 0x5e2dc8
push 0x8010
push 0
mov dword [esp + 0x5c], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp + 0x18]
pxor xmm0, xmm0
mov ecx, 1
movdqu xmmword [esp + 0x3b8], xmm0
movdqu xmmword [esp + 0x3a8], xmm0
movdqu xmmword [esp + 0x398], xmm0
movdqu xmmword [esp + 0x388], xmm0
movdqu xmmword [esp + 0x378], xmm0
movdqu xmmword [esp + 0x368], xmm0
movdqu xmmword [esp + 0x358], xmm0
movdqu xmmword [esp + 0x348], xmm0
movdqu xmmword [esp + 0x338], xmm0
movdqu xmmword [esp + 0x328], xmm0
movdqu xmmword [esp + 0x318], xmm0
movdqu xmmword [esp + 0x308], xmm0
movdqu xmmword [esp + 0x2f8], xmm0
movdqu xmmword [esp + 0x2e8], xmm0
movdqu xmmword [esp + 0x2d8], xmm0
movdqu xmmword [esp + 0x2c8], xmm0
movdqu xmmword [esp + 0x2b8], xmm0
movdqu xmmword [esp + 0x2a8], xmm0
movdqu xmmword [esp + 0x298], xmm0
movdqu xmmword [esp + 0x288], xmm0
movdqu xmmword [esp + 0x278], xmm0
movdqu xmmword [esp + 0x268], xmm0
movdqu xmmword [esp + 0x258], xmm0
movdqu xmmword [esp + 0x248], xmm0
movdqu xmmword [esp + 0x238], xmm0
movdqu xmmword [esp + 0x228], xmm0
movdqu xmmword [esp + 0x218], xmm0
movdqu xmmword [esp + 0x208], xmm0
movdqu xmmword [esp + 0x1f8], xmm0
movdqu xmmword [esp + 0x1e8], xmm0
movdqu xmmword [esp + 0x1d8], xmm0
movdqu xmmword [esp + 0x1c8], xmm0
movdqu xmmword [esp + 0x4b8], xmm0
movdqu xmmword [esp + 0x4a8], xmm0
movdqu xmmword [esp + 0x498], xmm0
movdqu xmmword [esp + 0x488], xmm0
movdqu xmmword [esp + 0x478], xmm0
movdqu xmmword [esp + 0x468], xmm0
movdqu xmmword [esp + 0x458], xmm0
movdqu xmmword [esp + 0x448], xmm0
movdqu xmmword [esp + 0x438], xmm0
movdqu xmmword [esp + 0x428], xmm0
movdqu xmmword [esp + 0x418], xmm0
movdqu xmmword [esp + 0x408], xmm0
movdqu xmmword [esp + 0x3f8], xmm0
movdqu xmmword [esp + 0x3e8], xmm0
movdqu xmmword [esp + 0x3d8], xmm0
movdqu xmmword [esp + 0x3c8], xmm0
movdqu xmmword [esp + 0x5b8], xmm0
movdqu xmmword [esp + 0x5a8], xmm0
movdqu xmmword [esp + 0x598], xmm0
movdqu xmmword [esp + 0x588], xmm0
movdqu xmmword [esp + 0x578], xmm0
movdqu xmmword [esp + 0x568], xmm0
movdqu xmmword [esp + 0x558], xmm0
movdqu xmmword [esp + 0x548], xmm0
movdqu xmmword [esp + 0x538], xmm0
movdqu xmmword [esp + 0x528], xmm0
movdqu xmmword [esp + 0x518], xmm0
movdqu xmmword [esp + 0x508], xmm0
movdqu xmmword [esp + 0x4f8], xmm0
movdqu xmmword [esp + 0x4e8], xmm0
movdqu xmmword [esp + 0x4d8], xmm0
movdqu xmmword [esp + 0x4c8], xmm0
neg esi
jmp 0x5df2eb
inc edi
lea eax, [esi + ecx + 1]
inc ecx
cmp eax, 1
je 0x5df32a
cmp edi, ebp
jae 0x5e18bb
mov eax, dword [esp + 0xac]
inc dword [eax + edi*4]
mov eax, esi
add eax, ecx
je 0x5df2e0
mov edx, dword [esp + 0x18]
lea eax, [ecx - 1]
cmp eax, edx
jae 0x5e2060
cmp ecx, edx
jae 0x5e20a2
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + ecx - 1]
cmp al, byte [edx + ecx]
jne 0x5df2e0
jmp 0x5df2e1
mov eax, dword [esp + 0x1c]
mov edx, ebp
xor esi, esi
xor edi, edi
mov dword [esp + 0x148], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x158], eax
mov dword [esp], eax
jmp 0x5df38f
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
add esi, dword [esp + 0x28]
mov eax, dword [esp + 0xf0]
add dword [esp + 0x10], 0x100
add edi, 0x40
add edx, 0xffffffc0
cmp edi, ebp
jae 0x5e057b
cmp edx, 0x40
mov ecx, 0x40
mov dword [esp + 0x2c], edx
mov dword [esp + 0xf0], eax
mov dword [esp + 0x58], edi
mov dword [esp + 4], esi
mov dword [esp + 0x110], ebx
cmovb ecx, edx
mov edx, 0x40
mov dword [esp + 0x6c], ecx
mov ecx, ebp
sub ecx, edi
cmp ecx, 0x40
cmovae ecx, edx
test ecx, ecx
mov dword [esp + 0x120], ecx
je 0x5df532
xor ebx, ebx
jmp 0x5df434
mov edi, dword [esp + 0x44]
add dword [esp + 0x9c], eax
mov eax, dword [esp + 0x8c]
mov ecx, esi
lea ebp, [ebx + 1]
lea edi, [edi + eax + 0x404]
call fcn.005e2ea0
movd dword [edi], xmm0
mov dword [esp + ebx*4 + 0x1c8], ebx
mov dword [esp + ebx*4 + 0x3c8], ebx
mov dword [esp + ebx*4 + 0x2c8], 1
cmp ebp, dword [esp + 0x6c]
mov ebx, ebp
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 4]
je 0x5df4e0
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x44]
cmp ebx, ecx
je 0x5e2816
mov eax, ebx
mov dword [esp + 0x30], ebp
shl eax, 0xa
lea ebp, [eax + ebx*8]
lea esi, [edi + ebp]
push 0x404
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x8c], ebp
mov dword [edi + ebp + 0x404], 0x7f7ff023
lea eax, [ebx + ecx]
cmp eax, edx
jae 0x5e282a
mov ecx, dword [esp + 0xac]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x5df3eb
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x40]
xor eax, eax
sub edx, ebp
lea ebp, [edi + ebp]
cmovb edx, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, eax
je 0x5df92a
movzx edi, byte [ebp + eax]
inc eax
inc dword [esi + edi*4]
cmp ecx, eax
mov dword [esi + 0x400], eax
jne 0x5df4c0
jmp 0x5df3e0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x7c]
push 0x800
push 0x40
mov eax, dword [esp + 0x128]
push eax
push eax
push 0x801
push dword [esp + 0x68]
push 0x40
lea eax, [esp + 0x1e4]
push eax
push 0x40
lea eax, [esp + 0x3ec]
push eax
push 0x40
lea eax, [esp + 0x2f4]
push eax
call fcn.005e35f0
add esp, 0x30
mov ebx, dword [esp + 0x110]
mov ecx, eax
jmp 0x5df534
xor ecx, ecx
mov eax, dword [esp + 0x148]
mov edx, dword [esp + 8]
mov dword [esp + 0x28], ecx
add eax, ecx
cmp edx, eax
jae 0x5df6bb
test edx, edx
mov ecx, edx
mov ebp, edx
cmove ecx, eax
nop word cs:[eax + eax]
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x5df560
test esi, esi
je 0x5df603
cmp esi, 0x1fc07f
ja 0x5e2bd0
mov eax, esi
shl eax, 0xa
lea edi, [eax + esi*8]
test edi, edi
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov ebx, eax
cmp esi, 2
mov edi, eax
jb 0x5df5e7
lea ebp, [esi - 1]
mov edi, ebx
nop word cs:[eax + eax]
nop dword [eax]
push 0x404
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x404], 0x7f7ff023
add edi, 0x408
dec ebp
jne 0x5df5c0
mov ebp, dword [esp + 8]
push 0x404
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x404], 0x7f7ff023
jmp 0x5df608
mov ebx, 4
cmp ebp, dword [esp]
mov dword [esp + 0xc0], esi
ja 0x5e2dd7
mov esi, dword [esp + 0x14]
test ebp, ebp
je 0x5df682
mov edi, 0x404
nop word cs:[eax + eax]
nop
mov dword [esp + 8], ebp
mov ebp, dword [esi + edi - 4]
movss xmm0, dword [esi + edi]
lea eax, [ebx + edi - 0x404]
lea ecx, [esi + edi - 0x404]
movss dword [esp + 0x8c], xmm0
push 0x400
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [ebx + edi - 4], ebp
movd xmm0, dword [esp + 0x8c]
mov ebp, dword [esp + 8]
movd dword [ebx + edi], xmm0
add edi, 0x408
dec ebp
jne 0x5df630
cmp dword [esp], 0
je 0x5df69a
push dword [esp + 0x14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x158]
add eax, edx
cmp ecx, eax
jae 0x5df736
test ecx, ecx
mov edx, ecx
cmove edx, eax
nop word [eax + eax]
mov edi, edx
add edx, edx
cmp edi, eax
jb 0x5df6e0
mov esi, dword [esp + 0xf0]
test edi, edi
je 0x5df754
cmp edi, 0x1fffffff
ja 0x5e2bd0
lea edx, [edi*4]
test edx, edx
js 0x5e2bd0
mov ecx, 8
mov dword [esp + 0x8c], edx
call fcn.0071ee80
mov esi, dword [esp + 0xf0]
mov ecx, dword [esp + 0x158]
test eax, eax
jne 0x5df759
jmp 0x5e2e24
mov eax, dword [esp + 0xf0]
test edx, edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0xf0], eax
jne 0x5df7b2
jmp 0x5df8db
mov eax, 4
cmp ecx, esi
ja 0x5e2de6
shl ecx, 2
push ecx
push ebx
push eax
mov dword [esp + 0x98], eax
call fcn.007bd9b0
add esp, 0xc
test esi, esi
je 0x5df789
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x28]
mov eax, edi
mov ecx, edi
test edx, edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0xf0], eax
je 0x5df8db
mov ecx, dword [esp]
mov edx, dword [esp + 0x148]
mov edi, dword [esp + 0x24]
xor esi, esi
sub ecx, edx
cmovb ecx, esi
sub eax, edi
mov dword [esp + 0x110], ecx
cmovb eax, esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
mov eax, edx
shl eax, 0xa
lea eax, [eax + edx*8]
lea ebp, [ecx + eax + 0x404]
lea ecx, [ebx + edi*4]
mov dword [esp + 0x20], ecx
nop word cs:[eax + eax]
nop
cmp esi, 0x40
je 0x5e1271
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, dword [esp + 0x7c]
jae 0x5e16da
cmp dword [esp + 0x110], esi
je 0x5e16e8
mov edx, dword [esp + 0x44]
mov eax, ecx
shl eax, 0xa
lea eax, [eax + ecx*8]
movss xmm0, dword [edx + eax + 0x404]
mov edi, dword [edx + eax + 0x400]
lea ecx, [edx + eax]
lea eax, [ebp - 0x404]
movss dword [esp + 0x8c], xmm0
push 0x400
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
movd xmm0, dword [esp + 0x8c]
mov dword [ebp - 4], edi
movd dword [ebp], xmm0
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1285
cmp dword [esp + 0xc0], esi
je 0x5e16fe
mov eax, dword [esp + ecx*4 + 0x2c8]
mov ecx, dword [esp + 0x20]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1294
mov dword [esp + ecx*4 + 0x4c8], esi
inc esi
add ebp, 0x408
cmp dword [esp + 0x28], esi
jne 0x5df800
add dword [esp + 0x148], esi
add dword [esp + 0x24], esi
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 4]
cmp dword [esp + 0x120], 0
je 0x5df366
xor edx, edx
nop dword [eax + eax]
mov ecx, dword [esp + edx*4 + 0x3c8]
cmp ecx, 0x3f
ja 0x5e1262
mov eax, dword [esp + 0x58]
add eax, edx
cmp eax, ebp
jae 0x5e16cc
mov eax, dword [esp + ecx*4 + 0x4c8]
mov ecx, dword [esp + 0x10]
add eax, esi
mov dword [ecx + edx*4], eax
inc edx
cmp dword [esp + 0x6c], edx
jne 0x5df8f0
jmp 0x5df366
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x18]
add ecx, eax
push 0x8f2110
call fcn.007c1be0
mov ecx, ebp
mov edx, ebp
push 0x8f21a0
call fcn.007c1be0
mov ecx, eax
mov edx, 0x2c0
push 0x9257b4
call fcn.007c1be0
mov edx, dword [esp + 0xf0]
push 0x8f1b20
call fcn.007c1be0
mov ecx, dword [esp + 0x68]
mov edx, ecx
push 0x8f2170
call fcn.007c1be0
mov ecx, edi
mov edx, edi
push 0x8f1f80
call fcn.007c1be0
mov edi, 0xa578
mov dword [esp + 4], 4
mov dword [esp], 0xf
mov dword [esp + 0x2c], 4
jmp 0x5dfaac
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 8]
push 0
push dword [0x94bf18]
call esi
push dword [esp + 0x120]
push 0
push dword [0x94bf18]
call esi
cmp dword [esp + 0x1c], 0
je 0x5df9ee
push dword [esp + 0x10]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0x10c]
push 0
push dword [0x94bf18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
call esi
push dword [esp + 0x24]
push 0
push dword [0x94bf18]
call esi
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x5e078d
cmp ebx, 0x1fffffff
ja 0x5e2bd0
lea esi, [ebx*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 0x68], eax
je 0x5e2d92
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
mov dword [esp + 4], eax
je 0x5e2d92
shl ebx, 4
add ebx, 0x3f0
cmp ebx, 0x40
jae 0x5e07a9
xor ebx, ebx
mov ebp, 4
mov eax, 4
jmp 0x5e0844
cmp eax, 0x2e69e3f
ja 0x5e2bd0
shr eax, 6
imul edi, eax, 0xb08
mov dword [esp], eax
test edi, edi
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov edi, dword [esp]
mov esi, eax
mov dword [esp + 0x7c], eax
cmp edi, 2
jb 0x5dfafd
mov esi, dword [esp + 0x7c]
dec edi
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
add esi, 0xb08
dec edi
jne 0x5dfad7
mov edi, dword [esp]
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
lea edi, [edi*4]
mov ecx, 8
mov dword [esi + 0xb04], 0x7f7ff023
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x5e2d72
cmp ecx, 0x40
mov edx, 0x40
mov dword [esp + 0x40], eax
cmovb edx, ecx
test edx, edx
mov dword [esp + 0x8c], edx
je 0x5dfbc4
movzx eax, byte [0x94bfc5]
imul edi, edx, 0xb08
mov esi, edx
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
cmp esi, 2
mov ebx, eax
mov esi, eax
jb 0x5dfba8
mov eax, dword [esp + 0x8c]
mov esi, ebx
lea edi, [eax - 1]
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
add esi, 0xb08
dec edi
jne 0x5dfb85
push 0xb04
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0xb04], 0x7f7ff023
jmp 0x5dfbc9
mov ebx, 4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x8010
xor edi, edi
call fcn.0071ee80
test eax, eax
je 0x5e2dc8
push 0x8010
push 0
mov dword [esp + 0x24], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0xc]
pxor xmm0, xmm0
xor ecx, ecx
movdqu xmmword [esp + 0x3b8], xmm0
movdqu xmmword [esp + 0x3a8], xmm0
movdqu xmmword [esp + 0x398], xmm0
movdqu xmmword [esp + 0x388], xmm0
movdqu xmmword [esp + 0x378], xmm0
movdqu xmmword [esp + 0x368], xmm0
movdqu xmmword [esp + 0x358], xmm0
movdqu xmmword [esp + 0x348], xmm0
movdqu xmmword [esp + 0x338], xmm0
movdqu xmmword [esp + 0x328], xmm0
movdqu xmmword [esp + 0x318], xmm0
movdqu xmmword [esp + 0x308], xmm0
movdqu xmmword [esp + 0x2f8], xmm0
movdqu xmmword [esp + 0x2e8], xmm0
movdqu xmmword [esp + 0x2d8], xmm0
movdqu xmmword [esp + 0x2c8], xmm0
movdqu xmmword [esp + 0x2b8], xmm0
movdqu xmmword [esp + 0x2a8], xmm0
movdqu xmmword [esp + 0x298], xmm0
movdqu xmmword [esp + 0x288], xmm0
movdqu xmmword [esp + 0x278], xmm0
movdqu xmmword [esp + 0x268], xmm0
movdqu xmmword [esp + 0x258], xmm0
movdqu xmmword [esp + 0x248], xmm0
movdqu xmmword [esp + 0x238], xmm0
movdqu xmmword [esp + 0x228], xmm0
movdqu xmmword [esp + 0x218], xmm0
movdqu xmmword [esp + 0x208], xmm0
movdqu xmmword [esp + 0x1f8], xmm0
movdqu xmmword [esp + 0x1e8], xmm0
movdqu xmmword [esp + 0x1d8], xmm0
movdqu xmmword [esp + 0x1c8], xmm0
movdqu xmmword [esp + 0x4b8], xmm0
movdqu xmmword [esp + 0x4a8], xmm0
movdqu xmmword [esp + 0x498], xmm0
movdqu xmmword [esp + 0x488], xmm0
movdqu xmmword [esp + 0x478], xmm0
movdqu xmmword [esp + 0x468], xmm0
movdqu xmmword [esp + 0x458], xmm0
movdqu xmmword [esp + 0x448], xmm0
movdqu xmmword [esp + 0x438], xmm0
movdqu xmmword [esp + 0x428], xmm0
movdqu xmmword [esp + 0x418], xmm0
movdqu xmmword [esp + 0x408], xmm0
movdqu xmmword [esp + 0x3f8], xmm0
movdqu xmmword [esp + 0x3e8], xmm0
movdqu xmmword [esp + 0x3d8], xmm0
movdqu xmmword [esp + 0x3c8], xmm0
movdqu xmmword [esp + 0x5b8], xmm0
movdqu xmmword [esp + 0x5a8], xmm0
movdqu xmmword [esp + 0x598], xmm0
movdqu xmmword [esp + 0x588], xmm0
movdqu xmmword [esp + 0x578], xmm0
movdqu xmmword [esp + 0x568], xmm0
movdqu xmmword [esp + 0x558], xmm0
movdqu xmmword [esp + 0x548], xmm0
movdqu xmmword [esp + 0x538], xmm0
movdqu xmmword [esp + 0x528], xmm0
movdqu xmmword [esp + 0x518], xmm0
movdqu xmmword [esp + 0x508], xmm0
movdqu xmmword [esp + 0x4f8], xmm0
movdqu xmmword [esp + 0x4e8], xmm0
movdqu xmmword [esp + 0x4d8], xmm0
movdqu xmmword [esp + 0x4c8], xmm0
jmp 0x5dfe57
inc ecx
cmp ebp, eax
mov edi, eax
je 0x5dfe92
cmp ecx, edx
jae 0x5e20db
mov eax, dword [esp + 4]
inc dword [eax + ecx*4]
cmp dword [esp + 0x108], edi
lea eax, [edi + 1]
je 0x5dfe50
cmp edi, ebp
jae 0x5e2353
cmp eax, ebp
jae 0x5e2361
movzx edx, byte [esi + edi]
cmp dl, byte [esi + edi + 1]
mov edx, dword [esp + 0x30]
jne 0x5dfe50
jmp 0x5dfe51
mov edi, dword [esp]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x44], ebx
mov ecx, edx
xor esi, esi
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x120], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0xc0], edi
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
cmp ecx, 0x40
mov eax, 0x40
mov dword [esp + 0x148], ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], esi
cmovb eax, ecx
mov ecx, edx
sub ecx, ebx
mov dword [esp + 0xac], eax
mov eax, 0x40
cmp ecx, 0x40
cmovae ecx, eax
test ecx, ecx
mov dword [esp + 0xf0], ecx
je 0x5e0075
xor esi, esi
mov dword [esp + 0x30], edx
jmp 0x5dff71
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x6c]
lea ebx, [esi + 1]
lea eax, [eax + ecx + 0xb04]
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.005eccc0
mov eax, dword [esp + 0x6c]
cmp ebx, dword [esp + 0xac]
mov edi, dword [esp + 0x24]
movd dword [eax], xmm0
mov dword [esp + esi*4 + 0x1c8], esi
mov dword [esp + esi*4 + 0x3c8], esi
mov dword [esp + esi*4 + 0x2c8], 1
mov esi, ebx
je 0x5e001f
mov ecx, dword [esp + 0x8c]
cmp esi, ecx
je 0x5e2816
mov eax, dword [esp + 0x44]
imul ebx, esi, 0xb08
lea edi, [eax + ebx]
push 0xb04
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], ebx
mov dword [eax + ebx + 0xb04], 0x7f7ff023
lea eax, [esi + ecx]
cmp eax, edx
jae 0x5e282a
mov ecx, dword [esp + 4]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x5dff20
mov edx, dword [esp + 0x1bec]
mov ecx, 0
sub edx, ebp
cmovb edx, ecx
nop word cs:[eax + eax]
nop dword [eax]
sub edx, 1
jb 0x5e1243
mov ecx, dword [esp + 0x24]
movzx ecx, word [ecx + ebp*2]
cmp ecx, 0x2c0
jae 0x5df951
inc dword [edi + ecx*4]
inc dword [edi + 0xb00]
inc ebp
dec eax
jne 0x5dfff0
jmp 0x5dff20
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x44]
push 0x800
push 0x40
mov eax, dword [esp + 0xf8]
push eax
push eax
push 0x801
push dword [esp + 0x30]
push 0x40
lea eax, [esp + 0x1e4]
push eax
push 0x40
lea eax, [esp + 0x3ec]
push eax
push 0x40
lea eax, [esp + 0x2f4]
push eax
call fcn.005ebee0
add esp, 0x30
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ebx, eax
jmp 0x5e0077
xor ebx, ebx
mov eax, dword [esp + 0x120]
mov ecx, dword [esp]
mov dword [esp + 0x9c], ebx
add eax, ebx
cmp ecx, eax
jae 0x5e0225
test ecx, ecx
cmove ecx, eax
nop word [eax + eax]
mov edi, ecx
add ecx, ecx
cmp edi, eax
jb 0x5e00a0
mov esi, dword [esp + 0x7c]
test edi, edi
mov dword [esp + 0x110], edi
je 0x5e014c
cmp edi, 0xb9a78
ja 0x5e2bd0
imul eax, edi, 0xb08
test eax, eax
mov dword [esp + 0x6c], eax
js 0x5e2bd0
mov dword [esp + 0x30], edx
xor ecx, ecx
movzx eax, byte [0x94bfc5]
mov ebx, dword [esp + 0x6c]
mov edx, ebx
call fcn.0071ee80
test eax, eax
je 0x5e1eb1
cmp edi, 2
mov ebx, eax
mov dword [esp + 0x10], eax
jb 0x5e0130
mov ebx, dword [esp + 0x10]
dec edi
push 0xb04
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [ebx + 0xb04], 0x7f7ff023
add ebx, 0xb08
dec edi
jne 0x5e0109
mov esi, dword [esp + 0x7c]
push 0xb04
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [ebx + 0xb04], 0x7f7ff023
jmp 0x5e0158
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], 4
mov ecx, dword [esp]
cmp ecx, dword [esp + 0xc0]
ja 0x5e2e35
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x5e01e0
mov ebx, 0xb04
mov dword [esp + 0x10], eax
nop dword [eax]
mov edx, dword [esp + 0x7c]
lea edi, [eax + ebx - 0xb04]
lea eax, [esi + ebx - 0xb04]
mov esi, ecx
mov ecx, dword [edx + ebx - 4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x7c]
movss xmm0, dword [ecx + ebx]
movss dword [esp + 0x6c], xmm0
push 0xb00
push eax
push edi
call fcn.007bd9b0
mov eax, dword [esp + 0x1c]
mov ecx, esi
add esp, 0xc
mov edx, dword [esp + 8]
movd xmm0, dword [esp + 0x6c]
mov esi, dword [esp + 0x7c]
mov dword [eax + ebx - 4], edx
movd dword [eax + ebx], xmm0
add ebx, 0xb08
dec ecx
jne 0x5e0180
cmp dword [esp + 0xc0], 0
je 0x5e01f9
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x14]
add eax, ebx
cmp ecx, eax
jae 0x5e02e7
test ecx, ecx
cmove ecx, eax
nop
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x5e0240
test esi, esi
je 0x5e0284
cmp esi, 0x1fffffff
ja 0x5e2bd0
lea edi, [esi*4]
mov dword [esp + 0x30], edx
test edi, edi
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x5e0291
jmp 0x5e2d72
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov eax, 4
mov edi, dword [esp + 0x18]
cmp ecx, edi
ja 0x5e2e46
shl ecx, 2
push ecx
mov ebx, dword [esp + 0x44]
push ebx
push eax
mov dword [esp + 0x78], eax
call fcn.007bd9b0
add esp, 0xc
test edi, edi
je 0x5e02c6
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], esi
mov ecx, esi
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x40], eax
test ebx, ebx
mov dword [esp + 0x14], ecx
je 0x5e0424
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x120]
xor esi, esi
mov ebx, dword [esp + 0x158]
mov edi, dword [esp + 0x7c]
sub ecx, eax
cmovb ecx, esi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x18]
sub ecx, ebx
cmovb ecx, esi
imul eax, eax, 0xb08
lea edi, [edi + eax + 0xb04]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], ecx
lea eax, [eax + ebx*4]
mov dword [esp + 0x110], eax
nop
cmp esi, 0x40
je 0x5e1271
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, dword [esp + 0x8c]
jae 0x5e18eb
cmp dword [esp + 8], esi
je 0x5e18fc
mov ebx, edx
mov edx, dword [esp + 0x44]
imul eax, ecx, 0xb08
lea ecx, [edx + eax]
movss xmm0, dword [edx + eax + 0xb04]
mov eax, dword [edx + eax + 0xb00]
mov dword [esp + 0x6c], eax
movss dword [esp + 0x30], xmm0
lea eax, [edi - 0xb04]
push 0xb00
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esp + 0x6c]
movd xmm0, dword [esp + 0x30]
mov dword [edi - 4], eax
movd dword [edi], xmm0
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1285
cmp dword [esp + 0x10], esi
je 0x5e208b
mov eax, dword [esp + ecx*4 + 0x2c8]
mov ecx, dword [esp + 0x110]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1294
mov dword [esp + ecx*4 + 0x4c8], esi
inc esi
add edi, 0xb08
mov edx, ebx
cmp dword [esp + 0x9c], esi
jne 0x5e0340
add dword [esp + 0x120], esi
add dword [esp + 0x158], esi
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
cmp dword [esp + 0xf0], 0
je 0x5e0468
xor ebx, ebx
mov ecx, dword [esp + ebx*4 + 0x3c8]
cmp ecx, 0x3f
ja 0x5e1262
mov eax, dword [esp + 0x58]
add eax, ebx
cmp eax, edx
jae 0x5e18df
mov eax, dword [esp + ecx*4 + 0x4c8]
mov ecx, dword [esp + 0x28]
add eax, esi
mov dword [ecx + ebx*4], eax
inc ebx
cmp dword [esp + 0xac], ebx
jne 0x5e0430
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x148]
add esi, dword [esp + 0x9c]
mov eax, dword [esp + 0x44]
add dword [esp + 0x28], 0x100
add ebx, 0x40
add ecx, 0xffffffc0
cmp ebx, edx
jb 0x5dfed2
cmp dword [esp + 0x8c], 0
mov dword [esp + 0x30], edx
je 0x5e04b1
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, esi
mov eax, esi
mov ebp, dword [esp + 0x18]
shr ebx, 1
shl eax, 6
imul ebx, esi
cmp eax, ebx
cmovb ebx, eax
cmp ebx, 0x800
jbe 0x5e17a7
cmp ebx, 0x7fffffe
ja 0x5e2bd0
lea edi, [ebx + 1]
mov dword [esp + 0x44], edi
shl edi, 4
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
mov ebp, esi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov edi, ebx
mov esi, eax
shl edi, 4
push edi
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esi + edi + 4], 0
mov dword [esi + edi], 0
mov dword [esi + edi + 0xc], 0
mov dword [esi + edi + 8], 0
push dword [esp + 0x1c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, esi
mov esi, ebp
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
jmp 0x5e17b3
mov edx, dword [esp + 0x1c]
mov ecx, eax
push 0x8f1ab0
call fcn.007c1be0
mov ecx, ebp
mov edx, ebp
push 0x8f1f80
call fcn.007c1be0
cmp dword [esp + 0x7c], 0
mov dword [esp + 0x110], ebx
je 0x5e059f
push dword [esp + 0x44]
push 0
push dword [0x94bf18]
mov ebx, eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, ebx
mov ebx, esi
mov ecx, eax
mov eax, esi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x44], 0x801
shr ebx, 1
shl eax, 6
imul ebx, esi
cmp eax, ebx
cmovb ebx, eax
cmp ebx, 0x800
jbe 0x5e0655
cmp ebx, 0x7fffffe
ja 0x5e2bd0
lea edi, [ebx + 1]
mov dword [esp + 0x44], edi
shl edi, 4
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
mov ebp, esi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov edi, ebx
mov esi, eax
shl edi, 4
push edi
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esi + edi + 4], 0
mov dword [esi + edi], 0
mov dword [esi + edi + 0xc], 0
mov dword [esi + edi + 8], 0
push dword [esp + 0x54]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x54], esi
mov esi, ebp
test esi, esi
je 0x5e12bd
cmp esi, 0x1fffffff
ja 0x5e2bd0
mov ebp, esi
lea esi, [esi*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
add esi, 0xfffffffc
mov ecx, eax
xor eax, eax
cmp esi, 0x1c
mov dword [esp + 0x7c], ecx
jb 0x5e06f0
shr esi, 2
mov edx, dword [esp + 0x7c]
movdqa xmm0, xmmword [0x7d44a0]
movdqa xmm1, xmmword [0x7d44b0]
movdqa xmm2, xmmword [0x7d44c0]
inc esi
mov eax, esi
and eax, 0xfffffff8
lea ecx, [edx + eax*4]
add edx, 0x10
mov edi, eax
movdqa xmm3, xmm0
movdqu xmmword [edx - 0x10], xmm0
paddd xmm0, xmm2
paddd xmm3, xmm1
movdqu xmmword [edx], xmm3
add edx, 0x20
add edi, 0xfffffff8
jne 0x5e06cb
mov edi, dword [esp + 0x18]
cmp esi, eax
je 0x5e0701
mov edx, dword [esp + 0x7c]
lea edx, [edx + ebp*4]
mov dword [ecx], eax
add ecx, 4
inc eax
cmp ecx, edx
jne 0x5e06f7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp]
push ebx
push pe_nt_image_headers32
mov eax, dword [esp + 0x38]
push eax
mov esi, ebp
push ebp
push dword [esp + 0x54]
mov ebp, eax
push dword [esp + 0x68]
push esi
push dword [esp + 0x98]
push eax
push dword [esp + 0x40]
mov ebx, dword [esp + 0x118]
push ebx
push dword [esp + 0x13c]
call fcn.005e35f0
add esp, 0x30
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x54]
jmp 0x5e12da
mov edx, dword [esp + 0x14]
push 0x8f21b0
call fcn.007c1be0
mov ecx, eax
mov edx, 0x220
push 0x9257b4
call fcn.007c1be0
mov ecx, edi
mov edx, edi
push 0x8f1ad0
call fcn.007c1be0
mov edx, ebp
push 0x8f2180
call fcn.007c1be0
mov edi, 0x7ff8
mov dword [esp + 4], 4
mov ebx, 0xf
mov dword [esp + 0x68], 4
jmp 0x5e07c6
cmp ebx, 0x3c03c3f
ja 0x5e2bd0
shr ebx, 6
imul edi, ebx, 0x888
test edi, edi
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov ebp, eax
cmp ebx, 2
mov esi, eax
jb 0x5e080f
lea edi, [ebx - 1]
mov esi, ebp
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
add esi, 0x888
dec edi
jne 0x5e07ec
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
lea edi, [ebx*4]
mov ecx, 8
mov dword [esi + 0x884], 0x7f7ff023
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x9c], ebx
mov ebx, 0x40
mov dword [esp + 0x18], eax
cmp ecx, 0x40
cmovb ebx, ecx
test ebx, ebx
mov dword [esp + 0x8c], ebx
je 0x5e08e0
movzx eax, byte [0x94bfc5]
imul esi, ebx, 0x888
xor ecx, ecx
mov edx, esi
call fcn.0071ee80
mov edi, dword [esp + 0xc]
test eax, eax
je 0x5e2d92
cmp ebx, 2
mov esi, eax
mov dword [esp + 0x44], eax
jb 0x5e08c4
mov esi, dword [esp + 0x44]
lea edi, [ebx - 1]
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
add esi, 0x888
dec edi
jne 0x5e089d
mov edi, dword [esp + 0xc]
push 0x884
push 0
push esi
call fcn.007bdf30
add esp, 0xc
mov dword [esi + 0x884], 0x7f7ff023
jmp 0x5e08ec
mov edi, dword [esp + 0xc]
mov dword [esp + 0x44], 4
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, 0x8010
xor ebx, ebx
call fcn.0071ee80
test eax, eax
je 0x5e2dc8
push 0x8010
push 0
mov dword [esp + 0x34], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp]
mov edx, dword [esp]
pxor xmm0, xmm0
mov ecx, 1
movdqu xmmword [esp + 0x3b8], xmm0
movdqu xmmword [esp + 0x3a8], xmm0
movdqu xmmword [esp + 0x398], xmm0
movdqu xmmword [esp + 0x388], xmm0
movdqu xmmword [esp + 0x378], xmm0
movdqu xmmword [esp + 0x368], xmm0
movdqu xmmword [esp + 0x358], xmm0
movdqu xmmword [esp + 0x348], xmm0
movdqu xmmword [esp + 0x338], xmm0
movdqu xmmword [esp + 0x328], xmm0
movdqu xmmword [esp + 0x318], xmm0
movdqu xmmword [esp + 0x308], xmm0
movdqu xmmword [esp + 0x2f8], xmm0
movdqu xmmword [esp + 0x2e8], xmm0
movdqu xmmword [esp + 0x2d8], xmm0
movdqu xmmword [esp + 0x2c8], xmm0
movdqu xmmword [esp + 0x2b8], xmm0
movdqu xmmword [esp + 0x2a8], xmm0
movdqu xmmword [esp + 0x298], xmm0
movdqu xmmword [esp + 0x288], xmm0
movdqu xmmword [esp + 0x278], xmm0
movdqu xmmword [esp + 0x268], xmm0
movdqu xmmword [esp + 0x258], xmm0
movdqu xmmword [esp + 0x248], xmm0
movdqu xmmword [esp + 0x238], xmm0
movdqu xmmword [esp + 0x228], xmm0
movdqu xmmword [esp + 0x218], xmm0
movdqu xmmword [esp + 0x208], xmm0
movdqu xmmword [esp + 0x1f8], xmm0
movdqu xmmword [esp + 0x1e8], xmm0
movdqu xmmword [esp + 0x1d8], xmm0
movdqu xmmword [esp + 0x1c8], xmm0
movdqu xmmword [esp + 0x4b8], xmm0
movdqu xmmword [esp + 0x4a8], xmm0
movdqu xmmword [esp + 0x498], xmm0
movdqu xmmword [esp + 0x488], xmm0
movdqu xmmword [esp + 0x478], xmm0
movdqu xmmword [esp + 0x468], xmm0
movdqu xmmword [esp + 0x458], xmm0
movdqu xmmword [esp + 0x448], xmm0
movdqu xmmword [esp + 0x438], xmm0
movdqu xmmword [esp + 0x428], xmm0
movdqu xmmword [esp + 0x418], xmm0
movdqu xmmword [esp + 0x408], xmm0
movdqu xmmword [esp + 0x3f8], xmm0
movdqu xmmword [esp + 0x3e8], xmm0
movdqu xmmword [esp + 0x3d8], xmm0
movdqu xmmword [esp + 0x3c8], xmm0
movdqu xmmword [esp + 0x5b8], xmm0
movdqu xmmword [esp + 0x5a8], xmm0
movdqu xmmword [esp + 0x598], xmm0
movdqu xmmword [esp + 0x588], xmm0
movdqu xmmword [esp + 0x578], xmm0
movdqu xmmword [esp + 0x568], xmm0
movdqu xmmword [esp + 0x558], xmm0
movdqu xmmword [esp + 0x548], xmm0
movdqu xmmword [esp + 0x538], xmm0
movdqu xmmword [esp + 0x528], xmm0
movdqu xmmword [esp + 0x518], xmm0
movdqu xmmword [esp + 0x508], xmm0
movdqu xmmword [esp + 0x4f8], xmm0
movdqu xmmword [esp + 0x4e8], xmm0
movdqu xmmword [esp + 0x4d8], xmm0
movdqu xmmword [esp + 0x4c8], xmm0
neg esi
jmp 0x5e0b7b
inc ebx
lea eax, [esi + ecx + 1]
inc ecx
cmp eax, 1
je 0x5e0bb1
cmp ebx, dword [esp + 0x30]
jae 0x5e2a0a
mov eax, dword [esp + 4]
inc dword [eax + ebx*4]
mov eax, esi
add eax, ecx
je 0x5e0b70
lea eax, [ecx - 1]
cmp eax, edx
jae 0x5e2060
cmp ecx, edx
jae 0x5e2a1a
movzx eax, byte [edi + ecx - 1]
cmp al, byte [edi + ecx]
jne 0x5e0b70
jmp 0x5e0b71
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x9c]
mov dword [esp], ebp
xor edi, edi
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x28], eax
mov eax, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0x24], ebx
cmp eax, 0x40
mov esi, 0x40
mov dword [esp + 0x148], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x20], edi
cmovb esi, eax
mov eax, 0x40
mov dword [esp + 0x7c], esi
mov esi, edx
sub esi, ecx
cmp esi, 0x40
cmovae esi, eax
test esi, esi
mov dword [esp + 0xf0], esi
je 0x5e0d98
xor eax, eax
mov dword [esp + 0x9c], ebx
jmp 0x5e0c8e
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xac]
lea edi, [esi + 1]
lea eax, [eax + ecx + 0x884]
mov ecx, ebx
mov dword [esp + 0xac], eax
call fcn.005e4410
mov eax, dword [esp + 0xac]
cmp edi, dword [esp + 0x7c]
movd dword [eax], xmm0
mov eax, edi
mov dword [esp + esi*4 + 0x1c8], esi
mov dword [esp + esi*4 + 0x3c8], esi
mov dword [esp + esi*4 + 0x2c8], 1
je 0x5e0d3b
cmp eax, dword [esp + 0x8c]
mov edi, dword [esp + 0x44]
je 0x5e280f
mov dword [esp + 0x58], eax
imul esi, dword [esp + 0x58], 0x888
lea ebx, [edi + esi]
push 0x884
push 0
push ebx
call fcn.007bdf30
add esp, 0xc
mov dword [edi + esi + 0x884], 0x7f7ff023
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x40]
add eax, esi
cmp eax, dword [esp + 0x30]
jae 0x5e2822
mov ecx, dword [esp + 4]
mov eax, dword [ecx + eax*4]
test eax, eax
je 0x5e0c3b
mov edx, dword [esp + 0x1bec]
mov ecx, 0
sub edx, ebp
cmovb edx, ecx
nop dword [eax + eax]
sub edx, 1
jb 0x5e1243
movzx ecx, word [edi + ebp*2]
cmp ecx, 0x220
jae 0x5e0764
inc dword [ebx + ecx*4]
inc dword [ebx + 0x880]
inc ebp
dec eax
jne 0x5e0d10
jmp 0x5e0c3b
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x44]
push 0x800
push 0x40
mov eax, dword [esp + 0xf8]
push eax
push eax
push 0x801
push dword [esp + 0x40]
push 0x40
lea eax, [esp + 0x1e4]
push eax
push 0x40
lea eax, [esp + 0x3ec]
push eax
push 0x40
lea eax, [esp + 0x2f4]
push eax
call fcn.005e4b60
add esp, 0x30
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x9c]
mov esi, eax
jmp 0x5e0d9a
xor esi, esi
mov eax, dword [esp + 0x120]
mov dword [esp + 0xac], esi
add eax, esi
cmp ebx, eax
jae 0x5e0e5e
test ebx, ebx
mov ecx, ebx
cmove ecx, eax
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x5e0db9
test esi, esi
mov dword [esp + 0x10], esi
je 0x5e0e67
cmp esi, 0xf00f0
ja 0x5e2bd0
imul edi, esi, 0x888
test edi, edi
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
cmp esi, 2
mov edi, eax
mov esi, eax
jb 0x5e0e42
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
mov edi, esi
lea ebx, [eax - 1]
push 0x884
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x884], 0x7f7ff023
add edi, 0x888
dec ebx
jne 0x5e0e18
mov ebx, dword [esp + 0x9c]
push 0x884
push 0
push edi
call fcn.007bdf30
add esp, 0xc
mov dword [edi + 0x884], 0x7f7ff023
jmp 0x5e0e6c
mov ecx, dword [esp + 0x14]
jmp 0x5e0f1f
mov esi, 4
cmp ebx, dword [esp + 0xc0]
ja 0x5e2e52
mov edx, dword [esp]
test ebx, ebx
je 0x5e0ee3
mov edi, 0x884
mov dword [esp + 0x9c], ebx
mov ebx, dword [edx + edi - 4]
movss xmm0, dword [edx + edi]
lea eax, [esi + edi - 0x884]
lea ecx, [edx + edi - 0x884]
mov dword [esp + 0x58], ebx
movss dword [esp + 8], xmm0
push 0x880
push ecx
push eax
mov ebx, edx
call fcn.007bd9b0
mov edx, ebx
add esp, 0xc
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x9c]
movd xmm0, dword [esp + 8]
mov dword [esi + edi - 4], eax
movd dword [esi + edi], xmm0
add edi, 0x888
dec ebx
jne 0x5e0e85
cmp dword [esp + 0xc0], 0
je 0x5e0efe
push dword [esp]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esp + 0x10]
mov dword [esp], esi
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xac]
mov dword [esp + 0xc0], ebx
mov eax, dword [esp + 0x158]
mov dword [esp + 0x9c], ebx
add eax, esi
cmp ecx, eax
jae 0x5e0fde
test ecx, ecx
cmove ecx, eax
mov esi, ecx
add ecx, ecx
cmp esi, eax
jb 0x5e0f3c
test esi, esi
je 0x5e0f7c
cmp esi, 0x1fffffff
ja 0x5e2bd0
lea edi, [esi*4]
test edi, edi
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x5e0f85
jmp 0x5e2d72
mov ecx, dword [esp + 0x14]
mov eax, 4
mov ebx, dword [esp + 0x24]
cmp ecx, ebx
ja 0x5e2e65
shl ecx, 2
push ecx
mov edi, dword [esp + 0x1c]
push edi
push eax
mov dword [esp + 0x64], eax
call fcn.007bd9b0
add esp, 0xc
test ebx, ebx
je 0x5e0fba
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], esi
mov ecx, esi
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xac]
mov dword [esp + 0x18], eax
test esi, esi
mov dword [esp + 0x14], ecx
je 0x5e1118
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x120]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x158]
mov edi, dword [esp]
xor esi, esi
sub ecx, eax
cmovb ecx, esi
sub ebx, edx
cmovb ebx, esi
imul eax, eax, 0x888
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebx
lea ebx, [edi + eax + 0x884]
mov eax, dword [esp + 0x18]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x110], eax
cmp esi, 0x40
je 0x5e1271
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, dword [esp + 0x8c]
jae 0x5e18eb
cmp dword [esp + 8], esi
je 0x5e18fc
imul eax, ecx, 0x888
movss xmm0, dword [edx + eax + 0x884]
mov edi, dword [edx + eax + 0x880]
lea ecx, [edx + eax]
lea eax, [ebx - 0x884]
movss dword [esp + 0x58], xmm0
push 0x880
push ecx
push eax
call fcn.007bd9b0
add esp, 0xc
movd xmm0, dword [esp + 0x58]
mov dword [ebx - 4], edi
movd dword [ebx], xmm0
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1285
cmp dword [esp + 0x10], esi
je 0x5e27f8
mov eax, dword [esp + ecx*4 + 0x2c8]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x44]
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + esi*4 + 0x1c8]
cmp ecx, 0x40
jae 0x5e1294
mov dword [esp + ecx*4 + 0x4c8], esi
inc esi
add ebx, 0x888
cmp dword [esp + 0xac], esi
jne 0x5e1039
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x9c]
add dword [esp + 0x120], esi
add dword [esp + 0x158], esi
cmp dword [esp + 0xf0], 0
je 0x5e1159
xor esi, esi
mov ecx, dword [esp + esi*4 + 0x3c8]
cmp ecx, 0x3f
ja 0x5e1262
mov eax, dword [esp + 0x6c]
add eax, esi
cmp eax, edx
jae 0x5e18df
mov eax, dword [esp + ecx*4 + 0x4c8]
mov ecx, dword [esp + 0x28]
add eax, edi
mov dword [ecx + esi*4], eax
inc esi
cmp dword [esp + 0x7c], esi
jne 0x5e1124
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x148]
add edi, dword [esp + 0xac]
add dword [esp + 0x28], 0x100
add ecx, 0x40
add eax, 0xffffffc0
cmp ecx, edx
jb 0x5e0bf4
cmp dword [esp + 0x8c], 0
je 0x5e119d
push dword [esp + 0x44]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, edi
mov eax, edi
mov ecx, edi
mov edx, edi
mov dword [esp + 0x20], edi
shr ebx, 1
shl eax, 6
imul ebx, edi
cmp eax, ebx
cmovb ebx, eax
cmp ebx, 0x800
jbe 0x5e20f2
cmp ebx, 0x7fffffe
ja 0x5e2bd0
lea edi, [ebx + 1]
mov dword [esp + 0x44], edi
shl edi, 4
js 0x5e2bd0
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edx, edi
call fcn.0071ee80
test eax, eax
je 0x5e2d72
mov edi, ebx
mov esi, eax
shl edi, 4
push edi
push 0
push eax
call fcn.007bdf30
add esp, 0xc
mov dword [esi + edi + 4], 0
mov dword [esi + edi], 0
mov dword [esi + edi + 0xc], 0
mov dword [esi + edi + 8], 0
push dword [esp + 0x2c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x2c], esi
jmp 0x5e20fa
mov edx, dword [esp + 0x1bec]
mov ecx, ebp
push 0x8f2110
call fcn.007c1be0
mov edx, edi
push 0x8f1ac0
call fcn.007c1be0
mov edx, 0x40
push 0x8f2070
call fcn.007c1be0
mov ecx, 0x40
mov edx, 0x40
push 0x8f2090
call fcn.007c1be0
mov edx, 0x40
push 0x8f20c0
call fcn.007c1be0
mov edx, 0x40
push 0x8f20e0
call fcn.007c1be0
mov edx, ecx
push 0x8f21a0
call fcn.007c1be0
mov ecx, ebp
mov edx, ebp
push 0x8f1ad0
call fcn.007c1be0
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
mov ebx, ecx
mov dword [esp + 0x7c], 4
mov dword [esp + 0x9c], 0
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
je 0x5e1302
push dword [esp + 0x110]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x5e1355
cmp esi, 0x1fffffff
ja 0x5e2bd0
mov ebx, esi
lea esi, [esi*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
push esi
push 0xff
mov dword [esp + 0x18], eax
push eax
call fcn.007bdf30
add esp, 0xc
test ebp, ebp
mov esi, ebx
jne 0x5e1365
jmp 0x5e1719
test ebp, ebp
mov dword [esp + 0x10], 4
je 0x5e172b
mov eax, dword [esp + 0x14]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0xc0], 0
add eax, 0x10
mov dword [esp + 8], eax
jmp 0x5e138c
inc ebx
cmp ebx, dword [esp + 0x30]
je 0x5e1715
push 0x404
push 0
lea eax, [esp + 0x10d8]
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14d4], 0x7f7ff023
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x5e140c
mov ecx, edi
mov edx, 0
sub ecx, ebp
cmovb ecx, edx
lea edx, [eax - 1]
cmp ecx, edx
cmovb edx, ecx
inc edx
mov dword [esp + 0x8c], edx
nop dword [eax + eax]
sub ecx, 1
jb 0x5e20b0
mov edx, dword [esp + 0x40]
movzx edx, byte [edx + ebp]
inc ebp
inc dword [esp + edx*4 + 0x10d0]
dec eax
jne 0x5e13e0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x14d0], eax
jmp 0x5e1417
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x1c]
mov eax, ebx
sub eax, 1
lea eax, [ecx + eax*4]
cmovb eax, ecx
mov ecx, dword [eax]
cmp ecx, dword [esp]
jae 0x5e2af6
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x110], ebx
mov dword [esp + 0x28], ecx
test eax, eax
je 0x5e1645
mov dword [esp + 0x8c], eax
mov eax, ecx
mov dword [esp + 4], esi
shl eax, 0xa
lea edi, [eax + ecx*8]
mov eax, dword [esp + 0x14]
lea esi, [eax + edi]
push 0x400
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [esp + 0x9cc], 0x7f7ff023
add edi, dword [esp + 8]
mov dword [esp + 0x44], esi
mov eax, dword [esi + 0x400]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x9c8], eax
mov eax, 0xfffffc00
nop
movdqu xmm0, xmmword [esp + eax + 0x9c8]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x9d8]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x9c8], xmm2
movdqu xmmword [esp + eax + 0x9d8], xmm3
add eax, 0x20
jne 0x5e14b0
lea ecx, [esp + 0x5c8]
call fcn.005e2ea0
cmp dword [esp + 0x9c], 0
je 0x5e1676
mov eax, dword [esp + 0x44]
movdqa xmm1, xmm0
mov esi, dword [esp + 4]
xor ebx, ebx
subss xmm1, dword [eax + 0x404]
jmp 0x5e1541
mov ebx, dword [esp + 0x58]
cmp ebx, dword [esp + 0x9c]
je 0x5e167e
cmp ebx, esi
je 0x5e20be
mov eax, dword [esp + 0x7c]
movss dword [esp + 0x44], xmm1
mov ecx, dword [eax + ebx*4]
cmp ecx, dword [esp]
jae 0x5e20ce
lea eax, [ebx + 1]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x58], eax
mov eax, ecx
shl eax, 0xa
lea edi, [eax + ecx*8]
lea eax, [esi + edi]
mov dword [esp + 0x6c], eax
push 0x400
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
mov dword [esp + 0x9cc], 0x7f7ff023
mov eax, dword [esi + edi + 0x400]
add edi, dword [esp + 8]
add eax, dword [esp + 0x8c]
mov dword [esp + 0x9c8], eax
mov eax, 0xfffffc00
nop
movdqu xmm0, xmmword [esp + eax + 0x9c8]
movdqu xmm2, xmmword [edi + eax + 0x3f0]
movdqu xmm1, xmmword [esp + eax + 0x9d8]
movdqu xmm3, xmmword [edi + eax + 0x400]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x9c8], xmm2
movdqu xmmword [esp + eax + 0x9d8], xmm3
add eax, 0x20
jne 0x5e15c0
lea ecx, [esp + 0x5c8]
call fcn.005e2ea0
mov eax, dword [esp + 0x6c]
movss xmm1, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 4]
subss xmm0, dword [eax + 0x404]
ucomiss xmm1, xmm0
jbe 0x5e1530
mov eax, dword [esp + 0x7c]
movaps xmm1, xmm0
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x28], eax
jmp 0x5e1530
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], esi
mov edx, esi
mov esi, dword [esp + 0x7c]
test eax, eax
je 0x5e167a
sub edx, 1
jb 0x5e20be
mov ecx, dword [esi]
cmp ecx, dword [esp]
jae 0x5e20ce
add esi, 4
dec eax
jne 0x5e165a
jmp 0x5e167a
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x110]
cmp ecx, esi
mov dword [eax + ebx*4], ecx
jae 0x5e2ace
mov eax, dword [esp + 0x10]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x5e1381
mov edx, dword [esp + 0xc0]
mov dword [eax + ecx*4], edx
inc edx
mov dword [esp + 0xc0], edx
jmp 0x5e1381
mov ecx, dword [esp]
mov edx, ecx
push 0x8f1f80
call fcn.007c1be0
mov ecx, eax
mov edx, ebp
push 0x8f2080
call fcn.007c1be0
mov edx, dword [esp + 0x7c]
push 0x8f20a0
call fcn.007c1be0
mov ecx, dword [esp + 0x148]
mov edx, dword [esp]
add ecx, esi
push 0x8f20b0
call fcn.007c1be0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xf0]
add ecx, esi
push 0x8f20d0
call fcn.007c1be0
mov ebp, dword [esp + 0x30]
push dword [esp + 0x7c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp], 0
je 0x5e1743
push dword [esp + 0x14]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c04]
mov ebx, dword [ecx + 4]
cmp ebx, ebp
jae 0x5e1794
test ebx, ebx
mov eax, ebx
cmove eax, ebp
mov edi, eax
add eax, eax
cmp edi, ebp
jb 0x5e1758
test edi, edi
je 0x5e1e1b
mov dword [esp + 4], esi
js 0x5e2bd0
mov ecx, 8
mov edx, edi
call fcn.0071ee80
mov ecx, dword [esp + 0x1c04]
mov esi, eax
test eax, eax
jne 0x5e1e24
jmp 0x5dc94a
mov edi, ebx
jmp 0x5e1e5f
mov edx, ebp
push 0x8f1ac0
call fcn.007c1be0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], 0x801
test esi, esi
je 0x5e1922
cmp esi, 0x1fffffff
ja 0x5e2bd0
mov ebp, esi
lea esi, [esi*4]
mov dword [esp + 0x1c], ecx
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
add esi, 0xfffffffc
mov ecx, eax
xor eax, eax
cmp esi, 0x1c
mov dword [esp + 0x8c], ecx
jb 0x5e1858
shr esi, 2
mov edx, dword [esp + 0x8c]
movdqa xmm0, xmmword [0x7d44a0]
movdqa xmm1, xmmword [0x7d44b0]
movdqa xmm2, xmmword [0x7d44c0]
inc esi
mov eax, esi
and eax, 0xfffffff8
lea ecx, [edx + eax*4]
add edx, 0x10
mov edi, eax
movdqa xmm3, xmm0
movdqu xmmword [edx - 0x10], xmm0
paddd xmm0, xmm2
paddd xmm3, xmm1
movdqu xmmword [edx], xmm3
add edx, 0x20
add edi, 0xfffffff8
jne 0x5e1833
mov edi, dword [esp + 0x24]
cmp esi, eax
je 0x5e186c
mov edx, dword [esp + 0x8c]
lea edx, [edx + ebp*4]
mov dword [ecx], eax
add ecx, 4
inc eax
cmp ecx, edx
jne 0x5e1862
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xc0]
push ebx
push pe_nt_image_headers32
mov ebx, dword [esp + 0x38]
push ebx
mov esi, ebp
push ebp
push dword [esp + 0x54]
push dword [esp + 0x30]
push ebp
push dword [esp + 0xa8]
push ebx
push dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
push ebp
push dword [esp + 0x6c]
call fcn.005ebee0
mov ecx, dword [esp + 0x4c]
add esp, 0x30
mov dword [esp + 0x9c], eax
jmp 0x5e193c
mov ecx, edi
mov edx, ebp
push 0x8f2120
call fcn.007c1be0
mov edx, edi
push 0x8f2150
call fcn.007c1be0
push 0x8f2160
call fcn.007c1be0
mov ecx, eax
push 0x8f2080
call fcn.007c1be0
mov edx, dword [esp + 0x8c]
push 0x8f20a0
call fcn.007c1be0
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0xc0]
add ecx, esi
push 0x8f20b0
call fcn.007c1be0
mov ecx, edx
push 0x8f1b50
call fcn.007c1be0
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x8c], 4
mov dword [esp + 0x9c], 0
push ecx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebp, ebp
je 0x5e1961
push dword [esp + 0x40]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x5e19cd
cmp esi, 0x1fffffff
ja 0x5e2bd0
mov dword [esp + 0x20], esi
lea esi, [esi*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2c7e
push esi
push 0xff
mov dword [esp + 0x18], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov esi, dword [esp + 0x20]
test ebx, ebx
jne 0x5e19dd
push dword [esp + 0x8c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5e1d0e
test ebx, ebx
mov dword [esp + 0x10], 4
je 0x5e1d0e
xor ecx, ecx
xor edx, edx
mov dword [esp], 0
jmp 0x5e19ef
inc edx
cmp edx, ebx
je 0x5e19b3
mov ebp, ecx
push 0xb04
push 0
lea eax, [esp + 0x10d8]
push eax
mov ebx, edx
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0x1bd4], 0x7f7ff023
mov dword [esp + 0x28], ebx
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x5e1a6a
mov edx, dword [esp + 0x1bec]
mov ebx, 0
sub edx, ebp
cmovb edx, ebx
sub edx, 1
jb 0x5e2839
movzx ecx, word [edi + ebp*2]
cmp ecx, 0x2c0
jae 0x5df951
inc dword [esp + ecx*4 + 0x10d0]
inc ebp
mov ebx, dword [esp + 0x1bd0]
inc ebx
dec eax
mov dword [esp + 0x1bd0], ebx
jne 0x5e1a35
jmp 0x5e1a6c
xor ebx, ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x110], ebp
sub eax, 1
lea eax, [ecx + eax*4]
cmovb eax, ecx
mov eax, dword [eax]
cmp eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
jae 0x5e2bd5
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x8c]
test ebx, ebx
je 0x5e1c90
mov dword [esp + 0x20], esi
imul esi, dword [esp + 8], 0xb08
movss xmm0, dword [esp + 0x1bd4]
add esi, eax
movss dword [esp + 0xac], xmm0
push 0xb00
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0x10cc], xmm0
mov eax, dword [esi + 0xb00]
add eax, ebx
mov dword [esp + 0x10c8], eax
mov eax, 0xfffff500
movdqu xmm0, xmmword [esp + eax + 0x10c8]
movdqu xmm2, xmmword [esi + eax + 0xb00]
movdqu xmm1, xmmword [esp + eax + 0x10d8]
movdqu xmm3, xmmword [esi + eax + 0xb10]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x10c8], xmm2
movdqu xmmword [esp + eax + 0x10d8], xmm3
add eax, 0x20
jne 0x5e1b0d
lea ecx, [esp + 0x5c8]
call fcn.005eccc0
cmp dword [esp + 0x9c], 0
je 0x5e1cc1
movdqa xmm1, xmm0
xor eax, eax
subss xmm1, dword [esi + 0xb04]
mov esi, dword [esp + 0x20]
jmp 0x5e1b93
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x20]
cmp eax, dword [esp + 0x9c]
je 0x5e1cc5
cmp eax, esi
je 0x5e27d7
mov ecx, dword [edi + eax*4]
movss dword [esp + 0x44], xmm1
cmp ecx, dword [esp + 0xc0]
jae 0x5e27e7
mov edi, dword [esp + 0x7c]
imul ebp, ecx, 0xb08
mov dword [esp + 0x6c], eax
inc eax
mov dword [esp + 0x58], eax
lea esi, [edi + ebp]
push 0xb00
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0xac]
movss dword [esp + 0x10cc], xmm0
mov eax, dword [edi + ebp + 0xb00]
add eax, ebx
mov dword [esp + 0x10c8], eax
mov eax, 0xfffff500
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0x10c8]
movdqu xmm2, xmmword [esi + eax + 0xb00]
movdqu xmm1, xmmword [esp + eax + 0x10d8]
movdqu xmm3, xmmword [esi + eax + 0xb10]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0x10c8], xmm2
movdqu xmmword [esp + eax + 0x10d8], xmm3
add eax, 0x20
jne 0x5e1c10
lea ecx, [esp + 0x5c8]
call fcn.005eccc0
subss xmm0, dword [esi + 0xb04]
movss xmm1, dword [esp + 0x44]
mov edi, dword [esp + 0x8c]
ucomiss xmm1, xmm0
jbe 0x5e1b7e
mov eax, dword [esp + 0x6c]
movaps xmm1, xmm0
mov eax, dword [edi + eax*4]
mov dword [esp + 8], eax
jmp 0x5e1b7e
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], esi
mov edx, esi
mov esi, edi
test eax, eax
je 0x5e1cc1
sub edx, 1
jb 0x5e27d7
mov ecx, dword [esi]
cmp ecx, dword [esp + 0xc0]
jae 0x5e27e7
add esi, 4
dec eax
jne 0x5e1ca3
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
cmp ecx, esi
mov dword [eax + edx*4], ecx
jae 0x5e2ace
mov eax, dword [esp + 0x10]
mov ebp, ecx
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
cmp dword [eax + ecx*4], 0xffffffff
mov ecx, dword [esp + 0x110]
jne 0x5e19ea
mov edx, dword [esp]
mov dword [eax + ebp*4], edx
inc edx
mov dword [esp], edx
mov edx, dword [esp + 0x28]
jmp 0x5e19ea
cmp dword [esp + 0xc0], 0
mov dword [esp + 0x20], esi
je 0x5e1d2e
push dword [esp + 0x7c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c08]
mov esi, dword [ecx + 4]
cmp esi, ebx
jae 0x5e1d98
test esi, esi
mov eax, esi
cmove eax, ebx
mov ecx, eax
add eax, eax
cmp ecx, ebx
jb 0x5e1d43
call fcn.005ecc20
mov edi, edx
cmp esi, edx
ja 0x5e2e71
mov ebx, eax
push esi
mov esi, dword [esp + 0x1c0c]
push dword [esi]
push eax
call fcn.007bd9b0
mov ecx, esi
add esp, 0xc
mov eax, dword [esi]
mov dword [esi], ebx
mov ebx, dword [esp + 0x30]
cmp dword [esi + 4], 0
mov dword [esi + 4], edi
je 0x5e1d98
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c08]
mov esi, dword [ecx + 0xc]
cmp esi, ebx
jae 0x5e206c
test esi, esi
mov eax, esi
cmove eax, ebx
mov ecx, eax
add eax, eax
cmp ecx, ebx
jb 0x5e1daa
call fcn.005ecc60
mov ebx, edx
cmp esi, edx
ja 0x5e2e7f
shl esi, 2
mov edi, eax
push esi
mov esi, dword [esp + 0x1c0c]
push dword [esi + 8]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 8], edi
mov dword [esp + 0x8c], edi
cmp dword [esi + 0xc], 0
mov dword [esi + 0xc], ebx
je 0x5e2203
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c08]
jmp 0x5e2205
mov edx, ecx
push 0x8f1ad0
call fcn.007c1be0
mov dword [esp + 4], esi
mov esi, 1
mov ebp, dword [ecx]
push ebx
push ebp
push esi
call fcn.007bd9b0
mov ecx, dword [esp + 0x1c10]
add esp, 0xc
test ebx, ebx
mov dword [ecx], esi
mov dword [ecx + 4], edi
je 0x5e1e57
push ebp
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c04]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 4]
mov edx, dword [ecx + 0xc]
cmp edx, ebp
jae 0x5e1ebd
test edx, edx
mov eax, edx
mov dword [esp + 4], esi
cmove eax, ebp
mov esi, eax
add eax, eax
cmp esi, ebp
jb 0x5e1e71
test esi, esi
je 0x5e1ed6
cmp esi, 0x1fffffff
ja 0x5e2bd0
lea ebx, [esi*4]
test ebx, ebx
js 0x5e2bd0
mov ebp, edx
mov ecx, 8
mov edx, ebx
call fcn.0071ee80
mov ecx, dword [esp + 0x1c04]
test eax, eax
jne 0x5e1edd
mov ecx, 4
mov edx, ebx
call fcn.007c1490
test ebp, ebp
mov dword [esp + 4], esi
je 0x5e1fdf
mov eax, dword [ecx + 8]
mov dword [esp + 0x58], edx
mov dword [esp + 0x7c], eax
jmp 0x5e1f2a
mov ebp, edx
mov eax, 4
mov edx, dword [ecx + 8]
lea ecx, [ebp*4]
push ecx
mov dword [esp + 0x48], edx
push edx
push eax
mov ebx, eax
call fcn.007bd9b0
mov ecx, dword [esp + 0x1c10]
add esp, 0xc
test ebp, ebp
mov dword [ecx + 8], ebx
mov dword [esp + 0x7c], ebx
mov dword [ecx + 0xc], esi
je 0x5e1f26
push dword [esp + 0x44]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [esp + 0x1c04]
mov dword [esp + 0x58], esi
mov eax, dword [ecx]
mov esi, dword [esp + 0x30]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x6c], eax
neg esi
mov eax, 1
jmp 0x5e1f71
mov ebp, dword [esp + 0x7c]
mov dword [ebp + ecx*4], ebx
mov ebx, dword [esp + 0x44]
cmp bl, dl
movzx ebp, bl
movzx edx, dl
cmova edx, ebp
inc ecx
xor ebx, ebx
mov dword [esp + 0x44], edx
lea edx, [esi + eax + 1]
inc eax
cmp edx, 1
je 0x5e1fe9
mov edx, dword [esp + 0xac]
add ebx, dword [edx + eax*4 - 4]
mov edx, esi
add edx, eax
je 0x5e1f9c
cmp eax, dword [esp + 0x30]
jae 0x5e2abe
mov ebp, dword [esp + 0x1c]
mov edx, dword [ebp + eax*4 - 4]
cmp edx, dword [ebp + eax*4]
je 0x5e1f67
jmp 0x5e1fa4
mov edx, dword [esp + 0x1c]
mov edx, dword [edx + eax*4 - 4]
cmp edx, dword [esp + 4]
jae 0x5e2ada
cmp ecx, edi
jae 0x5e2aea
mov ebp, dword [esp + 0x10]
cmp ecx, dword [esp + 0x58]
movzx edx, byte [ebp + edx*4]
mov ebp, dword [esp + 0x6c]
mov byte [ebp + ecx], dl
jb 0x5e1f49
mov edx, dword [esp + 0x58]
push 0x8f1ff0
call fcn.007c1be0
xor ecx, ecx
mov dword [esp + 0x44], 0
movzx eax, byte [esp + 0x44]
mov edx, dword [esp + 0x1c04]
inc eax
cmp dword [esp + 4], 0
mov dword [edx + 0x14], ecx
mov dword [edx + 0x10], eax
je 0x5e2015
push dword [esp + 0x10]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x30], 0
mov ebp, dword [esp + 0x1bec]
mov esi, dword [esp + 0xc]
je 0x5e204c
push dword [esp + 0xac]
push 0
push dword [0x94bf18]
mov edi, dword [sym.imp.kernel32.dll_HeapFree]
call edi
push dword [esp + 0x1c]
push 0
push dword [0x94bf18]
call edi
push esi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5dc0c0
mov ecx, eax
push 0x8f2130
call fcn.007c1be0
mov edx, dword [esp + 0x20]
test ebx, ebx
je 0x5e21f4
mov eax, dword [ecx + 8]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x8c], eax
jmp 0x5e220d
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x18]
add ecx, esi
push 0x8f20d0
call fcn.007c1be0
mov edx, dword [esp + 0x18]
push 0x8f2140
call fcn.007c1be0
mov ecx, ebp
mov edx, edi
push 0x8f2040
call fcn.007c1be0
mov ecx, dword [esp + 4]
mov edx, ecx
push 0x8f2020
call fcn.007c1be0
mov edx, dword [esp]
push 0x8f2030
call fcn.007c1be0
push 0x8f2120
call fcn.007c1be0
mov edx, dword [esp]
push 0x8f1ac0
call fcn.007c1be0
mov dword [esp + 0x44], 0x801
mov esi, dword [esp + 0x20]
test esi, esi
je 0x5e236f
cmp esi, 0x1fffffff
ja 0x5e2bd0
lea ebp, [esi*4]
test ebp, ebp
js 0x5e2bd0
mov ecx, 8
mov edx, ebp
call fcn.0071ee80
test eax, eax
je 0x5e2e8d
add ebp, 0xfffffffc
xor esi, esi
mov ecx, eax
mov dword [esp + 0x8c], eax
cmp ebp, 0x1c
jb 0x5e2199
shr ebp, 2
movdqa xmm0, xmmword [0x7d44a0]
movdqa xmm1, xmmword [0x7d44b0]
movdqa xmm2, xmmword [0x7d44c0]
lea edx, [eax + 0x10]
inc ebp
mov esi, ebp
and esi, 0xfffffff8
lea ecx, [eax + esi*4]
mov edi, esi
movdqa xmm3, xmm0
movdqu xmmword [edx - 0x10], xmm0
paddd xmm0, xmm2
paddd xmm3, xmm1
movdqu xmmword [edx], xmm3
add edx, 0x20
add edi, 0xfffffff8
jne 0x5e2171
mov eax, dword [esp + 0x8c]
cmp ebp, esi
je 0x5e21aa
mov edx, dword [esp + 0x20]
lea edx, [eax + edx*4]
mov dword [ecx], esi
add ecx, 4
inc esi
cmp ecx, edx
jne 0x5e21a0
mov ecx, dword [esp]
mov edx, dword [esp + 0xc0]
push ebx
push pe_nt_image_headers32
mov ebx, dword [esp + 0x38]
push ebx
mov esi, dword [esp + 0x2c]
push esi
push dword [esp + 0x54]
mov edi, dword [esp + 0x40]
push edi
push esi
push eax
push ebx
push dword [esp + 0x8c]
mov ebx, dword [esp + 0x4c]
push ebx
push dword [esp + 0x44]
call fcn.005e4b60
add esp, 0x30
mov dword [esp + 0xac], eax
jmp 0x5e238d
xor ebp, ebp
mov dword [esp + 0x44], 0
jmp 0x5e22cf
mov ecx, esi
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x30]
mov eax, dword [ecx]
mov edi, ebx
xor ebp, ebp
mov dword [esp + 0x44], 0
neg edi
mov dword [esp + 0x7c], eax
mov eax, dword [ecx + 4]
xor ecx, ecx
mov dword [esp + 0x58], eax
mov eax, 1
jmp 0x5e2243
mov edx, dword [esp + 0x20]
lea ebx, [edi + eax + 1]
inc eax
cmp ebx, 1
je 0x5e22cf
mov esi, dword [esp + 4]
mov ebx, edi
add ecx, dword [esi + eax*4 - 4]
add ebx, eax
je 0x5e226a
cmp eax, dword [esp + 0x30]
jae 0x5e2abe
mov esi, dword [esp + 0x2c]
mov ebx, dword [esi + eax*4 - 4]
cmp ebx, dword [esi + eax*4]
je 0x5e2231
jmp 0x5e2272
mov ebx, dword [esp + 0x2c]
mov ebx, dword [ebx + eax*4 - 4]
mov edx, dword [esp + 0x20]
cmp ebx, edx
jae 0x5e2ba4
cmp ebp, dword [esp + 0x58]
jae 0x5e2bb0
mov esi, dword [esp + 0x10]
cmp ebp, dword [esp + 0x6c]
movzx ebx, byte [esi + ebx*4]
mov esi, dword [esp + 0x7c]
mov byte [esi + ebp], bl
jae 0x5e2bc0
mov esi, dword [esp + 0x8c]
mov dword [esi + ebp*4], ecx
mov ecx, dword [esp + 0x44]
cmp cl, bl
movzx esi, cl
movzx ebx, bl
cmova ebx, esi
inc ebp
xor ecx, ecx
mov dword [esp + 0x44], ebx
lea ebx, [edi + eax + 1]
inc eax
cmp ebx, 1
jne 0x5e2243
movzx eax, byte [esp + 0x44]
mov ecx, dword [esp + 0x1c08]
inc eax
test edx, edx
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x10], eax
je 0x5e22f8
push dword [esp + 0x10]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x30], 0
mov ebp, dword [esp + 0x1bec]
mov esi, dword [esp + 0xd8]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x16c]
je 0x5e233c
push dword [esp + 4]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0x2c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x5dc83b
mov ecx, edi
mov edx, ebp
push 0x8f2130
call fcn.007c1be0
mov ecx, eax
mov edx, ebp
push 0x8f2140
call fcn.007c1be0
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x8c], 4
mov dword [esp + 0xac], 0
push edi
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
je 0x5e23b2
push dword [esp + 0x18]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test esi, esi
je 0x5e2417
cmp esi, 0x1fffffff
ja 0x5e2bd0
lea esi, [esi*4]
test esi, esi
js 0x5e2bd0
mov ecx, 8
mov edx, esi
call fcn.0071ee80
test eax, eax
je 0x5e2d92
push esi
push 0xff
mov dword [esp + 0x30], eax
push eax
call fcn.007bdf30
add esp, 0xc
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1bec]
mov esi, dword [esp + 0x1c0c]
mov edi, dword [esp + 0x40]
test ebx, ebx
jne 0x5e243d
jmp 0x5e284e
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1bec]
mov esi, dword [esp + 0x1c0c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x28], 4
test ebx, ebx
je 0x5e2863
xor ebx, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x110], 0
jmp 0x5e2461
inc edx
mov eax, ebx
cmp edx, ebx
mov ebx, edx
je 0x5e284c
push 0x884
push 0
lea eax, [esp + 0x10d8]
push eax
call fcn.007bdf30
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0x1954], 0x7f7ff023
mov dword [esp + 8], ebx
mov eax, dword [eax + ebx*4]
test eax, eax
je 0x5e24d7
mov esi, dword [esp + 0x10]
mov edx, ebp
mov ecx, 0
sub edx, esi
cmovb edx, ecx
sub edx, 1
jb 0x5e2ab0
movzx ecx, word [edi + esi*2]
cmp ecx, 0x220
jae 0x5e0764
inc dword [esp + ecx*4 + 0x10d0]
inc esi
mov ebx, dword [esp + 0x1950]
inc ebx
dec eax
mov dword [esp + 0x1950], ebx
jne 0x5e24a2
jmp 0x5e24dd
mov esi, dword [esp + 0x10]
xor ebx, ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x68]
sub eax, 1
lea eax, [ecx + eax*4]
cmovb eax, ecx
mov eax, dword [eax]
cmp eax, dword [esp + 0xc0]
mov dword [esp + 0x9c], eax
jae 0x5e2c4c
mov edi, dword [esp + 0x8c]
test ebx, ebx
mov dword [esp + 0x10], esi
je 0x5e26fa
imul esi, dword [esp + 0x9c], 0x888
movss xmm0, dword [esp + 0x1954]
add esi, dword [esp]
movss dword [esp + 0x7c], xmm0
push 0x880
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0xe4c], xmm0
mov eax, dword [esi + 0x880]
add eax, ebx
mov dword [esp + 0xe48], eax
mov eax, 0xfffff780
movdqu xmm0, xmmword [esp + eax + 0xe48]
movdqu xmm2, xmmword [esi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0xe58]
movdqu xmm3, xmmword [esi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0xe48], xmm2
movdqu xmmword [esp + eax + 0xe58], xmm3
add eax, 0x20
jne 0x5e2574
lea ecx, [esp + 0x5c8]
call fcn.005e4410
cmp dword [esp + 0xac], 0
je 0x5e2729
movdqa xmm1, xmm0
xor eax, eax
subss xmm1, dword [esi + 0x884]
jmp 0x5e25f2
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0xac]
je 0x5e2729
cmp eax, dword [esp + 0x20]
je 0x5e27d7
mov ecx, dword [edi + eax*4]
movss dword [esp + 0x44], xmm1
cmp ecx, dword [esp + 0xc0]
jae 0x5e27e7
mov edi, dword [esp]
imul ebp, ecx, 0x888
mov dword [esp + 0x6c], eax
inc eax
mov dword [esp + 0x58], eax
lea esi, [edi + ebp]
push 0x880
lea eax, [esp + 0x10d4]
push eax
lea eax, [esp + 0x5d0]
push eax
call fcn.007bd9b0
add esp, 0xc
movss xmm0, dword [esp + 0x7c]
movss dword [esp + 0xe4c], xmm0
mov eax, dword [edi + ebp + 0x880]
add eax, ebx
mov dword [esp + 0xe48], eax
mov eax, 0xfffff780
nop dword [eax + eax]
movdqu xmm0, xmmword [esp + eax + 0xe48]
movdqu xmm2, xmmword [esi + eax + 0x880]
movdqu xmm1, xmmword [esp + eax + 0xe58]
movdqu xmm3, xmmword [esi + eax + 0x890]
paddd xmm2, xmm0
paddd xmm3, xmm1
movdqu xmmword [esp + eax + 0xe48], xmm2
movdqu xmmword [esp + eax + 0xe58], xmm3
add eax, 0x20
jne 0x5e2670
lea ecx, [esp + 0x5c8]
call fcn.005e4410
subss xmm0, dword [esi + 0x884]
movss xmm1, dword [esp + 0x44]
mov ebp, dword [esp + 0x1bec]
mov edi, dword [esp + 0x8c]
ucomiss xmm1, xmm0
jbe 0x5e25e1
mov eax, dword [esp + 0x6c]
movaps xmm1, xmm0
mov eax, dword [edi + eax*4]
mov dword [esp + 0x9c], eax
jmp 0x5e25e1
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x20]
mov esi, edi
test eax, eax
je 0x5e2729
sub edx, 1
jb 0x5e27d7
mov ecx, dword [esi]
cmp ecx, dword [esp + 0xc0]
jae 0x5e27e7
add esi, 4
dec eax
jne 0x5e270b
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x1c0c]
cmp ecx, dword [esp + 0x20]
mov dword [eax + edx*4], ecx
jae 0x5e2c64
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
cmp dword [eax + ecx*4], 0xffffffff
jne 0x5e2454
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x110]
mov dword [eax + ecx*4], ebx
inc ebx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x30]
jmp 0x5e2454
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1b30
jmp 0x5e279b
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1b40
mov dword [esp + 0x5c8], 0x93a1fc
mov dword [esp + 0x5cc], 1
mov dword [esp + 0x5d8], 0
mov dword [esp + 0x5d0], 0x93d1f8
mov dword [esp + 0x5d4], 0
call fcn.007c1b50
mov ecx, dword [esp + 0x20]
mov edx, ecx
push 0x8f2020
call fcn.007c1be0
mov edx, dword [esp + 0xc0]
push 0x8f2030
call fcn.007c1be0
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x24]
add ecx, esi
push 0x8f20d0
call fcn.007c1be0
mov ecx, dword [esp + 0x8c]
mov edx, ecx
push 0x8f20f0
call fcn.007c1be0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
cmova ecx, edx
push 0x8f2100
call fcn.007c1be0
mov edx, dword [esp + 0x1bec]
mov ecx, ebp
push 0x8f2040
call fcn.007c1be0
mov ebx, eax
push dword [esp + 0x8c]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0xc0], 0
je 0x5e287e
push dword [esp]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [esi + 4]
cmp esi, ebx
jae 0x5e28d8
test esi, esi
mov eax, esi
cmove eax, ebx
mov ecx, eax
add eax, eax
cmp ecx, ebx
jb 0x5e288c
call fcn.005ecc20
mov edi, edx
cmp esi, edx
ja 0x5e2e71
mov ebx, eax
push esi
mov esi, dword [esp + 0x1c10]
push dword [esi]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esi]
mov dword [esi], ebx
mov ebx, dword [esp + 0x30]
cmp dword [esi + 4], 0
mov dword [esi + 4], edi
je 0x5e28d8
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esp + 0x1c0c]
mov esi, dword [eax + 0xc]
cmp esi, ebx
jae 0x5e2945
test esi, esi
mov eax, esi
cmove eax, ebx
mov ecx, eax
add eax, eax
cmp ecx, ebx
jb 0x5e28ed
call fcn.005ecc60
mov ebx, edx
cmp esi, edx
ja 0x5e2e7f
shl esi, 2
mov edi, eax
push esi
mov esi, dword [esp + 0x1c10]
push dword [esi + 8]
push eax
call fcn.007bd9b0
add esp, 0xc
mov eax, dword [esi + 8]
mov dword [esi + 8], edi
mov dword [esp + 0x7c], edi
cmp dword [esi + 0xc], 0
mov dword [esi + 0xc], ebx
je 0x5e293f
push eax
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x58], ebx
jmp 0x5e295f
test ebx, ebx
mov dword [esp + 0x58], esi
je 0x5e2a27
mov esi, dword [esp + 0x1c0c]
mov eax, dword [esi + 8]
mov dword [esp + 0x7c], eax
mov edi, dword [esp + 0x30]
mov eax, dword [esi + 4]
mov ebp, dword [esi]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x6c], eax
neg edi
mov eax, 1
jmp 0x5e298f
lea ebx, [edi + eax + 1]
inc eax
cmp ebx, 1
je 0x5e2a31
mov esi, dword [esp + 4]
mov ebx, edi
add edx, dword [esi + eax*4 - 4]
add ebx, eax
je 0x5e29b6
cmp eax, dword [esp + 0x30]
jae 0x5e2abe
mov esi, dword [esp + 0x68]
mov ebx, dword [esi + eax*4 - 4]
cmp ebx, dword [esi + eax*4]
je 0x5e2981
jmp 0x5e29be
mov ebx, dword [esp + 0x68]
mov ebx, dword [ebx + eax*4 - 4]
cmp ebx, dword [esp + 0x20]
jae 0x5e2c1f
cmp ecx, dword [esp + 0x6c]
jae 0x5e2c2f
mov esi, dword [esp + 0x28]
cmp ecx, dword [esp + 0x58]
movzx ebx, byte [esi + ebx*4]
mov byte [ebp + ecx], bl
jae 0x5e1fd1
mov esi, dword [esp + 0x7c]
mov dword [esi + ecx*4], edx
mov edx, dword [esp + 0x44]
cmp dl, bl
movzx esi, dl
movzx ebx, bl
cmova ebx, esi
inc ecx
xor edx, edx
mov dword [esp + 0x44], ebx
jmp 0x5e2981
mov edx, dword [esp + 0x30]
mov ecx, ebx
push 0x8f2120
call fcn.007c1be0
mov edx, dword [esp]
push 0x8f2140
call fcn.007c1be0
xor ecx, ecx
mov dword [esp + 0x44], 0
movzx eax, byte [esp + 0x44]
mov edx, dword [esp + 0x1c0c]
inc eax
cmp dword [esp + 0x20], 0
mov dword [edx + 0x14], ecx
mov dword [edx + 0x10], eax
je 0x5e2a5d
push dword [esp + 0x28]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esp + 0x30], 0
je 0x5e2a86
push dword [esp + 4]
push 0
push dword [0x94bf18]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
call esi
push dword [esp + 0x68]
push 0
push dword [0x94bf18]
call esi
push dword [esp + 0xc]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebp, dword [esp + 0x1bec]
mov edi, dword [esp + 0x40]
test ebp, ebp
jne 0x5dc2a0
jmp 0x5dc2af
mov ecx, esi
mov edx, ebp
push 0x8f2040
call fcn.007c1be0
mov edx, dword [esp + 0x30]
mov ecx, eax
push 0x8f1fc0
call fcn.007c1be0
mov edx, esi
push 0x8f2010
call fcn.007c1be0
mov ecx, edx
mov edx, dword [esp + 4]
push 0x8f1fd0
call fcn.007c1be0
mov edx, edi
push 0x8f1fe0
call fcn.007c1be0
mov edx, dword [esp]
push 0x8f2000
call fcn.007c1be0
mov ecx, esi
mov edx, ebp
push 0x8f2190
call fcn.007c1b80
mov ecx, 0x28
push 0x9257c4
call fcn.007c1c40
mov ecx, esi
mov edx, edi
push 0x8f2190
call fcn.007c1b80
mov ecx, 0x46
push 0x9257c4
call fcn.007c1c40
mov ecx, edx
mov edx, dword [esp + 0x18]
push 0x8f1f90
call fcn.007c1b80
mov ecx, 0x46
mov edx, eax
push 0x9257c4
call fcn.007c1c40
mov ecx, edx
mov edx, dword [esp + 0x1bec]
push 0x8f1f90
call fcn.007c1b80
mov ecx, 0x28
mov edx, eax
push 0x9257c4
call fcn.007c1c40
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1b00
jmp 0x5e279b
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1b10
jmp 0x5e279b
mov ecx, ebx
push 0x8f1fd0
call fcn.007c1be0
mov edx, dword [esp + 0x58]
mov ecx, ebp
push 0x8f1fe0
call fcn.007c1be0
mov edx, dword [esp + 0x6c]
mov ecx, ebp
push 0x8f1ff0
call fcn.007c1be0
call fcn.00418cb0
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc0]
push 0x8f2000
call fcn.007c1be0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xdc]
push 0x8f21d0
call fcn.007c1c40
mov ecx, ebp
mov edx, ebp
push 0x8f21c0
call fcn.007c1be0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
push 0x8f21d0
call fcn.007c1c40
mov edx, dword [esp + 0x20]
mov ecx, ebx
push 0x8f1fd0
call fcn.007c1be0
mov edx, dword [esp + 0x6c]
push 0x8f1fe0
call fcn.007c1be0
mov edx, dword [esp]
mov ecx, eax
push 0x9257a4
call fcn.007c1c40
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xc0]
push 0x8f2000
call fcn.007c1be0
mov edx, dword [esp + 0x20]
push 0x8f2010
call fcn.007c1be0
mov ecx, 2
mov edx, esi
call fcn.007c1490
mov ecx, 4
mov edx, esi
call fcn.007c1490
mov edx, dword [esp + 0xf0]
push 0x8f21d0
call fcn.007c1c40
mov ecx, 1
mov edx, ebx
call fcn.007c1490
mov edx, dword [esp + 0xd0]
mov ecx, 4
call fcn.007c1490
mov edx, dword [esp + 0x1c]
push 0x8f1a90
call fcn.007c1c40
mov ecx, 2
mov edx, ebx
call fcn.007c1490
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
push 0x8f1a80
call fcn.007c1c40
mov edx, dword [esp + 0x44]
mov ecx, 4
call fcn.007c1490
movzx eax, byte [esi]
imul ecx, eax
cmp ecx, dword [esp + 0x28]
jbe 0x5e2e0e
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1ae0
jmp 0x5e279b
imul ecx, eax, 0x2c0
mov edx, dword [esp + 0x28]
push 0x8f1a80
call fcn.007c1c40
mov ecx, 1
mov edx, ebp
call fcn.007c1490
mov edx, dword [esp + 0x14]
mov ecx, eax
push 0x9257a4
call fcn.007c1c40
movzx eax, word [esi]
imul edi, eax
cmp edi, dword [esp + 0x28]
jbe 0x5e2e0e
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1ae0
jmp 0x5e279b
mov edx, dword [esp + 0x44]
mov ecx, 4
call fcn.007c1490
mov ecx, 4
mov edx, edi
call fcn.007c1490
imul ecx, ebp, 0x220
mov edx, dword [esp + 0x28]
push 0x8f1a80
call fcn.007c1c40
mov ecx, 4
mov edx, esi
call fcn.007c1490
mov edx, dword [esp]
mov ecx, 1
call fcn.007c1490
mov edx, dword [esp + 0x104]
mov ecx, 4
call fcn.007c1490
mov ecx, 2
mov edx, esi
call fcn.007c1490
mov ecx, 4
mov edx, 0x8010
call fcn.007c1490
mov edx, dword [esp]
mov ecx, ebp
push 0x8f2050
call fcn.007c1c40
mov edx, esi
push 0x8f2060
call fcn.007c1c40
mov edx, esi
push 0x8f1aa0
call fcn.007c1c40
movzx eax, word [edi]
imul ebp, eax
cmp ebp, dword [esp + 0x28]
ja 0x5e2d53
lea ecx, [esp + 0x5c8]
mov edx, 0x8f1af0
jmp 0x5e279b
call fcn.00418cb0
mov edx, dword [esp + 0x8c]
mov ecx, 4
call fcn.007c1490
mov edx, dword [esp + 0xc0]
push 0x8f2050
call fcn.007c1c40
mov edx, edi
push 0x8f2060
call fcn.007c1c40
mov edx, dword [esp + 0xc0]
mov ecx, ebx
push 0x8f2050
call fcn.007c1c40
mov edx, ebx
push 0x8f2060
call fcn.007c1c40
mov ecx, esi
mov edx, edi
push 0x8f1fa0
call fcn.007c1c40
mov ecx, esi
mov edx, ebx
push 0x8f1fb0
call fcn.007c1c40
mov ecx, 4
mov edx, ebp
call fcn.007c1490
int3