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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x288
push esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x2c]
push edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], 0
call fcn.004761f0
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
add eax, 4
push eax
call fcn.005cef57
mov edi, dword [esp + 0x38]
add esp, 4
mov edx, dword [esp + 0x30]
mov ecx, edi
mov esi, dword [esp + 0x38]
sub ecx, edx
add ecx, 4
mov dword [esp + 0x68], eax
cmp ecx, esi
jbe 0x59c771
mov dword [esp + 0x6c], 0
jmp 0x59c77e
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x6c], eax
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c78d
xor eax, eax
jmp 0x59c796
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c7ab
xor eax, eax
jmp 0x59c7b4
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0x88], 0
test eax, eax
je 0x59cdf2
movaps xmm6, xmmword [0x73a020]
lea ecx, [esp + 0x200]
call fcn.00566df0
mov eax, dword [ebp + 8]
mov dword [esp + 0x58], 0
cmp dword [eax + 4], 0
jbe 0x59c93f
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov dword [esp + 0x4c], ecx
nop dword [eax + eax]
cmp byte [edi], 0
mov eax, edi
mov dword [esp + 0x14], eax
je 0x59c83c
mov ecx, edi
sub ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, edi
cmp ecx, esi
jae 0x59c838
mov eax, dword [esp + 0x20]
inc ecx
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x59c821
mov ecx, dword [esp + 0x4c]
lea edi, [eax + 1]
mov dword [esp + 0x18], 0x720774
mov eax, edi
mov dword [esp + 0x34], edi
sub eax, dword [esp + 0x30]
cmp eax, esi
mov eax, dword [esp + 0x18]
cmovbe eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp edx, ecx
je 0x59c875
mov dword [edx], eax
add edx, 4
mov dword [esp + 0x204], edx
jmp 0x59c91b
mov esi, dword [esp + 0x200]
sub edx, esi
mov eax, edx
mov dword [esp + 0x24], edx
sar eax, 2
mov dword [esp + 0x54], eax
cmp eax, 0x3fffffff
je 0x5a0c7e
sub ecx, esi
inc eax
sar ecx, 2
mov dword [esp + 0x4c], eax
mov edx, ecx
shr edx, 1
mov eax, 0x3fffffff
sub eax, edx
cmp ecx, eax
jbe 0x59c8b6
mov eax, 0x3fffffff
jmp 0x59c8c2
lea eax, [ecx + edx]
cmp eax, dword [esp + 0x4c]
cmovb eax, dword [esp + 0x4c]
lea edx, [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
call fcn.0042c790
push dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x58]
push dword [esp + 0x204]
push esi
mov dword [esi + eax*4], ecx
call fcn.005c3580
add esp, 0xc
lea ecx, [esp + 0x200]
push dword [esp + 0x14]
push dword [esp + 0x50]
push esi
call fcn.0042cb00
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov dword [esp + 0x4c], ecx
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x58]
inc eax
mov dword [esp + 0x58], eax
cmp eax, dword [esi + 4]
mov esi, dword [esp + 0x38]
jb 0x59c810
movaps xmm6, xmmword [0x73a020]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
cmp ecx, 4
jl 0x59c970
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c95e
xor eax, eax
mov dword [esp + 0x20c], eax
jmp 0x59c97b
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x20c], eax
jmp 0x59c97b
mov dword [esp + 0x20c], 0
test byte [esp + 0x20c], 2
je 0x59c9a4
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c994
xor eax, eax
jmp 0x59c99d
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x210], eax
cmp ecx, 0x11
jl 0x59ca90
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c9bd
xorps xmm0, xmm0
jmp 0x59c9c8
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x214], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59c9e1
xorps xmm0, xmm0
jmp 0x59c9ec
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x218], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59ca05
xorps xmm0, xmm0
jmp 0x59ca10
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x21c], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59ca29
xorps xmm0, xmm0
jmp 0x59ca34
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x220], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59ca4d
xorps xmm0, xmm0
jmp 0x59ca58
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x224], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59ca7a
xorps xmm0, xmm0
movss dword [esp + 0x228], xmm0
jmp 0x59ca95
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
movss dword [esp + 0x228], xmm0
jmp 0x59ca95
cmp ecx, 0xf
jl 0x59caaf
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59caa4
xor eax, eax
jmp 0x59cab3
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
jmp 0x59cab3
mov eax, dword [esp + 0x6c]
movd xmm0, eax
xorps xmm3, xmm3
mov dword [esp + 0x22c], eax
xorps xmm2, xmm2
mov dword [esp + 0x18], eax
xorps xmm4, xmm4
pshufd xmm5, xmm0, 0
xor eax, eax
nop dword [eax]
nop word [eax + eax]
movups xmm1, xmmword [eax*4 + 0x72fae0]
movups xmm0, xmmword [eax*4 + 0x72fb50]
andps xmm1, xmm5
pcmpeqd xmm1, xmm3
andnps xmm1, xmm6
andps xmm1, xmm0
movups xmm0, xmmword [eax*4 + 0x72fb60]
paddd xmm2, xmm1
movups xmm1, xmmword [eax*4 + 0x72faf0]
add eax, 8
andps xmm1, xmm5
pcmpeqd xmm1, xmm3
andnps xmm1, xmm6
andps xmm1, xmm0
paddd xmm4, xmm1
cmp eax, 0x18
jl 0x59cae0
paddd xmm2, xmm4
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd ecx, xmm2
cmp eax, 0x1a
jge 0x59cb70
mov esi, dword [esp + 0x18]
shl eax, 2
test dword [eax + 0x72fae0], esi
je 0x59cb64
add ecx, dword [eax + 0x72fb50]
add eax, 4
cmp eax, 0x68
jl 0x59cb56
mov esi, dword [esp + 0x38]
mov eax, edi
mov dword [esp + 0x230], ecx
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59cb86
xor ecx, ecx
jmp 0x59cb8f
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, ecx
mov dword [esp + 0x234], ecx
sub eax, edx
add eax, edi
cmp eax, esi
jbe 0x59cba4
xor eax, eax
jmp 0x59cbad
mov eax, edi
lea edi, [eax + ecx]
mov dword [esp + 0x34], edi
mov dword [esp + 0x238], eax
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59cbc3
xor ecx, ecx
jmp 0x59cbcc
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, ecx
mov dword [esp + 0x23c], ecx
sub eax, edx
add eax, edi
cmp eax, esi
jbe 0x59cbe1
xor eax, eax
jmp 0x59cbea
mov eax, edi
lea edi, [eax + ecx]
mov dword [esp + 0x34], edi
cmp dword [esp + 0x68], 0x15
mov dword [esp + 0x240], eax
jl 0x59ccb9
mov eax, edi
sub eax, edx
inc eax
cmp eax, esi
ja 0x59cc5f
mov al, byte [edi]
inc edi
mov dword [esp + 0x34], edi
test al, al
je 0x59cc5f
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
ja 0x59cc22
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59cc31
xor ecx, ecx
jmp 0x59cc3a
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, ecx
mov dword [esp + 0x258], ecx
sub eax, edx
add eax, edi
cmp eax, esi
jbe 0x59cc4f
xor eax, eax
jmp 0x59cc58
mov eax, edi
lea edi, [ecx + eax]
mov dword [esp + 0x34], edi
mov dword [esp + 0x25c], eax
mov eax, edi
sub eax, edx
inc eax
cmp eax, esi
ja 0x59ccb9
mov al, byte [edi]
inc edi
mov dword [esp + 0x34], edi
test al, al
je 0x59ccb9
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59cc82
xor ecx, ecx
jmp 0x59cc8b
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, ecx
mov dword [esp + 0x14], edi
sub eax, edx
add eax, edi
cmp eax, esi
jbe 0x59cc9d
xor eax, eax
jmp 0x59cca8
mov eax, dword [esp + 0x14]
lea edi, [eax + ecx]
mov dword [esp + 0x34], edi
shr ecx, 4
mov dword [esp + 0x26c], eax
mov dword [esp + 0x268], ecx
mov edx, dword [ebp + 8]
add edx, 8
mov dword [esp + 0xa4], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x14], eax
cmp eax, dword [edx + 8]
je 0x59ccf1
lea ecx, [esp + 0x200]
push ecx
mov ecx, eax
call fcn.005706d0
mov eax, dword [esp + 0xa4]
add dword [eax + 4], 0x70
jmp 0x59cdad
mov ecx, eax
mov eax, 0x92492493
sub ecx, dword [edx]
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], eax
cmp eax, 0x2492492
je 0x5a0c83
mov ecx, dword [esp + 0xa4]
inc eax
push eax
mov dword [esp + 0x58], eax
call fcn.0056ff40
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], eax
call fcn.00570000
imul ecx, dword [esp + 0x20], 0x70
mov dword [esp + 0x18], eax
add eax, ecx
lea ecx, [esp + 0x200]
push ecx
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.005706d0
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x14]
push ecx
push dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
cmp eax, edx
je 0x59cd8d
mov edx, eax
call fcn.00570050
mov edx, dword [esp + 0xac]
add esp, 4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
add eax, 0x70
mov edx, dword [edx + 4]
push eax
call fcn.00570050
mov ecx, dword [esp + 0xac]
add esp, 8
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x20]
call fcn.0056feb0
lea ecx, [esp + 0x24c]
call fcn.004f5070
lea ecx, [esp + 0x200]
call fcn.00427a90
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x88], eax
cmp eax, dword [esp + 0xa0]
jae 0x59cde6
mov edx, dword [esp + 0x30]
jmp 0x59c7ce
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0xa4]
jmp 0x59cdfc
lea edi, [ecx + 8]
mov dword [esp + 0xa4], edi
movss xmm0, dword [0x739aa4]
lea esi, [ecx + 0xd0]
unpcklps xmm0, xmm0
lea edx, [ecx + 0xdc]
movq qword [esi], xmm0
mov ecx, esi
movss xmm0, dword [0x739b1c]
mov dword [esp + 0xf4], 0x7f7fffff
mov eax, dword [esp + 0xf4]
mov dword [esi + 8], eax
unpcklps xmm0, xmm0
movq qword [edx], xmm0
mov dword [esp + 0xf4], 0xff7fffff
mov eax, dword [esp + 0xf4]
mov dword [edx + 8], eax
mov eax, dword [edi + 4]
mov edi, dword [edi]
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], edx
cmp edi, eax
je 0x59cf04
lea ecx, [edi + 0x18]
nop word [eax + eax]
movss xmm1, dword [ecx]
lea ecx, [ecx + 0x70]
movss xmm0, dword [ecx - 0x74]
add edi, 0x70
movss xmm2, dword [ecx - 0x6c]
minss xmm0, dword [esi]
minss xmm1, dword [esi + 4]
minss xmm2, dword [esi + 8]
unpcklps xmm0, xmm1
movq qword [esi], xmm0
movss dword [esp + 0xf4], xmm2
mov eax, dword [esp + 0xf4]
mov dword [esi + 8], eax
movss xmm0, dword [ecx - 0x68]
movss xmm1, dword [ecx - 0x64]
movss xmm2, dword [ecx - 0x60]
maxss xmm1, dword [edx + 4]
maxss xmm0, dword [edx]
maxss xmm2, dword [edx + 8]
unpcklps xmm0, xmm1
movss dword [esp + 0x284], xmm2
mov eax, dword [esp + 0x284]
movq qword [edx], xmm0
mov dword [edx + 8], eax
cmp edi, dword [esp + 0x20]
jne 0x59ce70
mov eax, dword [ebp + 8]
lea ecx, [eax + 0xd0]
lea edi, [eax + 0xdc]
add eax, 8
mov dword [esp + 0xa4], eax
jmp 0x59cf08
mov edi, dword [esp + 0x54]
movss xmm0, dword [edx]
comiss xmm0, dword [esi]
ja 0x59cf59
movss xmm0, dword [0x739b18]
unpcklps xmm0, xmm0
movq qword [ecx], xmm0
movss xmm0, dword [0x739a98]
mov dword [esp + 0xf4], 0xc8000000
mov eax, dword [esp + 0xf4]
unpcklps xmm0, xmm0
mov dword [ecx + 8], eax
mov dword [esp + 0xf4], 0x48000000
mov eax, dword [esp + 0xf4]
movq qword [edi], xmm0
mov dword [edi + 8], eax
cmp dword [esp + 0x68], 0xd
jl 0x5a0c73
lea ecx, [esp + 0x30]
call fcn.004761f0
push eax
lea ecx, [esp + 0xfc]
call fcn.004142a0
cmp dword [esp + 0x108], 0
je 0x5a0c67
movq xmm0, qword [esp + 0xec]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0xf4]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1e4], eax
movq qword [esp + 0x1f8], xmm0
nop dword [eax]
nop dword [eax + eax]
cmp dword [esp + 0x10c], 0xf
lea eax, [esp + 0xf8]
push 4
cmova eax, dword [esp + 0xfc]
push str.MDLS0003
push eax
call fcn.005d7c20
add esp, 0xc
test eax, eax
lea eax, [esp + 0xf8]
jne 0x59e6fd
cmp dword [esp + 0x10c], 0xf
cmova eax, dword [esp + 0xf8]
add eax, 4
push eax
call fcn.005cef57
mov edx, dword [esp + 0x34]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x6c], eax
add ecx, 4
add esp, 4
cmp ecx, esi
jbe 0x59d029
xor ecx, ecx
jmp 0x59d032
mov ecx, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
lea eax, [ecx + edx]
mov dword [esp + 0x50], eax
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59d04e
mov dword [esp + 0x44], 0
jmp 0x59d05b
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x44], eax
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x30]
add ecx, 0x18
mov dword [esp + 0x48], ecx
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], eax
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
imul eax, eax, 0x586fb587
mov dword [esp + 0x54], eax
cmp dword [esp + 0x44], eax
jae 0x59d0ba
imul esi, dword [esp + 0x44], 0xdc
mov edx, dword [esp + 0x14]
push ecx
add esi, dword [esp + 0x24]
mov ecx, esi
call fcn.00562ec0
mov eax, dword [esp + 0x4c]
add esp, 4
mov edx, dword [esp + 0x30]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x38]
jmp 0x59d109
mov esi, dword [esp + 0x38]
jbe 0x59d107
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov edx, dword [esp + 0x44]
sar eax, 2
imul eax, eax, 0x586fb587
push ecx
cmp edx, eax
jbe 0x59d0e7
push edx
call fcn.005a38b0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
jmp 0x59d109
sub edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
call fcn.005a3b50
mov ecx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x48]
jmp 0x59d109
mov eax, ecx
cmp dword [esp + 0x44], 0
jle 0x59d331
mov esi, dword [esp + 0x44]
xor ecx, ecx
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
mov eax, dword [eax]
add eax, ecx
cmp byte [edi], 0
mov dword [esp + 0x28], eax
mov eax, edi
je 0x59d15b
mov ecx, edi
sub ecx, edx
mov edx, edi
nop dword [eax + eax]
mov dword [esp + 0x20], eax
mov eax, edx
cmp ecx, esi
jae 0x59d157
mov eax, dword [esp + 0x20]
inc ecx
inc eax
mov edx, eax
cmp byte [eax], 0
jne 0x59d140
mov edx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x1c], eax
sub eax, edx
cmp eax, esi
mov dword [esp + 0x20], eax
mov edx, 0x720774
cmovbe edx, edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x59d175
sub ecx, edi
push ecx
mov ecx, dword [esp + 0x2c]
push edx
call fcn.0040c060
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
add eax, 4
cmp eax, esi
jbe 0x59d1a8
mov edx, edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x64], edx
jmp 0x59d1bb
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x1c], edi
mov edx, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x64], edi
mov ecx, dword [esp + 0x28]
mov eax, edi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x4c], edi
mov dword [ecx + 0x5c], esi
mov ecx, dword [esp + 0x30]
sub eax, ecx
add eax, 4
cmp eax, dword [esp + 0x38]
jbe 0x59d1e5
mov dword [esp + 0x14], 0
jmp 0x59d1fd
mov edi, dword [esp + 0x4c]
add edi, 4
mov edx, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x64], edx
mov eax, dword [edi - 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov dword [eax + 0x58], esi
add eax, 0x18
mov esi, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x20], eax
add eax, 0x44
cmp eax, esi
ja 0x59d262
mov eax, dword [esp + 0x20]
add eax, 4
cmp eax, esi
jbe 0x59d231
xor eax, eax
jmp 0x59d236
mov eax, dword [edi]
add edi, 4
mov esi, pe_nt_image_headers32
cmp eax, esi
cmovl esi, eax
push esi
push edi
push dword [esp + 0x5c]
call fcn.005c3580
mov ecx, dword [esp + 0x3c]
add esp, 0xc
add edi, esi
mov esi, dword [esp + 0x38]
mov edx, edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x1c]
mov edi, edx
cmp byte [eax], 0
je 0x59d28c
mov eax, edx
sub eax, ecx
mov dword [esp + 0x20], edi
mov edi, edx
cmp eax, esi
jae 0x59d288
mov edi, dword [esp + 0x20]
inc eax
inc edi
mov edx, edi
cmp byte [edi], 0
jne 0x59d271
mov edx, dword [esp + 0x64]
inc edi
mov dword [esp + 0xc0], 0
mov eax, edi
mov dword [esp + 0xc4], 0
sub eax, ecx
xorps xmm0, xmm0
cmp eax, esi
movaps xmmword [esp + 0xb0], xmm0
mov ecx, 0x720774
cmovbe ecx, edx
mov dword [esp + 0x20], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x59d2c3
sub ecx, edx
push ecx
push dword [esp + 0x24]
lea ecx, [esp + 0xb8]
call fcn.00414570
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xb0]
cmp dword [esp + 0xc4], 0xf
cmova ecx, dword [esp + 0xb0]
lea edx, [edx + 0x60]
call fcn.005a0cb0
lea ecx, [esp + 0xb0]
call fcn.004143d0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
add ecx, 0xdc
sub dword [esp + 0x6c], 1
mov eax, dword [esp + 0x48]
mov dword [esp + 0x58], ecx
jne 0x59d126
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x68]
cmp eax, 2
jl 0x59e575
mov eax, edi
sub eax, dword [esp + 0x30]
add eax, 2
cmp eax, esi
jbe 0x59d34f
xor eax, eax
jmp 0x59d359
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
movzx edx, ax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x14], eax
mov eax, ecx
sub eax, dword [esp + 0x14]
sar eax, 2
imul eax, eax, 0x684bda13
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
cmp edx, eax
jae 0x59d3ab
imul esi, edx, 0x6c
mov edx, dword [esp + 0x18]
push ecx
add esi, dword [esp + 0x18]
mov ecx, esi
call fcn.00562e50
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], esi
mov esi, dword [esp + 0x3c]
jmp 0x59d3e1
jbe 0x59d3ec
mov ecx, dword [ebp + 8]
add ecx, 0x30
push ecx
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
sar eax, 2
imul eax, eax, 0x684bda13
cmp edx, eax
jbe 0x59d3ce
push edx
call fcn.005a35c0
jmp 0x59d3e4
sub edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
call fcn.005a3810
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], eax
add esp, 4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x48], 0
test edx, edx
je 0x59d55d
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x30]
add edx, eax
cmp byte [edi], 0
mov eax, edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x14], eax
je 0x59d43b
mov edx, edi
sub edx, ecx
nop dword [eax]
mov dword [esp + 0x20], eax
mov eax, edi
cmp edx, esi
jae 0x59d437
mov eax, dword [esp + 0x20]
inc edx
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x59d420
mov edx, dword [esp + 0x4c]
lea edi, [eax + 1]
mov eax, edi
sub eax, ecx
mov ecx, 0x720774
cmp eax, esi
mov dword [esp + 0x24], eax
cmovbe ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x59d460
sub ecx, dword [esp + 0x20]
push ecx
push dword [esp + 0x58]
mov ecx, edx
call fcn.0040c060
mov eax, dword [esp + 0x24]
add eax, 4
cmp eax, esi
jbe 0x59d486
xor ecx, ecx
jmp 0x59d48b
mov ecx, dword [edi]
add edi, 4
mov edx, dword [esp + 0x4c]
mov eax, edi
mov dword [esp + 0x14], edi
mov dword [edx + 0x58], ecx
mov ecx, dword [esp + 0x30]
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59d4a9
xor eax, eax
jmp 0x59d4b3
mov edi, dword [esp + 0x14]
add edi, 4
mov eax, dword [edi - 4]
mov dword [edx + 0x5c], eax
mov eax, edi
sub eax, ecx
add eax, 0x40
cmp eax, esi
ja 0x59d4e3
movups xmm0, xmmword [edi]
movups xmmword [edx + 0x18], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [edx + 0x28], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [edx + 0x38], xmm0
movups xmm0, xmmword [edi + 0x30]
add edi, 0x40
movups xmmword [edx + 0x48], xmm0
mov eax, dword [edx + 0x5c]
sub eax, 0
je 0x59d50e
sub eax, 1
jne 0x59d53d
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x28c]
lea ecx, [ecx + 0xa4]
jmp 0x59d52a
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x280]
lea ecx, [ecx + 0x84]
push eax
call fcn.00475970
mov ecx, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x48]
add dword [esp + 0x18], 0x6c
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
jl 0x59d402
mov dword [esp + 0x2c], edi
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59d663
mov al, byte [edi]
inc edi
mov dword [esp + 0x2c], edi
test al, al
je 0x59d663
mov ecx, dword [ebp + 8]
push dword [esp + 0x44]
add ecx, 0x24
call fcn.00561970
mov ecx, dword [ebp + 8]
push dword [esp + 0x1c]
lea ecx, [ecx + 0x3c]
call fcn.00561970
cmp dword [esp + 0x44], 0
jle 0x59d5fd
mov ecx, dword [esp + 0x44]
mov edx, edi
sub edx, dword [esp + 0x30]
xor eax, eax
mov dword [esp + 0x14], ecx
add edx, 0x40
mov ecx, dword [ebp + 8]
mov dword [esp + 0x18], eax
cmp edx, esi
ja 0x59d5eb
mov eax, dword [ecx + 0x24]
add eax, dword [esp + 0x18]
movups xmm0, xmmword [edi]
movups xmmword [eax], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [edi + 0x30]
add edi, 0x40
add edx, 0x40
movups xmmword [eax + 0x30], xmm0
mov eax, dword [esp + 0x18]
add eax, 0x40
sub dword [esp + 0x14], 1
mov dword [esp + 0x18], eax
jne 0x59d5b8
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
test edx, edx
je 0x59d663
mov eax, pe_nt_image_headers32
mov dword [esp + 0x20], 0
sub eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x54], eax
add eax, edi
cmp eax, esi
ja 0x59d64f
mov eax, dword [ebp + 8]
movups xmm0, xmmword [edi]
mov eax, dword [eax + 0x3c]
add eax, ecx
movups xmmword [eax], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [edi + 0x30]
add edi, 0x40
movups xmmword [eax + 0x30], xmm0
mov eax, dword [esp + 0x54]
add ecx, 0x40
sub edx, 1
jne 0x59d620
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], edi
mov edx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59d67d
mov dword [edx + 0x14], 0
jmp 0x59d7ba
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [edx + 0x14], eax
mov dword [esp + 0x14], 0
test eax, eax
je 0x59d7ba
mov eax, edi
sub eax, ecx
add eax, 4
mov dword [esp + 0x28], eax
cmp eax, esi
jbe 0x59d6ac
xor ecx, ecx
jmp 0x59d6b8
mov ecx, dword [edi]
add edi, 4
add eax, 4
mov dword [esp + 0x28], eax
cmp eax, esi
jbe 0x59d6c0
xor edx, edx
jmp 0x59d6cc
mov edx, dword [edi]
add edi, 4
add eax, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1f0], edx
cmp eax, esi
jbe 0x59d6df
xor edx, edx
jmp 0x59d6eb
mov edx, dword [edi]
add edi, 4
add eax, 4
mov dword [esp + 0x28], eax
mov esi, dword [ebp + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x1f4], edx
imul edx, ecx, 0xdc
mov esi, dword [esi + 0x18]
test byte [edx + esi + 0x5c], 2
mov esi, dword [esp + 0x38]
jne 0x59d749
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
mov eax, dword [esp + 0x28]
add ecx, 0xd0
add ecx, edx
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x59d73e
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov esi, dword [esp + 0x1c]
mov dword [edx + 4], esi
add dword [ecx + 4], 8
mov esi, dword [esp + 0x38]
jmp 0x59d79a
lea eax, [esp + 0x1f0]
push eax
push edx
jmp 0x59d791
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
cmp eax, edx
je 0x59d796
cmp dword [eax + 0x58], ecx
jne 0x59d761
cmp dword [eax + 0x5c], 0
je 0x59d76a
add eax, 0x6c
cmp eax, edx
jne 0x59d756
jmp 0x59d796
lea ecx, [eax + 0x60]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x59d788
mov edx, dword [esp + 0x18]
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
add dword [ecx + 4], 8
jmp 0x59d796
lea edx, [esp + 0x1f0]
push edx
push eax
call fcn.0042c460
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
inc edx
mov dword [esp + 0x14], edx
cmp edx, dword [ecx + 0x14]
jb 0x59d6a4
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], edi
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x59d7c9
xor eax, eax
jmp 0x59d7d3
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
movzx eax, ax
lea ecx, [edx + 0x60]
push eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x68], ecx
call fcn.004e6f70
mov ecx, dword [ebp + 8]
add ecx, 0x6c
mov dword [esp + 0x1c], ecx
lea eax, [ecx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [eax]
mov edx, eax
sub edx, dword [ecx]
sar edx, 5
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edx
cmp dword [esp + 0x48], edx
jae 0x59d86b
mov edx, dword [esp + 0x48]
shl edx, 5
add edx, dword [ecx]
mov dword [esp + 0x14], edx
cmp edx, eax
je 0x59d853
mov esi, edx
mov edi, eax
mov ecx, esi
call fcn.00563eb0
add esi, 0x20
cmp esi, edi
jne 0x59d824
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x2c]
lea ecx, [eax + 0x6c]
lea edx, [eax + 0x60]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x14]
mov dword [esi], eax
mov esi, dword [esp + 0x38]
jmp 0x59d8a8
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
mov dword [esi], eax
mov esi, dword [esp + 0x38]
jmp 0x59d8a8
jbe 0x59d8a4
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
mov edx, dword [esp + 0x48]
sar eax, 5
push ecx
cmp edx, eax
jbe 0x59d886
push edx
call fcn.005a2ad0
jmp 0x59d89c
sub edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x50]
call fcn.005a2c20
mov ecx, dword [esp + 0x5c]
add esp, 4
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x59d8eb
lea eax, [ecx*4]
mov dword [esp + 0x14], eax
sub eax, dword [esp + 0x30]
add eax, edi
cmp eax, esi
ja 0x59d8e7
push dword [esp + 0x14]
push edi
push dword [edx]
call fcn.005c3580
add edi, dword [esp + 0x20]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x84], eax
jmp 0x59d8fc
mov ecx, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x84], eax
test ecx, ecx
je 0x59db13
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dword [esp + 0x70], edx
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x59d915
xor eax, eax
jmp 0x59d91f
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
mov dword [esp + 0x6c], eax
movzx eax, ax
mov dword [esp + 0x58], 0
test eax, eax
je 0x59daf3
movq xmm0, qword [esp + 0x1f8]
mov eax, edi
sub eax, ecx
lea ecx, [eax + 0xc]
add eax, 4
mov dword [esp + 0x60], ecx
mov dword [esp + 0x28], eax
cmp eax, esi
jbe 0x59d959
xor edx, edx
jmp 0x59d970
mov edx, dword [edi]
add edi, 4
add eax, 4
mov dword [esp + 0x2c], edi
add ecx, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], ecx
cmp ecx, esi
ja 0x59d9a4
mov esi, dword [edi + 8]
add eax, 0xc
movq xmm0, qword [edi]
add edi, 0xc
add ecx, 0xc
mov dword [esp + 0x1e4], esi
mov esi, dword [esp + 0x38]
movq qword [esp + 0x1f8], xmm0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov eax, dword [eax]
add eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x18]
push eax
call fcn.0043a9b0
mov ecx, dword [esp + 0x64]
push eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1f0]
push eax
call fcn.004301e0
mov eax, dword [esp + 0x1ec]
test eax, eax
jne 0x59dabc
mov eax, dword [esp + 0x64]
cmp dword [eax + 8], 0xaaaaaaa
je 0x5a0c88
push 0x18
call fcn.005ab82c
mov ecx, dword [esp + 0x1c]
xorps xmm0, xmm0
mov dword [esp + 0x18], eax
add esp, 4
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
movq qword [eax + 0xc], xmm0
mov dword [eax + 0x14], 0
mov eax, dword [ecx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
mov eax, dword [ecx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x739f30]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ecx]
jbe 0x59da9e
call fcn.00562f40
push dword [esp + 0x4c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x68]
add eax, 8
push eax
lea eax, [esp + 0xf4]
push eax
call fcn.004301e0
mov ecx, dword [esp + 0x64]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], eax
jmp 0x59daa5
mov edx, dword [esp + 0x1e8]
push dword [esp + 0x14]
push edx
push dword [esp + 0x54]
call fcn.0040fa90
movq xmm0, qword [esp + 0x1f8]
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x58]
movq qword [eax + 0xc], xmm0
inc edx
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x6c]
movzx eax, cx
mov ecx, dword [esp + 0x60]
cmp edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], edx
jl 0x59d951
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
add edx, 0x20
inc eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x84], eax
cmp eax, dword [esp + 0x48]
jl 0x59d906
mov edx, dword [esp + 0x30]
mov eax, edi
sub eax, edx
add eax, 2
cmp eax, esi
jbe 0x59db26
xor eax, eax
jmp 0x59db30
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
movzx eax, ax
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
add eax, 0x78
mov dword [esp + 0x60], eax
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
imul ecx, eax, 0xb6db6db7
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x59db92
mov ecx, eax
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x60]
push ecx
mov edx, dword [ecx]
lea esi, [edx + eax*4]
mov eax, ecx
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.00562dc0
mov ecx, dword [esp + 0x64]
add esp, 4
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 4], esi
mov esi, dword [esp + 0x38]
jmp 0x59dbcd
jbe 0x59dbc9
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
push ecx
mov eax, dword [eax + 8]
sub eax, dword [esi]
mov esi, dword [esp + 0x3c]
sar eax, 2
imul eax, eax, 0xb6db6db7
cmp edx, eax
jbe 0x59dbfd
mov ecx, dword [esp + 0x64]
push edx
call fcn.005a2840
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x98], 0
test eax, eax
je 0x59e21f
xor eax, eax
mov dword [esp + 0x5c], eax
mov ecx, dword [ecx]
add ecx, eax
mov eax, edi
sub eax, edx
mov dword [esp + 0x28], ecx
add eax, 4
cmp eax, esi
jbe 0x59dc1f
xor eax, eax
jmp 0x59dc28
mov eax, dword [esp + 0x64]
sub edx, ecx
mov ecx, dword [eax + 4]
call fcn.005a2a50
mov ecx, dword [esp + 0x64]
add esp, 4
mov edx, dword [esp + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x1c]
jmp 0x59dbcd
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x98]
mov dword [ecx], eax
imul ecx, eax, 0xdc
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ecx + eax + 0xcc], esi
mov eax, edi
mov esi, dword [esp + 0x38]
sub eax, edx
add eax, 4
cmp eax, esi
ja 0x59dde3
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x84], 0
test eax, eax
je 0x59dde3
mov eax, 4
sub eax, edx
mov dword [esp + 0x24], eax
add eax, edi
cmp eax, esi
jbe 0x59dc8c
xor eax, eax
jmp 0x59dc95
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
imul edx, eax, 0x6c
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x30]
mov eax, dword [edx + ecx + 0x60]
cmp eax, dword [edx + ecx + 0x64]
je 0x59ddc2
mov eax, dword [esp + 0x28]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x58], edx
cmp edx, ecx
je 0x59dcd1
mov ecx, dword [esp + 0x70]
mov dword [edx], ecx
add dword [eax + 0x14], 4
jmp 0x59ddc2
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
mov eax, edx
mov edx, dword [esp + 0x20]
sub eax, edx
sar eax, 2
mov dword [esp + 0x4c], eax
cmp eax, 0x3fffffff
je 0x5a0c97
sub ecx, edx
inc eax
sar ecx, 2
mov dword [esp + 0x88], eax
mov edx, ecx
shr edx, 1
mov eax, 0x3fffffff
sub eax, edx
cmp ecx, eax
jbe 0x59dd15
mov eax, 0x3fffffff
jmp 0x59dd27
lea eax, [ecx + edx]
cmp eax, dword [esp + 0x88]
cmovb eax, dword [esp + 0x88]
lea edx, [esp + 0x20]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x20], eax
call fcn.0042c790
mov ecx, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x8c], edx
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
cmp eax, ecx
jne 0x59dd6c
mov eax, dword [esp + 0x14]
sub ecx, eax
push ecx
push eax
jmp 0x59dd9b
mov ecx, dword [esp + 0x14]
sub eax, ecx
push eax
push ecx
push edx
call fcn.005c3580
mov eax, dword [esp + 0x58]
add esp, 0xc
mov ecx, dword [esp + 0x8c]
inc eax
lea edx, [ecx + eax*4]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x14]
sub eax, ecx
push eax
push ecx
push edx
call fcn.005c3580
mov ecx, dword [esp + 0x34]
add esp, 0xc
push dword [esp + 0x6c]
lea ecx, [ecx + 0x10]
push dword [esp + 0x8c]
push dword [esp + 0x94]
call fcn.0042cb00
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x84], ecx
cmp ecx, dword [esp + 0x54]
jb 0x59dc82
mov edx, dword [esp + 0x30]
mov eax, edi
sub eax, edx
add eax, 2
cmp eax, esi
jbe 0x59ddf2
xor eax, eax
jmp 0x59ddfc
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
mov edx, dword [esp + 0x28]
add edx, 4
movzx eax, ax
mov dword [esp + 0x48], eax
mov dword [esp + 0x54], edx
mov ecx, dword [edx + 4]
mov eax, ecx
sub eax, dword [edx]
sar eax, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
cmp dword [esp + 0x48], eax
jae 0x59de9c
mov eax, dword [esp + 0x48]
shl eax, 4
add eax, dword [edx]
mov dword [esp + 0x14], eax
cmp eax, ecx
je 0x59de5f
mov esi, eax
mov edi, ecx
nop dword [eax + eax]
lea ecx, [esi + 4]
call fcn.00564940
add esi, 0x10
cmp esi, edi
jne 0x59de40
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x48], 0
mov dword [esp + 0x74], 0
jbe 0x59e1f5
xor eax, eax
mov dword [esp + 0x40], eax
nop
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x30]
add edx, eax
mov eax, edi
mov dword [esp + 0x64], edx
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ded3
xor eax, eax
jmp 0x59dedc
jbe 0x59de62
mov eax, dword [edx + 8]
sub eax, dword [edx]
sar eax, 4
push ecx
cmp dword [esp + 0x4c], eax
jbe 0x59deba
push dword [esp + 0x4c]
mov ecx, edx
call fcn.005a2d10
jmp 0x59de62
mov edx, dword [esp + 0x4c]
sub edx, dword [esp + 0x28]
call fcn.005a2eb0
mov ecx, dword [esp + 0x2c]
add esp, 4
mov dword [ecx + 8], eax
jmp 0x59de66
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [edx], eax
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x59deed
xor eax, eax
jmp 0x59def7
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x2c], edi
movzx edx, ax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x70], eax
mov eax, ecx
sub eax, dword [esp + 0x70]
sar eax, 2
imul eax, eax, 0xb6db6db7
mov dword [esp + 0x20], ecx
mov dword [esp + 0x54], eax
cmp edx, eax
jae 0x59df6a
lea eax, [edx*8]
sub eax, edx
mov edx, dword [esp + 0x70]
lea eax, [edx + eax*4]
mov dword [esp + 0x14], eax
cmp eax, ecx
je 0x59df61
mov esi, eax
mov edi, ecx
lea ecx, [esi + 0x10]
call fcn.00427a90
add esi, 0x1c
cmp esi, edi
jne 0x59df46
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x64]
mov dword [edx + 8], eax
jmp 0x59df9a
jbe 0x59df96
mov esi, dword [esp + 0x64]
push ecx
mov eax, dword [esi + 0xc]
sub eax, dword [esp + 0x74]
mov esi, dword [esp + 0x3c]
sar eax, 2
imul eax, eax, 0xb6db6db7
cmp edx, eax
jbe 0x59dfdc
mov ecx, dword [esp + 0x68]
push edx
lea ecx, [ecx + 4]
call fcn.005a2ef0
mov edx, dword [esp + 0x64]
cmp word [esp + 0x8c], 0
mov dword [esp + 0x6c], 0
je 0x59e1d3
xor eax, eax
mov dword [esp + 0x88], eax
nop word [eax + eax]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x30]
add edx, eax
mov eax, edi
mov dword [esp + 0x58], edx
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59dff1
xor eax, eax
jmp 0x59dff6
sub edx, dword [esp + 0x58]
call fcn.005a30e0
mov edx, dword [esp + 0x68]
add esp, 4
mov dword [edx + 8], eax
jmp 0x59df9a
mov eax, dword [edi]
add edi, 4
mov dword [edx], eax
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59e007
xor eax, eax
jmp 0x59e00c
mov eax, dword [edi]
add edi, 4
mov dword [edx + 4], eax
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59e01f
xorps xmm0, xmm0
jmp 0x59e026
movss xmm0, dword [edi]
add edi, 4
mov eax, edi
movss dword [edx + 8], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59e03b
xorps xmm0, xmm0
jmp 0x59e042
movss xmm0, dword [edi]
add edi, 4
mov eax, edi
movss dword [edx + 0xc], xmm0
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x59e056
xor eax, eax
jmp 0x59e05c
movzx eax, word [edi]
add edi, 2
movzx edx, ax
mov eax, dword [esp + 0x58]
add eax, 0x10
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], eax
mov esi, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov eax, esi
sub eax, dword [esp + 0x70]
sar eax, 2
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
cmp edx, eax
jae 0x59e09f
mov eax, dword [esp + 0x70]
lea eax, [eax + edx*4]
jmp 0x59e166
jbe 0x59e171
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 8]
sub ecx, dword [esp + 0x70]
sar ecx, 2
cmp edx, ecx
jbe 0x59e136
mov esi, ecx
mov eax, 0x3fffffff
shr esi, 1
sub eax, esi
cmp ecx, eax
jbe 0x59e0cd
mov eax, 0x3fffffff
jmp 0x59e0d5
lea eax, [esi + ecx]
cmp eax, edx
cmovb eax, edx
lea edx, [esp + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
call fcn.0042c790
mov ecx, dword [esp + 0x18]
mov esi, eax
mov eax, dword [esp + 0x4c]
sub ecx, eax
shl ecx, 2
push ecx
push 0
lea edx, [esi + eax*4]
push edx
call fcn.005c3040
mov eax, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
push eax
push edx
push esi
call fcn.005c3580
mov ecx, dword [esp + 0x38]
add esp, 0xc
push dword [esp + 0x14]
push dword [esp + 0x1c]
push esi
call fcn.0042cb00
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
jmp 0x59e16d
mov eax, edx
sub eax, dword [esp + 0x4c]
lea esi, [eax*4]
push esi
push 0
push dword [esp + 0x8c]
call fcn.005c3040
mov eax, dword [esp + 0x90]
add esp, 0xc
mov edx, dword [esp + 0x18]
add eax, esi
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x30]
test edx, edx
je 0x59e19b
shl edx, 2
mov eax, edx
mov dword [esp + 0x20], edx
sub eax, ecx
add eax, edi
cmp eax, esi
ja 0x59e19b
mov eax, dword [esp + 0x58]
push edx
push edi
push dword [eax + 0x10]
call fcn.005c3580
add esp, 0xc
add edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x88]
inc ecx
mov esi, dword [esp + 0x8c]
add eax, 0x1c
movzx edx, si
mov esi, dword [esp + 0x38]
cmp ecx, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x88], eax
jl 0x59dfc0
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
inc ecx
add eax, 0x10
mov dword [esp + 0x74], ecx
cmp ecx, dword [esp + 0x48]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], eax
jl 0x59de80
mov eax, dword [esp + 0x98]
add dword [esp + 0x5c], 0x1c
inc eax
cmp eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x5c]
jl 0x59dbe6
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59e3d0
mov al, byte [edi]
inc edi
test al, al
je 0x59e3d0
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x38]
add edx, 0xc4
mov dword [esp + 0x5c], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
sub eax, dword [edx]
sar eax, 2
imul eax, eax, 0x286bca1b
mov dword [esp + 0x74], eax
cmp dword [esp + 0x44], eax
jae 0x59e274
imul eax, dword [esp + 0x44], 0x4c
add eax, dword [edx]
jmp 0x59e342
mov ecx, dword [esp + 0x30]
jbe 0x59e345
mov eax, dword [edx + 8]
sub eax, dword [edx]
sar eax, 2
imul edx, eax, 0x286bca1b
mov eax, dword [esp + 0x44]
cmp eax, edx
jbe 0x59e327
cmp eax, 0x35e50d7
ja 0x5a0c92
mov ecx, edx
mov eax, 0x35e50d7
shr ecx, 1
sub eax, ecx
cmp edx, eax
jbe 0x59e2b9
mov eax, 0x35e50d7
jmp 0x59e2c5
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
cmovb eax, ecx
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
call fcn.0056ff80
mov edx, dword [esp + 0x44]
mov esi, eax
sub edx, dword [esp + 0x74]
push ecx
imul ecx, dword [esp + 0x78], 0x4c
add ecx, esi
call fcn.005a2770
mov eax, dword [esp + 0x60]
add esp, 4
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
push eax
push edx
push esi
call fcn.005c3580
mov ecx, dword [esp + 0x68]
add esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x48]
push esi
call fcn.0056fe40
mov edx, dword [ebp + 8]
mov esi, dword [esp + 0x38]
add edx, 0xc4
mov ecx, dword [esp + 0x30]
jmp 0x59e345
mov edx, eax
sub edx, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.005a2770
mov edx, dword [esp + 0x60]
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword [edx + 4], eax
mov eax, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x54], eax
cmp edx, eax
je 0x59e3d0
mov eax, edi
sub eax, ecx
lea ecx, [eax + 0x40]
add eax, 0xc
mov dword [esp + 0x20], eax
mov eax, ecx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
nop word [eax + eax]
cmp ecx, esi
ja 0x59e393
movq xmm0, qword [edi]
add ecx, 0xc
movq qword [edx], xmm0
mov eax, dword [edi + 8]
add edi, 0xc
mov dword [edx + 8], eax
mov eax, dword [esp + 0x18]
add eax, 0xc
mov dword [esp + 0x18], eax
cmp eax, esi
ja 0x59e3c3
movups xmm0, xmmword [edi]
add ecx, 0x40
movups xmmword [edx + 0xc], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [edx + 0x1c], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [edx + 0x2c], xmm0
movups xmm0, xmmword [edi + 0x30]
add edi, 0x40
add eax, 0x40
mov dword [esp + 0x18], eax
movups xmmword [edx + 0x3c], xmm0
add edx, 0x4c
cmp edx, dword [esp + 0x54]
jne 0x59e370
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59e571
mov al, byte [edi]
inc edi
test al, al
je 0x59e571
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x30]
add eax, 0xe8
mov dword [esp + 0x48], eax
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x74], edx
sub edx, dword [eax]
sar edx, 2
mov dword [esp + 0x54], edx
cmp dword [esp + 0x44], edx
jae 0x59e42f
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x48], edx
mov dword [edx + 4], eax
jmp 0x59e511
mov esi, dword [esp + 0x38]
jbe 0x59e511
mov ecx, dword [eax + 8]
sub ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
sar ecx, 2
cmp esi, ecx
jbe 0x59e4de
cmp esi, 0x3fffffff
ja 0x5a0c97
mov edx, ecx
mov eax, 0x3fffffff
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x59e471
mov eax, 0x3fffffff
jmp 0x59e479
lea eax, [edx + ecx]
cmp eax, esi
cmovb eax, esi
lea edx, [esp + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], eax
call fcn.0042c790
mov ecx, dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x54]
sub ecx, eax
shl ecx, 2
push ecx
push 0
lea edx, [esi + eax*4]
push edx
call fcn.005c3040
mov eax, dword [esp + 0x54]
add esp, 0xc
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
push eax
push edx
push esi
call fcn.005c3580
mov ecx, dword [esp + 0x54]
add esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x48]
push esi
call fcn.0042cb00
mov eax, dword [ebp + 8]
add eax, 0xe8
mov dword [esp + 0x48], eax
jmp 0x59e509
mov eax, esi
sub eax, edx
lea esi, [eax*4]
push esi
push 0
push dword [esp + 0x7c]
call fcn.005c3040
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov eax, dword [esp + 0x74]
add eax, esi
mov dword [esp + 0x48], ecx
mov dword [ecx + 4], eax
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
xor edx, edx
test eax, eax
jle 0x59e571
mov eax, 4
sub eax, ecx
mov dword [esp + 0x54], eax
add eax, edi
cmp eax, esi
jbe 0x59e536
mov dword [esp + 0x40], 0
jmp 0x59e53f
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x40]
mov eax, dword [ecx]
mov dword [eax + edx*4], esi
mov ecx, dword [ecx]
mov esi, dword [esp + 0x44]
dec esi
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + edx*4]
cmp eax, esi
cmova eax, esi
mov esi, dword [esp + 0x38]
mov dword [ecx + edx*4], eax
inc edx
mov eax, dword [esp + 0x54]
cmp edx, dword [esp + 0x44]
jl 0x59e526
mov eax, dword [esp + 0x68]
cmp eax, 3
jl 0x59e6f4
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59e6f4
cmp byte [edi], 0
je 0x59e6f4
mov eax, dword [ebp + 8]
add eax, 0xf4
mov dword [esp + 0x28], eax
mov edx, dword [eax + 4]
mov dword [esp + 0x5c], edx
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x5c]
sub edx, dword [eax]
sar edx, 2
mov dword [esp + 0x54], edx
cmp dword [esp + 0x44], edx
jae 0x59e5d4
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
lea eax, [eax + edx*4]
jmp 0x59e6ab
jbe 0x59e6b8
mov ecx, dword [eax + 8]
sub ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
sar ecx, 2
cmp esi, ecx
jbe 0x59e683
cmp esi, 0x3fffffff
ja 0x5a0c9c
mov edx, ecx
mov eax, 0x3fffffff
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x59e612
mov eax, 0x3fffffff
jmp 0x59e61a
lea eax, [edx + ecx]
cmp eax, esi
cmovb eax, esi
lea edx, [esp + 0x20]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], eax
call fcn.0042c790
mov ecx, dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x54]
sub ecx, eax
shl ecx, 2
push ecx
push 0
lea edx, [esi + eax*4]
push edx
call fcn.005c3040
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
push eax
push edx
push esi
call fcn.005c3580
mov ecx, dword [esp + 0x34]
add esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x48]
push esi
call fcn.0042cb00
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x38]
add eax, 0xf4
mov ecx, dword [esp + 0x30]
jmp 0x59e6b4
mov eax, esi
sub eax, edx
lea esi, [eax*4]
push esi
push 0
push dword [esp + 0x64]
call fcn.005c3040
mov eax, dword [esp + 0x68]
add esp, 0xc
mov ecx, dword [esp + 0x30]
add eax, esi
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, edx
mov dword [esp + 0x28], eax
xor edx, edx
cmp dword [esp + 0x44], edx
jle 0x59e6f4
mov eax, 8
add edi, 0xfffffffd
sub eax, ecx
mov dword [esp + 0x20], eax
nop
add eax, edi
cmp eax, esi
jbe 0x59e6da
xor ecx, ecx
jmp 0x59e6e0
mov ecx, dword [edi + 4]
add edi, 4
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [eax + edx*4], ecx
inc edx
mov eax, dword [esp + 0x20]
cmp edx, dword [esp + 0x44]
jl 0x59e6d0
mov edi, dword [esp + 0x50]
jmp 0x5a0bf4
cmp dword [esp + 0x10c], 0xf
push 4
cmova eax, dword [esp + 0xfc]
push str.MDLA0006
push eax
call fcn.005d7c20
add esp, 0xc
test eax, eax
lea eax, [esp + 0xf8]
jne 0x5a074a
cmp dword [esp + 0x10c], 0xf
cmova eax, dword [esp + 0xf8]
add eax, 4
push eax
call fcn.005cef57
mov edx, dword [esp + 0x34]
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x68], eax
add ecx, 4
add esp, 4
cmp ecx, esi
jbe 0x59e75f
xor ecx, ecx
jmp 0x59e764
mov ecx, dword [edi]
add edi, 4
lea eax, [edx + ecx]
mov dword [esp + 0x3c], eax
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x59e77a
xor eax, eax
jmp 0x59e77f
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x54], 0
test eax, eax
jle 0x5a0708
nop dword [eax]
nop word [eax + eax]
xorps xmm0, xmm0
mov dword [esp + 0x128], 0
mov eax, edi
mov dword [esp + 0x12c], 0xf
sub eax, edx
mov dword [esp + 0x140], 0
add eax, 8
mov dword [esp + 0x144], 0xf
mov dword [esp + 0x150], 0
movq qword [esp + 0x154], xmm0
mov dword [esp + 0x15c], 0
movq qword [esp + 0x160], xmm0
mov dword [esp + 0x168], 0
mov dword [esp + 0x1dc], 0
movups xmmword [esp + 0x118], xmm0
mov byte [esp + 0x118], 0
movups xmmword [esp + 0x130], xmm0
mov byte [esp + 0x130], 0
movups xmmword [esp + 0x16c], xmm0
movups xmmword [esp + 0x17c], xmm0
movups xmmword [esp + 0x18c], xmm0
movups xmmword [esp + 0x19c], xmm0
movups xmmword [esp + 0x1ac], xmm0
movups xmmword [esp + 0x1bc], xmm0
movups xmmword [esp + 0x1cc], xmm0
cmp eax, esi
jbe 0x59e880
movlpd qword [esp + 0x78], xmm0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
jmp 0x59e888
mov ecx, dword [edi]
add edi, 8
mov eax, dword [edi - 4]
mov dword [esp + 0x114], eax
mov eax, edi
mov dword [esp + 0x110], ecx
cmp byte [edi], 0
je 0x59e8be
mov ecx, edi
sub ecx, edx
mov edx, edi
mov dword [esp + 0x24], eax
mov eax, edx
cmp ecx, esi
jae 0x59e8ba
mov eax, dword [esp + 0x24]
inc ecx
inc eax
mov edx, eax
cmp byte [eax], 0
jne 0x59e8a3
mov edx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x24], eax
sub eax, edx
cmp eax, esi
mov dword [esp + 0x50], eax
mov edx, 0x720774
cmovbe edx, edi
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x59e8d8
sub ecx, edi
push ecx
push edx
lea ecx, [esp + 0x120]
call fcn.0040c060
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
cmp byte [eax], 0
je 0x59e90b
mov ecx, dword [esp + 0x50]
cmp ecx, esi
jae 0x59e90b
inc eax
inc ecx
cmp byte [eax], 0
jne 0x59e900
lea edi, [eax + 1]
mov edx, 0x720774
mov eax, edi
mov dword [esp + 0x2c], edi
sub eax, dword [esp + 0x30]
cmp eax, esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], edi
cmovbe edx, dword [esp + 0x24]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x59e935
sub ecx, dword [esp + 0x24]
push ecx
push edx
lea ecx, [esp + 0x138]
call fcn.0040c060
mov eax, dword [esp + 0x50]
add eax, 4
cmp eax, esi
jbe 0x59e95e
xorps xmm0, xmm0
jmp 0x59e96d
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
movss dword [esp + 0x148], xmm0
add eax, 4
mov edx, edi
cmp eax, esi
jbe 0x59e98b
xor eax, eax
jmp 0x59e998
mov eax, dword [edx]
lea edi, [edx + 4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x14c], eax
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59e9ae
xor eax, eax
jmp 0x59e9bb
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x150], eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x44], 0
add eax, 4
cmp eax, esi
jbe 0x59e9e2
mov dword [esp + 0x60], 0
jmp 0x59ec0e
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], 0
test eax, eax
jle 0x59ec0e
mov dword [esp + 0x98], 0
mov dword [esp + 0x60], eax
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ea21
xor edx, edx
jmp 0x59ea2e
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov eax, edi
mov dword [esp + 0x18], edx
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ea41
xor eax, eax
jmp 0x59ea4e
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], eax
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59ea64
mov dword [esp + 0x5c], 0
jmp 0x59ea78
mov eax, edi
mov edi, dword [esp + 0x40]
add edi, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
add eax, dword [esp + 0x98]
test byte [eax + 0x5c], 2
je 0x59eaa3
cmp dword [eax + 0xcc], 0xffffffff
jne 0x59eaa3
test dl, 1
jne 0x59ea9c
or edx, 2
or edx, 1
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0x180]
mov eax, dword [esp + 0x184]
cmp esi, eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x24], eax
je 0x59eae3
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x40]
mov dword [eax], edx
mov eax, dword [esp + 0x5c]
mov dword [esi + 4], eax
add dword [esp + 0x180], 8
mov esi, dword [esp + 0x38]
jmp 0x59ebd8
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x74], eax
sub eax, edx
sar eax, 3
mov dword [esp + 0x40], eax
cmp eax, 0x1fffffff
je 0x5a0ca1
mov ecx, dword [esp + 0x24]
inc eax
sub ecx, edx
mov dword [esp + 0x4c], eax
sar ecx, 3
mov eax, 0x1fffffff
mov edx, ecx
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x59eb2d
mov eax, 0x1fffffff
jmp 0x59eb39
lea eax, [edx + ecx]
cmp eax, dword [esp + 0x4c]
cmovb eax, dword [esp + 0x4c]
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
call fcn.0043f280
mov ecx, dword [esp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], edx
mov dword [edx + eax*8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [edx + eax*8 + 4], ecx
mov ecx, dword [esp + 0x180]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x59eb7c
mov eax, dword [esp + 0x17c]
sub ecx, eax
push ecx
push eax
push edx
jmp 0x59ebb0
mov ecx, eax
mov eax, dword [esp + 0x17c]
sub ecx, eax
push ecx
push eax
push edx
call fcn.005c3580
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x74]
lea ecx, [ecx + eax*8]
mov eax, dword [esp + 0x180]
add ecx, 8
sub eax, edx
push eax
push edx
push ecx
call fcn.005c3580
add esp, 0xc
lea ecx, [esp + 0x17c]
push dword [esp + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x60]
call fcn.004b7870
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
test dl, 1
je 0x59ebe8
or dword [esp + 0x150], 0x80000000
mov edx, dword [esp + 0x6c]
add dword [esp + 0x98], 0xdc
inc edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x44], 0
cmp edx, dword [esp + 0x60]
jl 0x59ea12
cmp dword [esp + 0x64], 2
jl 0x59ef6f
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x34]
sub eax, dword [ecx + 0x30]
mov ecx, dword [esp + 0x188]
sar eax, 2
imul edx, eax, 0x684bda13
mov eax, dword [esp + 0x18c]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], edx
cmp edx, eax
jae 0x59ec52
lea eax, [ecx + edx*8]
jmp 0x59ed1f
jbe 0x59ed26
mov esi, dword [esp + 0x190]
sub esi, ecx
mov ecx, esi
mov esi, dword [esp + 0x38]
sar ecx, 3
cmp edx, ecx
jbe 0x59ed02
cmp edx, 0x1fffffff
ja 0x5a0ca1
mov esi, ecx
mov eax, 0x1fffffff
shr esi, 1
sub eax, esi
cmp ecx, eax
jbe 0x59ec94
mov eax, 0x1fffffff
jmp 0x59ec9c
lea eax, [esi + ecx]
cmp eax, edx
cmovb eax, edx
lea edx, [esp + 0x40]
mov dword [esp + 0x40], eax
call fcn.0043f280
mov edx, dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x50]
sub edx, eax
lea ecx, [esi + eax*8]
push ecx
call fcn.004b1ef0
mov ecx, dword [esp + 0x190]
add esp, 4
mov eax, dword [esp + 0x188]
sub ecx, eax
push ecx
push eax
push esi
call fcn.005c3580
add esp, 0xc
lea ecx, [esp + 0x188]
push dword [esp + 0x40]
push dword [esp + 0x48]
push esi
call fcn.004b7870
mov ecx, dword [esp + 0x188]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
jmp 0x59ed26
push ecx
mov ecx, dword [esp + 0x190]
sub edx, eax
call fcn.004b1ef0
mov ecx, dword [esp + 0x18c]
add esp, 4
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18c], eax
xor eax, eax
test edx, edx
jle 0x59ee20
or dword [ecx + eax*8], 1
inc eax
cmp eax, edx
jge 0x59ed42
mov ecx, dword [esp + 0x188]
jmp 0x59ed30
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x98], 0
mov dword [esp + 0x60], eax
nop dword [eax]
mov eax, dword [esp + 0x188]
mov dword [esp + 0x14], eax
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ed80
mov dword [esp + 0x5c], 0
jmp 0x59ed8d
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x5c]
mov dword [esi + eax*8], edx
mov eax, edi
mov esi, dword [esp + 0x38]
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59edb2
xor eax, eax
jmp 0x59edbb
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], eax
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59edd1
mov dword [esp + 0x74], 0
jmp 0x59eddd
mov dword [esp + 0x74], edi
add edi, dword [esp + 0x40]
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov dword [edx + eax*8 + 4], esi
mov edx, dword [esp + 0x5c]
test dl, 1
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
je 0x59ee0c
or dword [esp + 0x150], 0x80000000
inc eax
mov dword [esp + 0x98], eax
cmp eax, edx
jl 0x59ed60
mov dword [esp + 0x2c], edi
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x198]
sub eax, ecx
sar eax, 3
mov dword [esp + 0x24], eax
cmp edx, eax
jae 0x59ee51
lea eax, [ecx + edx*8]
mov dword [esp + 0x198], eax
jmp 0x59ee98
jbe 0x59ee98
mov eax, dword [esp + 0x19c]
sub eax, ecx
sar eax, 3
push ecx
cmp edx, eax
jbe 0x59ee73
push edx
lea ecx, [esp + 0x19c]
call fcn.005a34a0
jmp 0x59ee8d
sub edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x19c]
call fcn.004b1ef0
add esp, 4
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x5c], edx
cmp dword [eax + 0x14], edx
jbe 0x59ef6f
nop word [eax + eax]
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59eec9
mov dword [esp + 0x40], 0
jmp 0x59eed6
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + edx*8], esi
mov eax, edi
mov esi, dword [esp + 0x38]
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59eef4
xor edx, edx
jmp 0x59eefd
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edx
mov dword [esp + 0x40], edx
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59ef15
mov dword [esp + 0x74], 0
jmp 0x59ef22
mov eax, edi
mov dword [esp + 0x74], eax
lea edi, [edx + eax]
mov dword [esp + 0x34], edi
push 4
push edx
call fcn.005d7dea
push dword [esp + 0x48]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x74]
push dword [esp + 0x80]
push eax
mov dword [edx + ecx*8 + 4], eax
call fcn.005c3580
mov edx, dword [esp + 0x70]
add esp, 0x14
mov eax, dword [ebp + 8]
inc edx
mov dword [esp + 0x5c], edx
cmp edx, dword [eax + 0x14]
jae 0x59ef6b
mov eax, dword [esp + 0x194]
mov dword [esp + 0x68], eax
jmp 0x59eeb0
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x150]
and eax, 0x401
cmp eax, 1
je 0x59f880
mov edx, dword [esp + 0x60]
mov ecx, edx
and ecx, 0x80000003
jns 0x59ef97
dec ecx
or ecx, 0xfffffffc
inc ecx
mov esi, dword [esp + 0x44]
mov eax, 4
sub eax, ecx
neg ecx
sbb ecx, ecx
and ecx, eax
add ecx, edx
mov edx, esi
mov dword [esp + 0x4c], ecx
and edx, 0x80000003
jns 0x59efbd
dec edx
or edx, 0xfffffffc
inc edx
mov eax, 4
sub eax, edx
neg edx
push 0x10
sbb edx, edx
and edx, eax
add edx, esi
lea esi, [ecx*4]
push esi
mov dword [esp + 0x70], edx
call fcn.005d7dea
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x154]
inc eax
imul eax, dword [esp + 0x54]
push 0x10
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.005d7dea
push esi
push 0
push dword [esp + 0x184]
mov dword [esp + 0x190], eax
call fcn.005c3040
mov eax, dword [esp + 0x168]
add esp, 0x1c
mov esi, dword [esp + 0x4c]
inc eax
imul eax, esi
lea eax, [eax + eax*4]
shl eax, 3
push eax
push 0
push dword [esp + 0x17c]
call fcn.005c3040
mov edx, dword [esp + 0x6c]
add esp, 0xc
xor ecx, ecx
mov dword [esp + 0x24], 0xffffffff
test edx, edx
jle 0x59f427
movss xmm0, dword [esp + 0x24]
nop dword [eax]
mov eax, dword [esp + 0x17c]
test byte [eax + ecx*8], 1
jne 0x59f079
mov eax, dword [esp + 0x16c]
movss dword [eax + ecx*4], xmm0
inc ecx
cmp ecx, edx
jl 0x59f060
mov edi, dword [esp + 0x60]
lea eax, [esi + esi*4]
add eax, eax
mov dword [esp + 0x60], edi
mov dword [esp + 0x78], eax
xor ecx, ecx
mov eax, dword [esp + 0x14c]
mov edx, esi
inc eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x40], eax
lea eax, [esi*4]
shl edx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], edx
nop dword [eax + eax]
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x17c]
mov dword [esp + 0xa8], 0
jbe 0x59f403
mov eax, dword [edi + ecx*8 + 4]
lea edi, [ecx + esi*8]
mov dword [esp + 0x18], eax
add edi, esi
lea eax, [ecx*4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x8c], eax
lea edx, [ecx + esi*2]
lea eax, [ecx + esi*8]
shl edi, 2
shl eax, 2
mov dword [esp + 0x58], eax
lea eax, [esi*8]
sub eax, esi
add eax, ecx
shl eax, 2
mov dword [esp + 0x40], eax
lea eax, [esi + esi*2]
lea eax, [ecx + eax*2]
shl eax, 2
mov dword [esp + 0x6c], eax
lea eax, [ecx + esi*4]
add eax, esi
shl eax, 2
mov dword [esp + 0x88], eax
lea eax, [ecx + esi*2]
add eax, esi
mov esi, dword [esp + 0x40]
shl eax, 2
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x18]
add eax, 0x14
shl edx, 2
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], edx
mov dword [esp + 0x70], eax
nop word [eax + eax]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x8c]
movss xmm1, dword [0x7398c0]
mov ecx, dword [eax]
mov eax, dword [esp + 0x174]
mov dword [edx + eax], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
mov ecx, dword [ecx - 0x10]
mov dword [eax + edx], ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x48]
mov ecx, dword [eax - 0xc]
mov eax, dword [esp + 0x174]
mov dword [eax + edx], ecx
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax - 8]
mulss xmm0, xmm1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [eax - 4]
mulss xmm0, xmm1
movss dword [esp + 0x40], xmm0
movss xmm0, dword [eax]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x98], xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x40]
cvtps2pd xmm0, xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xac], xmm0
movss xmm0, dword [esp + 0x74]
cvtps2pd xmm0, xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x94], xmm0
movsd xmm0, qword [esp + 0x98]
call fcn.006d3350
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x40]
cvtps2pd xmm0, xmm0
call fcn.006d3350
movss xmm1, dword [esp + 0x74]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x40], xmm0
cvtps2pd xmm0, xmm1
call fcn.006d3350
movss xmm7, dword [esp + 0x40]
xorps xmm3, xmm3
movss xmm4, dword [esp + 0xac]
movaps xmm6, xmm7
mulss xmm4, dword [esp + 0x94]
movss xmm5, dword [esp + 0x98]
mulss xmm7, dword [esp + 0x94]
movss xmm1, dword [esp + 0x98]
movss xmm2, dword [esp + 0x5c]
cvtsd2ss xmm3, xmm0
movss xmm0, dword [esp + 0x5c]
mulss xmm6, xmm3
mulss xmm3, dword [esp + 0xac]
mulss xmm0, xmm4
mulss xmm5, xmm6
mulss xmm2, xmm3
addss xmm5, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm7
mulss xmm1, xmm3
movss xmm3, dword [esp + 0x5c]
subss xmm2, xmm0
movaps xmm0, xmm3
mulss xmm3, xmm6
mulss xmm0, xmm7
addss xmm1, xmm0
movss xmm0, dword [esp + 0x98]
mulss xmm0, xmm4
subss xmm0, xmm3
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
add dword [esp + 0x18], 0x24
movss dword [eax + ecx], xmm5
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
movss dword [eax + ecx], xmm2
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x6c]
movss dword [eax + edx], xmm1
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x1c]
movss dword [eax + ecx], xmm0
mov ecx, dword [edx + 4]
mov eax, dword [esp + 0x174]
mov dword [eax + esi], ecx
mov ecx, dword [edx + 8]
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x58]
mov dword [eax + edx], ecx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x174]
mov ecx, dword [edx + 0xc]
add edx, 0x24
mov dword [eax + edi], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x1c], edx
inc ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0xa8], ecx
lea eax, [edx*4]
add dword [esp + 0x8c], eax
add esi, eax
add dword [esp + 0x70], eax
add edi, eax
add dword [esp + 0x48], eax
add dword [esp + 0x84], eax
add dword [esp + 0x28], eax
add dword [esp + 0x88], eax
add dword [esp + 0x6c], eax
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x14c]
inc eax
mov dword [esp + 0x40], eax
cmp ecx, eax
jb 0x59f170
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x14]
inc ecx
add edx, 4
add eax, 4
mov dword [esp + 0x90], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x14], eax
cmp ecx, dword [esp + 0x60]
jl 0x59f0c0
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x44], 0
jle 0x59f880
mov eax, dword [esp + 0x68]
push 0x10
lea esi, [eax*4]
push esi
call fcn.005d7dea
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x154]
inc eax
imul eax, dword [esp + 0x70]
push 0x10
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.005d7dea
push esi
push 0
push dword [esp + 0x188]
mov dword [esp + 0x194], eax
call fcn.005c3040
mov eax, dword [esp + 0x168]
add esp, 0x1c
inc eax
imul eax, dword [esp + 0x68]
lea eax, [eax + eax*4]
shl eax, 3
push eax
push 0
push dword [esp + 0x180]
call fcn.005c3040
mov esi, dword [esp + 0x50]
add esp, 0xc
xor ecx, ecx
nop dword [eax + eax]
mov eax, dword [esp + 0x188]
test byte [eax + ecx*8], 1
jne 0x59f4cf
mov eax, dword [esp + 0x170]
movss xmm0, dword [esp + 0x24]
movss dword [eax + ecx*4], xmm0
inc ecx
cmp ecx, esi
jl 0x59f4b0
mov esi, dword [esp + 0x68]
xor ecx, ecx
mov edx, esi
mov dword [esp + 0x90], ecx
lea eax, [esi + esi*4]
add eax, eax
lea edi, [esi*4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14c]
inc eax
mov dword [esp + 0x48], edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x60]
shl edx, 4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa8], edx
nop dword [eax]
cmp dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
jbe 0x59f85b
mov eax, dword [esp + 0x188]
lea edi, [ecx + esi*8]
add edi, esi
mov dword [esp + 0x8c], edx
shl edi, 2
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x58], eax
lea eax, [ecx + esi*8]
shl eax, 2
mov dword [esp + 0x18], eax
lea eax, [esi*8]
sub eax, esi
add eax, ecx
shl eax, 2
mov dword [esp + 0x78], eax
lea eax, [esi + esi*2]
lea eax, [ecx + eax*2]
shl eax, 2
mov dword [esp + 0x84], eax
lea eax, [ecx + esi*4]
add eax, esi
shl eax, 2
mov dword [esp + 0x70], eax
lea eax, [ecx + esi*2]
add eax, esi
shl eax, 2
mov dword [esp + 0x98], eax
lea eax, [ecx + esi*2]
mov esi, dword [esp + 0x78]
shl eax, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x88], eax
lea eax, [ecx*4]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
lea edx, [ecx + 0x14]
mov dword [esp + 0x28], edx
nop word [eax + eax]
mov eax, dword [esp + 0x178]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x6c]
movss xmm1, dword [0x7398c0]
mov dword [edx + eax], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x178]
mov ecx, dword [edx - 0x10]
mov edx, dword [esp + 0x88]
mov dword [edx + eax], ecx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x178]
mov ecx, dword [edx - 0xc]
mov edx, dword [esp + 0x5c]
mov dword [edx + eax], ecx
mov edx, dword [esp + 0x28]
movss xmm0, dword [edx - 8]
mulss xmm0, xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edx - 4]
mulss xmm0, xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edx]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x78], xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x50]
cvtps2pd xmm0, xmm0
call fcn.006d3190
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xac], xmm0
movsd xmm0, qword [esp + 0x78]
call fcn.006d3350
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x24]
cvtps2pd xmm0, xmm0
call fcn.006d3350
movss xmm1, dword [esp + 0x50]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x78], xmm0
cvtps2pd xmm0, xmm1
call fcn.006d3350
movss xmm4, dword [esp + 0x78]
movss xmm7, dword [esp + 0x94]
movaps xmm3, xmm4
mulss xmm7, dword [esp + 0xac]
mov eax, dword [esp + 0x178]
movss xmm6, dword [esp + 0x40]
mulss xmm4, dword [esp + 0xac]
cvtsd2ss xmm0, xmm0
mulss xmm3, xmm0
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm7
mulss xmm0, dword [esp + 0x4c]
movaps xmm2, xmm3
mulss xmm7, xmm6
mulss xmm3, dword [esp + 0x4c]
mulss xmm2, xmm6
subss xmm7, xmm3
addss xmm2, xmm0
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [esp + 0x94]
movaps xmm5, xmm0
movss dword [esp + 0x14], xmm0
movaps xmm1, xmm5
movaps xmm0, xmm4
mulss xmm1, dword [esp + 0x4c]
mulss xmm4, dword [esp + 0x4c]
mulss xmm0, xmm6
mulss xmm5, xmm6
subss xmm1, xmm0
addss xmm5, xmm4
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x70]
inc dword [esp + 0x1c]
movss dword [eax + ecx], xmm2
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x8c]
movss dword [eax + ecx], xmm1
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x84]
movss dword [eax + edx], xmm5
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x18]
movss dword [eax + ecx], xmm7
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 4]
mov dword [eax + esi], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x178]
mov dword [eax + edx], ecx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
add dword [esp + 0x28], 0x24
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x178]
mov dword [eax + edi], ecx
lea eax, [edx*4]
add dword [esp + 0x6c], eax
add esi, eax
add dword [esp + 0x88], eax
add edi, eax
add dword [esp + 0x5c], eax
add dword [esp + 0x98], eax
add dword [esp + 0x8c], eax
add dword [esp + 0x70], eax
add dword [esp + 0x84], eax
add dword [esp + 0x18], eax
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14c]
add ecx, 0x24
inc eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x24], eax
cmp dword [esp + 0x1c], eax
jb 0x59f5d0
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x48]
inc ecx
add edx, 4
add edi, 4
mov dword [esp + 0x90], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x48], edi
cmp ecx, eax
jl 0x59f520
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0x64], 3
jl 0x59fbd1
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, dword [esp + 0x38]
jbe 0x59f8a6
mov dword [esp + 0x1c], 0
jmp 0x59f8b3
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1a4]
mov esi, eax
mov edx, dword [esp + 0x1a0]
sub esi, edx
sar esi, 2
cmp dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], edx
jae 0x59f8ea
mov eax, dword [esp + 0x1c]
lea eax, [edx + eax*4]
jmp 0x59f969
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
jbe 0x59f970
mov eax, dword [esp + 0x1a8]
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 2
cmp edx, eax
jbe 0x59f932
push ecx
push edx
lea ecx, [esp + 0x1a8]
call fcn.005a3380
mov edx, dword [esp + 0x1a0]
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jmp 0x59f970
mov ecx, dword [esp + 0x50]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
lea eax, [ecx + edx*4]
sub eax, ecx
push eax
push 0
push ecx
call fcn.005c3040
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x1a0]
mov dword [esp + 0x18], edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1a4], eax
sub eax, edx
mov dword [esp + 0x14], 0
sar eax, 2
test eax, eax
je 0x59fa24
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
ja 0x59f997
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59f9a6
xor edx, edx
jmp 0x59f9af
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edx
mov dword [esp + 0x24], edx
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59f9c7
mov dword [esp + 0x50], 0
jmp 0x59f9d4
mov eax, edi
mov dword [esp + 0x50], eax
lea edi, [edx + eax]
mov dword [esp + 0x34], edi
push 4
push edx
call fcn.005d7dea
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push dword [esp + 0x5c]
push eax
mov dword [ecx + edx*4], eax
call fcn.005c3580
mov eax, dword [esp + 0x1b8]
add esp, 0x14
mov edx, dword [esp + 0x1a0]
sub eax, edx
mov ecx, dword [esp + 0x14]
inc ecx
sar eax, 2
mov dword [esp + 0x14], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jb 0x59f985
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59fbd5
mov al, byte [edi]
inc edi
mov dword [esp + 0x34], edi
test al, al
je 0x59fbd5
mov eax, dword [esp + 0x180]
sub eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x1ac]
sar eax, 3
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1b0]
mov esi, eax
sub esi, edx
mov dword [esp + 0x50], eax
sar esi, 2
cmp dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], edx
jae 0x59fa90
mov eax, dword [esp + 0x1c]
lea eax, [edx + eax*4]
jmp 0x59fb0f
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
jbe 0x59fb16
mov eax, dword [esp + 0x1b4]
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 2
cmp edx, eax
jbe 0x59fad8
push ecx
push edx
lea ecx, [esp + 0x1b4]
call fcn.005a3380
mov edx, dword [esp + 0x1ac]
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jmp 0x59fb16
mov ecx, dword [esp + 0x50]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
lea eax, [ecx + edx*4]
sub eax, ecx
push eax
push 0
push ecx
call fcn.005c3040
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x1ac]
mov dword [esp + 0x18], edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1b0], eax
sub eax, edx
mov dword [esp + 0x14], 0
sar eax, 2
test eax, eax
je 0x59fbd5
nop dword [eax + eax]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
ja 0x59fb42
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59fb51
xor edx, edx
jmp 0x59fb5a
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edx
mov dword [esp + 0x24], edx
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59fb72
mov dword [esp + 0x50], 0
jmp 0x59fb7f
mov eax, edi
mov dword [esp + 0x50], eax
lea edi, [edx + eax]
mov dword [esp + 0x34], edi
push 4
push edx
call fcn.005d7dea
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push dword [esp + 0x5c]
push eax
mov dword [ecx + edx*4], eax
call fcn.005c3580
mov eax, dword [esp + 0x1c4]
add esp, 0x14
mov edx, dword [esp + 0x1ac]
sub eax, edx
mov ecx, dword [esp + 0x14]
inc ecx
sar eax, 2
mov dword [esp + 0x14], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jb 0x59fb30
jmp 0x59fbd5
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x64], 4
mov ecx, dword [esp + 0x30]
jl 0x59fedb
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x59fedb
mov al, byte [edi]
inc edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
test al, al
je 0x59fedb
mov ecx, dword [esp + 0x1d4]
mov eax, ecx
mov edx, dword [esp + 0x1d0]
sub eax, edx
sar eax, 2
imul eax, eax, 0xcccccccd
mov dword [esp + 0x94], eax
cmp dword [esp + 0xa0], eax
jae 0x59fc65
mov eax, dword [esp + 0xa0]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [esp + 0x24], eax
cmp eax, ecx
je 0x59fcaa
mov esi, eax
mov edi, ecx
lea ecx, [esi + 8]
call fcn.00427590
add esi, 0x14
cmp esi, edi
jne 0x59fc48
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
jmp 0x59fcaa
mov edx, dword [esp + 0xa0]
cmp edx, eax
jbe 0x59fcb8
mov eax, dword [esp + 0x1d8]
sub eax, dword [esp + 0x1d0]
sar eax, 2
imul eax, eax, 0xcccccccd
push ecx
cmp edx, eax
jbe 0x59fc9b
push edx
lea ecx, [esp + 0x1d8]
call fcn.005a3160
jmp 0x59fcb1
sub edx, dword [esp + 0x98]
call fcn.005a3320
add esp, 4
mov dword [esp + 0x1d4], eax
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x59fed7
mov dword [esp + 0x28], 0
mov dword [esp + 0xa8], edx
nop
mov ecx, dword [esp + 0x30]
mov eax, edi
mov edx, dword [esp + 0x1d0]
sub eax, ecx
add eax, 4
mov dword [esp + 0x18], edx
cmp eax, esi
jbe 0x59fcfa
mov eax, dword [esp + 0x28]
mov dword [eax + edx], 0
jmp 0x59fec4
mov esi, dword [esp + 0x28]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, dword [edi - 4]
mov dword [esi + edx], eax
mov esi, dword [esp + 0x38]
test al, 1
je 0x59fec4
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59fd27
xorps xmm0, xmm0
jmp 0x59fd32
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x28]
movss dword [eax + edx + 4], xmm0
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x59fd4b
xor ecx, ecx
jmp 0x59fd55
movzx ecx, word [edi]
add edi, 2
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x14], ecx
movzx edx, cx
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x1c], esi
sub dword [esp + 0x1c], ecx
sar dword [esp + 0x1c], 3
mov esi, dword [esp + 0x38]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x30]
cmp edx, dword [esp + 0x1c]
jae 0x59fda3
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
lea eax, [eax + edx*8]
mov edx, dword [esp + 0x28]
mov dword [edx + esi + 0xc], eax
jmp 0x59fde5
jbe 0x59fde9
mov eax, dword [eax + 0x10]
sub eax, dword [esp + 0x24]
sar eax, 3
push ecx
cmp edx, eax
jbe 0x59fdc9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
add eax, 8
push edx
add ecx, eax
call fcn.005a34a0
jmp 0x59fde9
sub edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
call fcn.004b1ef0
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, dword [esp + 0x28]
mov dword [edx + ecx + 0xc], eax
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
xor edx, edx
mov dword [esp + 0x68], edx
cmp word [esp + 0x14], dx
je 0x59fec4
nop
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + esi + 8]
mov dword [esp + 0x24], eax
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, dword [esp + 0x38]
jbe 0x59fe21
xor eax, eax
jmp 0x59fe2b
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x34], edi
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x68]
movzx eax, ax
mov dword [esi + edx*8], eax
mov eax, edi
mov esi, dword [esp + 0x38]
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59fe4c
xor edx, edx
jmp 0x59fe55
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edx
mov dword [esp + 0x50], edx
sub eax, ecx
add eax, edi
cmp eax, esi
jbe 0x59fe70
mov dword [esp + 0x90], 0
jmp 0x59fe80
mov eax, edi
mov dword [esp + 0x90], eax
lea edi, [eax + edx]
mov dword [esp + 0x34], edi
push 4
push edx
call fcn.005d7dea
push dword [esp + 0x58]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x30]
push dword [esp + 0x9c]
push eax
mov dword [edx + ecx*8 + 4], eax
call fcn.005c3580
mov edx, dword [esp + 0x7c]
add esp, 0x14
mov ecx, dword [esp + 0x14]
inc edx
movzx eax, cx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], edx
cmp edx, eax
jl 0x59fe00
add dword [esp + 0x28], 0x14
sub dword [esp + 0xa8], 1
jne 0x59fcd0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x64]
cmp edx, 5
jl 0x59ffc0
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59fef8
xorps xmm0, xmm0
jmp 0x59ff03
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x154], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ff1c
xorps xmm0, xmm0
jmp 0x59ff27
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x158], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ff40
xorps xmm0, xmm0
jmp 0x59ff4b
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x15c], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ff64
xorps xmm0, xmm0
jmp 0x59ff6f
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x160], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ff88
xorps xmm0, xmm0
jmp 0x59ff93
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
movss dword [esp + 0x164], xmm0
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x59ffac
xorps xmm0, xmm0
jmp 0x59ffb7
movss xmm0, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
movss dword [esp + 0x168], xmm0
cmp edx, 6
jl 0x5a016f
mov eax, edi
sub eax, ecx
inc eax
cmp eax, esi
ja 0x5a016f
mov al, byte [edi]
inc edi
mov dword [esp + 0x34], edi
test al, al
je 0x5a016f
mov eax, dword [esp + 0x180]
sub eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x1b8]
sar eax, 3
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1bc]
mov esi, eax
sub esi, edx
mov dword [esp + 0x50], eax
sar esi, 2
cmp dword [esp + 0x1c], esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x18], edx
jae 0x5a0031
mov eax, dword [esp + 0x1c]
lea eax, [edx + eax*4]
jmp 0x5a00b0
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
jbe 0x5a00b7
mov eax, dword [esp + 0x1c0]
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 2
cmp edx, eax
jbe 0x5a0079
push ecx
push edx
lea ecx, [esp + 0x1c0]
call fcn.005a3380
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jmp 0x5a00b7
mov ecx, dword [esp + 0x50]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
lea eax, [ecx + edx*4]
sub eax, ecx
push eax
push 0
push ecx
call fcn.005c3040
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x1b8]
mov dword [esp + 0x18], edx
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1bc], eax
sub eax, edx
mov dword [esp + 0x14], 0
sar eax, 2
test eax, eax
je 0x5a016f
nop dword [eax]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
ja 0x5a00e2
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x5a00f1
xor edx, edx
jmp 0x5a00fa
mov edx, dword [edi]
add edi, 4
mov dword [esp + 0x34], edi
mov eax, edi
mov dword [esp + 0x24], edx
sub eax, ecx
add eax, edx
cmp eax, esi
jbe 0x5a0112
mov dword [esp + 0x50], 0
jmp 0x5a011f
mov eax, edi
mov dword [esp + 0x50], eax
lea edi, [edx + eax]
mov dword [esp + 0x34], edi
push 4
push edx
call fcn.005d7dea
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push dword [esp + 0x5c]
push eax
mov dword [ecx + edx*4], eax
call fcn.005c3580
mov eax, dword [esp + 0x1d0]
add esp, 0x14
mov edx, dword [esp + 0x1b8]
sub eax, edx
mov ecx, dword [esp + 0x14]
inc ecx
sar eax, 2
mov dword [esp + 0x14], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x18], edx
jb 0x5a00d0
test byte [esp + 0x150], 1
je 0x5a0427
push 0xbc
call fcn.005ab82c
mov esi, eax
mov dword [esp + 0x7c], 0x3f800000
add esp, 4
lea eax, [esp + 0x78]
lea ecx, [esi + 0x18]
mov dword [esi], 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xffffffff
call fcn.00449760
lea eax, [esp + 0x78]
mov dword [esi + 0x58], 0x3f800000
push eax
lea ecx, [esi + 0x7c]
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0x3f800000
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 0x3f800000
mov dword [esp + 0x7c], 0x3f800000
call fcn.00449760
lea ecx, [esp + 0x30]
mov dword [esp + 0x1dc], esi
call fcn.0059c6c0
movzx eax, ax
mov dword [esp + 0x78], eax
mov dword [esi + 4], eax
call fcn.00476250
mov dword [esp + 0x94], eax
mov dword [esi + 8], eax
call fcn.00476250
mov dword [esp + 0x24], eax
mov dword [esi + 0xc], eax
call fcn.00476250
mov dword [esi + 0x10], eax
call fcn.00476250
mov dword [esi + 0x14], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xac], eax
test ecx, 0x1f800
je 0x5a0423
shr ecx, 0xa
and cl, 1
je 0x5a028b
mov edx, dword [esp + 0x60]
jmp 0x5a029d
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1c]
sub eax, dword [edx + 0x18]
sar eax, 2
imul edx, eax, 0x586fb587
mov edi, edx
and edi, 0x80000003
jns 0x5a02ac
dec edi
or edi, 0xfffffffc
inc edi
mov eax, 4
sub eax, edi
neg edi
sbb edi, edi
and edi, eax
add edi, edx
test cl, cl
je 0x5a02d5
mov edx, dword [esp + 0x14c]
xor ecx, ecx
mov eax, dword [esp + 0x174]
mov dword [esp + 0x24], edx
jmp 0x5a02ee
imul ecx, dword [esp + 0x78], 0xd0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x54]
mov eax, dword [ecx + eax + 0x64]
mov ecx, dword [esp + 0x94]
mov edx, dword [ebp + 8]
push ecx
push eax
push edi
push dword [esp + 0xb8]
lea ecx, [esp + 0x210]
mov dword [esp + 0x60], eax
call fcn.005a1b10
lea edx, [esp + 0xc0]
lea ecx, [esp + 0x210]
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x18], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + 0x28], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esi + 0x38], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esi + 0x48], xmm0
movss xmm0, dword [esi + 0x18]
movss dword [esp + 0xc0], xmm0
movss xmm0, dword [esi + 0x1c]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [esi + 0x20]
movss dword [esp + 0xc8], xmm0
movss xmm0, dword [esi + 0x28]
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esi + 0x2c]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esi + 0x30]
movss dword [esp + 0xd4], xmm0
movss xmm0, dword [esi + 0x38]
movss dword [esp + 0xd8], xmm0
movss xmm0, dword [esi + 0x3c]
movss dword [esp + 0xdc], xmm0
movss xmm0, dword [esi + 0x40]
movss dword [esp + 0xe0], xmm0
call fcn.0056f700
movups xmm0, xmmword [esp + 0x210]
mov eax, dword [esp + 0x230]
lea ecx, [esp + 0x210]
push dword [esp + 0x34]
mov edx, dword [ebp + 8]
push dword [esp + 0x64]
movups xmmword [esi + 0x58], xmm0
push edi
movups xmm0, xmmword [esp + 0x22c]
push dword [esi + 0x14]
movups xmmword [esi + 0x68], xmm0
mov dword [esi + 0x78], eax
call fcn.005a1b10
add esp, 0x20
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x7c], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + 0x8c], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esi + 0x9c], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esi + 0xac], xmm0
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, edi
mov esi, dword [esp + 0x38]
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x5a043e
xor eax, eax
jmp 0x5a0443
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0x50], 0
test eax, eax
jle 0x5a05af
nop word [eax + eax]
mov eax, edi
mov dword [esp + 0xb0], 0
sub eax, ecx
mov dword [esp + 0xc4], 0
xorps xmm0, xmm0
mov dword [esp + 0xc8], 0xf
add eax, 4
movups xmmword [esp + 0xb4], xmm0
mov byte [esp + 0xb4], 0
cmp eax, esi
ja 0x5a04a6
movss xmm0, dword [edi]
add edi, 4
mov edx, edi
movss dword [esp + 0xb0], xmm0
cmp byte [edi], 0
mov eax, edx
mov dword [esp + 0x24], edx
je 0x5a04db
sub edx, ecx
nop
mov dword [esp + 0x78], eax
mov eax, edi
cmp edx, esi
jae 0x5a04d7
mov eax, dword [esp + 0x78]
inc edx
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x5a04c0
mov edx, dword [esp + 0x24]
lea edi, [eax + 1]
mov eax, edi
sub eax, ecx
mov ecx, 0x720774
cmp eax, esi
cmovbe ecx, edx
mov dword [esp + 0x78], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5a04f3
sub ecx, edx
push ecx
push dword [esp + 0x7c]
lea ecx, [esp + 0xbc]
call fcn.0040c060
mov eax, dword [esp + 0x1c8]
cmp eax, dword [esp + 0x1cc]
je 0x5a0544
movss xmm0, dword [esp + 0xb0]
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [eax + 4]
movss dword [eax], xmm0
call fcn.004141c0
add dword [esp + 0x1c8], 0x1c
jmp 0x5a0559
lea ecx, [esp + 0xb0]
push ecx
push eax
lea ecx, [esp + 0x1cc]
call fcn.0052cb70
mov ecx, dword [esp + 0xc8]
cmp ecx, 0xf
jbe 0x5a0595
mov edx, dword [esp + 0xb4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5a058b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5a0c79
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
inc edx
mov dword [esp + 0x50], edx
cmp edx, dword [esp + 0x90]
jl 0x5a0460
mov eax, dword [ebp + 8]
add eax, 0x54
mov dword [esp + 0x14], eax
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x5a05db
lea eax, [esp + 0x110]
push eax
call fcn.005a3fe0
mov eax, dword [esp + 0x14]
add dword [eax + 4], 0xd0
jmp 0x5a05eb
lea edx, [esp + 0x110]
push edx
push ecx
mov ecx, eax
call fcn.005a2410
lea ecx, [esp + 0x1d0]
call fcn.00564060
lea ecx, [esp + 0x1c4]
call fcn.0050f9e0
lea ecx, [esp + 0x1b8]
call fcn.00427a90
lea ecx, [esp + 0x1ac]
call fcn.00427a90
lea ecx, [esp + 0x1a0]
call fcn.00427a90
lea ecx, [esp + 0x194]
call fcn.00427590
lea ecx, [esp + 0x188]
call fcn.00427590
lea ecx, [esp + 0x17c]
call fcn.00427590
mov ecx, dword [esp + 0x144]
cmp ecx, 0xf
jbe 0x5a0691
mov edx, dword [esp + 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5a067d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5a0c79
push ecx
push edx
call fcn.005ab85c
mov eax, dword [ebp + 8]
add esp, 8
add eax, 0x54
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0xf
mov byte [esp + 0x130], 0
cmp ecx, 0xf
jbe 0x5a06eb
mov edx, dword [esp + 0x118]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x5a06e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5a0c79
push ecx
push edx
call fcn.005ab85c
add esp, 8
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, dword [esp + 0x20]
jl 0x59e7a0
mov edx, dword [esp + 0x14]
jmp 0x5a070e
mov edx, dword [ebp + 8]
add edx, 0x54
mov eax, dword [edx + 4]
mov edi, dword [edx]
mov dword [esp + 0x78], eax
cmp edi, eax
je 0x5a0bf0
nop
test byte [edi + 0x40], 1
je 0x5a073b
mov ecx, dword [edi + 0xcc]
imul eax, dword [ecx + 4], 0xd0
add eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [esp + 0x78]
add edi, 0xd0
cmp edi, eax
jne 0x5a0720
jmp 0x5a0bf0
cmp dword [esp + 0x10c], 0xf
push 8
cmova eax, dword [esp + 0xfc]
push str.MDAT0001
push eax
call fcn.005d7c20
add esp, 0xc
test eax, eax
jne 0x5a0937
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
add eax, 4
cmp eax, esi
jbe 0x5a0785
xor eax, eax
jmp 0x5a078a
mov eax, dword [edi]
add edi, 4
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, edi
sub eax, ecx
add eax, 2
cmp eax, esi
jbe 0x5a079f
xor eax, eax
jmp 0x5a07a5
movzx eax, word [edi]
add edi, 2
movzx eax, ax
mov dword [esp + 0x54], eax
test eax, eax
je 0x5a092e
mov dword [esp + 0x78], 0x3f800000
nop dword [eax]
xorps xmm0, xmm0
mov dword [esp + 0x210], 0
lea eax, [esp + 0x78]
movaps xmmword [esp + 0x200], xmm0
push eax
lea ecx, [esp + 0x21c]
mov dword [esp + 0x218], 0xf
mov byte [esp + 0x204], 0
call fcn.00449760
mov ecx, dword [esp + 0x30]
mov eax, edi
sub eax, ecx
mov dword [esp + 0x258], 0xffffffff
add eax, 2
cmp eax, esi
jbe 0x5a0818
xor eax, eax
jmp 0x5a081e
movzx eax, word [edi]
add edi, 2
movzx eax, ax
mov edx, edi
mov dword [esp + 0x258], eax
mov eax, edx
cmp byte [edi], 0
mov dword [esp + 0x20], edx
je 0x5a0861
sub edx, ecx
nop word [eax + eax]
mov dword [esp + 0x94], eax
mov eax, edi
cmp edx, esi
jae 0x5a085d
mov eax, dword [esp + 0x94]
inc edx
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x5a0840
mov edx, dword [esp + 0x20]
lea edi, [eax + 1]
mov eax, edi
sub eax, ecx
mov ecx, 0x720774
cmp eax, esi
mov dword [esp + 0xac], eax
cmovbe ecx, edx
mov dword [esp + 0x94], ecx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5a0883
sub ecx, edx
push ecx
push dword [esp + 0x98]
lea ecx, [esp + 0x208]
call fcn.0040c060
mov eax, dword [esp + 0xac]
add eax, 0x40
cmp eax, esi
ja 0x5a08e0
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x218], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esp + 0x228], xmm0
movups xmm0, xmmword [edi + 0x20]
movups xmmword [esp + 0x238], xmm0
movups xmm0, xmmword [edi + 0x30]
add edi, 0x40
movups xmmword [esp + 0x248], xmm0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4c]
cmp ecx, dword [eax + 0x50]
je 0x5a0906
lea eax, [esp + 0x200]
mov edx, ecx
push eax
call fcn.005a3d10
mov eax, dword [ebp + 8]
add esp, 4
add dword [eax + 0x4c], 0x5c
jmp 0x5a0917
lea edx, [esp + 0x200]
push edx
push ecx
lea ecx, [eax + 0x48]
call fcn.005a25c0
lea ecx, [esp + 0x200]
call fcn.004143d0
sub dword [esp + 0x54], 1
jne 0x5a07c0
mov edi, dword [esp + 0x24]
jmp 0x5a0bf4
cmp dword [esp + 0x10c], 0xf
lea eax, [esp + 0xf8]
push 8
cmova eax, dword [esp + 0xfc]
push str.MDMP0001
push eax
call fcn.005d7c20
add esp, 0xc
lea ecx, [esp + 0x30]
test eax, eax
jne 0x5a0be7
call fcn.0059c6e0
mov eax, dword [esp + 0xa0]
mov esi, dword [esp + 0x38]
test eax, eax
je 0x5a0bf0
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x58], 0
mov dword [esp + 0x24], eax
mov eax, edi
sub eax, edx
add eax, 2
cmp eax, esi
jbe 0x5a09a5
xor eax, eax
jmp 0x5a09ab
movzx eax, word [edi]
add edi, 2
movzx eax, ax
mov dword [esp + 0x4c], eax
test eax, eax
je 0x5a0bd5
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax]
mov eax, edi
add ecx, dword [esp + 0x58]
sub eax, edx
add eax, 4
mov dword [esp + 0x14], ecx
cmp eax, esi
jbe 0x5a09db
xorps xmm0, xmm0
jmp 0x5a09e2
movss xmm0, dword [edi]
add edi, 4
mov eax, edi
movss dword [ecx + 0x44], xmm0
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x5a09f6
xor eax, eax
jmp 0x5a09fb
mov eax, dword [edi]
add edi, 4
cmp dword [esp + 0x4c], 0
mov dword [ecx + 0x48], eax
jbe 0x5a0bd5
nop dword [eax]
mov eax, edi
mov dword [esp + 0xc0], 0
sub eax, edx
mov dword [esp + 0xc4], 0
add eax, 8
mov dword [esp + 0xc8], 0
cmp eax, esi
jbe 0x5a0a4f
xorps xmm0, xmm0
movlpd qword [esp + 0x78], xmm0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
jmp 0x5a0a57
mov ecx, dword [edi]
add edi, 8
mov eax, dword [edi - 4]
cmp byte [edi], 0
mov dword [esp + 0xb0], ecx
mov ecx, edi
mov dword [esp + 0xb4], eax
mov eax, ecx
mov dword [esp + 0x20], ecx
je 0x5a0a8b
sub ecx, edx
mov dword [esp + 0x78], eax
mov eax, edi
cmp ecx, esi
jae 0x5a0a8b
mov eax, dword [esp + 0x78]
inc ecx
inc eax
mov edi, eax
cmp byte [eax], 0
jne 0x5a0a74
lea edi, [eax + 1]
mov eax, 0x720774
mov ecx, edi
sub ecx, edx
cmp ecx, esi
cmovbe eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
lea eax, [ecx + 4]
cmp eax, esi
jbe 0x5a0ab0
xor eax, eax
jmp 0x5a0ab5
mov eax, dword [edi]
add edi, 4
mov dword [esp + 0x54], eax
mov ecx, edi
sub eax, edx
mov dword [esp + 0x20], edi
add eax, edi
cmp eax, esi
jbe 0x5a0acb
xor ecx, ecx
jmp 0x5a0ad1
mov edi, dword [esp + 0x54]
add edi, ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x78], eax
test eax, 0x400
je 0x5a0b1c
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x5a0af9
xor ecx, ecx
jmp 0x5a0afe
mov ecx, dword [edi]
add edi, 4
mov eax, ecx
sub eax, edx
add eax, edi
cmp eax, esi
jbe 0x5a0b0c
xor eax, eax
jmp 0x5a0b11
mov eax, edi
lea edi, [eax + ecx]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x78]
test eax, 0x800
je 0x5a0b51
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x5a0b32
xor ecx, ecx
jmp 0x5a0b37
mov ecx, dword [edi]
add edi, 4
mov eax, edi
sub eax, edx
add eax, ecx
cmp eax, esi
jbe 0x5a0b45
xor eax, eax
jmp 0x5a0b4a
mov eax, edi
lea edi, [eax + ecx]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x14]
test dword [eax + 0xc], 0x1000
je 0x5a0b90
mov eax, edi
sub eax, edx
add eax, 4
cmp eax, esi
jbe 0x5a0b6d
xor ecx, ecx
jmp 0x5a0b72
mov ecx, dword [edi]
add edi, 4
mov eax, edi
sub eax, edx
add eax, ecx
cmp eax, esi
jbe 0x5a0b80
xor eax, eax
jmp 0x5a0b85
mov eax, edi
lea edi, [ecx + eax]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + 0x4c]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x5a0bb8
movups xmm0, xmmword [esp + 0xb0]
movups xmmword [eax], xmm0
movups xmm0, xmmword [esp + 0xc0]
movups xmmword [eax + 0x10], xmm0
add dword [ecx + 4], 0x20
jmp 0x5a0bca
lea edx, [esp + 0xb0]
push edx
push eax
call fcn.0050a1d0
mov edx, dword [esp + 0x30]
sub dword [esp + 0x4c], 1
jne 0x5a0a10
add dword [esp + 0x58], 0x70
sub dword [esp + 0x24], 1
jne 0x5a0996
jmp 0x5a0bf0
call fcn.0059c6e0
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cmp byte [edi], 0
mov eax, edi
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x78], eax
je 0x5a0c1b
sub eax, ecx
nop dword [eax]
cmp eax, esi
jae 0x5a0c1b
inc edi
inc eax
cmp byte [edi], 0
jne 0x5a0c10
inc edi
mov edx, 0x720774
mov eax, edi
mov dword [esp + 0x2c], edi
sub eax, ecx
mov dword [esp + 0x34], edi
cmp eax, esi
cmovbe edx, dword [esp + 0x78]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x78], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x5a0c40
sub ecx, dword [esp + 0x78]
push ecx
push edx
lea ecx, [esp + 0x100]
call fcn.0040c060
cmp dword [esp + 0x108], 0
jne 0x59cfc0
lea ecx, [esp + 0xf8]
call fcn.004143d0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.005c695f
call fcn.00410570
call fcn.00410570
push str.unordered_map_set_too_long
call fcn.005acb94
call fcn.00410570
call fcn.00410570
call fcn.00410570
call fcn.00410570
int3