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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x178
push esi
push edi
mov edi, dword [0x10132b9c]
mov esi, edi
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x28], esi
mov eax, dword [esi + 0x1bac]
mov byte [eax + 0xac], 1
mov eax, dword [esi + 0x1bac]
mov dword [esp + 0x9c], eax
cmp byte [eax + 0xaf], 0
jne 0x1005f282
mov edx, dword [ebp + 0x14]
mov ecx, edx
shr ecx, 0x1a
and ecx, 0xffffff01
mov dword [esp + 0x34], ecx
mov ecx, edx
shr ecx, 0xe
and ecx, 0xffffff01
mov dword [esp + 0x40], ecx
mov ecx, edx
shr ecx, 0xf
and ecx, 0xffffff01
mov dword [esp + 0xec], ecx
mov ecx, edx
shr ecx, 0x10
not cl
and ecx, 0xffffff01
mov dword [esp + 0x98], ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0xffffff01
cmp byte [esp + 0x34], 0
mov dword [esp + 0x90], ecx
je 0x1005eeba
call fcn.10044e90
mov edi, dword [0x10132b9c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0xe4]
xor edx, edx
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0xf4]
call fcn.10037830
add esp, 4
mov dword [esp + 0x1c], eax
cmp dword [edi + 0x1be0], eax
jne 0x1005eeed
mov dword [edi + 0x1be4], eax
cmp dword [edi + 0x1c1c], eax
jne 0x1005eefc
mov byte [edi + 0x1c20], 1
mov eax, dword [esp + 0xf0]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x1005ef26
nop word [eax + eax]
mov dl, byte [ecx]
test dl, dl
je 0x1005ef26
cmp dl, 0x23
jne 0x1005ef20
cmp byte [ecx + 1], dl
je 0x1005ef26
inc ecx
cmp ecx, 0xffffffff
jb 0x1005ef10
movss xmm6, dword [edi + 0x1940]
cmp eax, ecx
jne 0x1005ef37
xorps xmm3, xmm3
jmp 0x1005ef7d
movss xmm3, dword [0x1012c9d0]
movaps xmm2, xmm6
push 0
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x193c]
lea eax, [esp + 0x60]
mov dword [esp], 0xbf800000
push eax
call fcn.100524f0
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [0x1012c83c]
movss xmm6, dword [esp + 0x54]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp byte [esp + 0x34], 0
xorps xmm0, xmm0
mov eax, dword [ebp + 0x10]
movss xmm1, dword [edi + 0x1564]
addss xmm1, xmm1
movss dword [esp + 0xf4], xmm3
movss xmm2, dword [eax]
movss dword [esp + 0x70], xmm2
movss xmm2, dword [eax + 4]
addss xmm1, dword [edi + 0x1940]
movss dword [esp + 0x8c], xmm2
je 0x1005efd1
movss xmm2, dword [esi + 0x1940]
mulss xmm2, dword [0x1012c8f8]
jmp 0x1005efd4
movaps xmm2, xmm6
comiss xmm3, xmm0
movss xmm4, dword [esi + 0x1564]
addss xmm4, xmm4
addss xmm4, xmm2
jbe 0x1005eff6
movaps xmm5, xmm1
addss xmm5, dword [esi + 0x1578]
jmp 0x1005eff9
xorps xmm5, xmm5
test byte [edi + 0x1c34], 1
mov ecx, dword [edi + 0x1bac]
je 0x1005f012
movss xmm3, dword [edi + 0x1c38]
jmp 0x1005f01a
movss xmm3, dword [ecx + 0x1c0]
comiss xmm0, xmm3
jbe 0x1005f055
cmp dword [ecx + 0x1a4], 0
movss xmm2, dword [ecx + 0x258]
jne 0x1005f039
cmp dword [edi + 0x1f18], 0
je 0x1005f041
movss xmm2, dword [ecx + 0x228]
subss xmm2, dword [ecx + 0xf0]
addss xmm3, xmm2
maxss xmm3, dword [0x1012c844]
cvttss2si eax, xmm3
mov edx, ecx
xorps xmm3, xmm3
xorps xmm2, xmm2
movd xmm7, eax
cvtdq2ps xmm7, xmm7
subss xmm7, xmm5
movss xmm5, dword [esp + 0x70]
comiss xmm0, xmm5
ja 0x1005f081
comiss xmm0, dword [esp + 0x8c]
jbe 0x1005f0ab
cmp dword [ecx + 0x1a4], 0
movss xmm2, dword [ecx + 0x258]
movss xmm3, dword [ecx + 0x25c]
jne 0x1005f0a3
cmp dword [edi + 0x1f18], 0
je 0x1005f0ab
movss xmm2, dword [ecx + 0x228]
ucomiss xmm5, xmm0
movss xmm5, dword [0x1012c8d4]
lahf
test ah, 0x44
jp 0x1005f0c4
movss dword [esp + 0x70], xmm7
jmp 0x1005f0ec
movss xmm7, dword [esp + 0x70]
comiss xmm0, xmm7
jbe 0x1005f0ec
subss xmm2, dword [edx + 0xf0]
addss xmm7, xmm2
comiss xmm5, xmm7
movss dword [esp + 0x70], xmm7
jb 0x1005f0ec
movss dword [esp + 0x70], xmm5
movss xmm2, dword [esp + 0x8c]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1005f109
movss dword [esp + 0x8c], xmm4
jmp 0x1005f131
comiss xmm0, xmm2
jbe 0x1005f131
subss xmm3, dword [edx + 0xf4]
addss xmm2, xmm3
comiss xmm5, xmm2
movss dword [esp + 0x8c], xmm2
jb 0x1005f131
movss dword [esp + 0x8c], xmm5
movss xmm2, dword [esp + 0xf4]
comiss xmm2, xmm0
jbe 0x1005f144
movaps xmm7, xmm6
jmp 0x1005f147
xorps xmm7, xmm7
jbe 0x1005f156
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1578]
jmp 0x1005f159
xorps xmm2, xmm2
mov eax, dword [esp + 0x9c]
movss xmm4, dword [eax + 0xf0]
movss xmm5, dword [eax + 0xf4]
movaps xmm3, xmm4
addss xmm3, dword [esp + 0x70]
addss xmm3, xmm2
movaps xmm2, xmm5
addss xmm2, dword [esp + 0x8c]
addss xmm2, xmm7
movss xmm7, dword [esp + 0xf4]
comiss xmm7, xmm0
ja 0x1005f28a
xorps xmm6, xmm6
xorps xmm1, xmm1
cmp byte [esp + 0x34], 0
movaps xmm0, xmm4
addss xmm0, xmm1
movss dword [esp + 0xdc], xmm3
movaps xmm1, xmm5
movss dword [esp + 0xe0], xmm2
addss xmm1, xmm6
movss dword [esp + 0x110], xmm4
movss dword [esp + 0x114], xmm5
mov dword [esp + 0x84], eax
movss dword [esp + 0xd4], xmm0
addss xmm0, dword [esp + 0x70]
movss dword [esp + 0xd8], xmm1
addss xmm1, dword [esp + 0x8c]
movss dword [esp + 0x118], xmm0
movss dword [esp + 0x11c], xmm1
je 0x1005f4a7
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xd4]
push ecx
push eax
lea ecx, [esp + 0x118]
call fcn.10044b70
add esp, 8
test al, al
jne 0x1005f297
movss xmm0, dword [esp + 0x118]
lea ecx, [esp + 0x50]
subss xmm0, dword [esp + 0x110]
movss xmm1, dword [esi + 0x1564]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x11c]
subss xmm0, dword [esp + 0x114]
movss dword [esp + 0x54], xmm0
call fcn.10044a40
call fcn.10044fc0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
addss xmm1, dword [esi + 0x1578]
jmp 0x1005f1a5
mov esi, dword [0x10132b9c]
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0xa4], 3
movups xmm0, xmmword [esi + 0x161c]
lea ecx, [esi + 0x1cd8]
movups xmmword [esp + 0xa8], xmm0
call fcn.1004b950
mov edi, dword [esp + 0x28]
lea eax, [esp + 0xc8]
push eax
mov dword [esp + 0xcc], 6
movups xmm0, xmmword [edi + 0x165c]
movups xmmword [esi + 0x161c], xmm0
mov esi, dword [0x10132b9c]
movss xmm0, dword [edi + 0x1568]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esi + 0x1550]
lea ecx, [esi + 0x1ce4]
movss dword [esp + 0xd0], xmm0
call fcn.1004b890
movss xmm0, dword [esp + 0x50]
lea eax, [esp + 0xc8]
movss dword [esi + 0x1550], xmm0
mov esi, dword [0x10132b9c]
movss xmm0, dword [edi + 0x156c]
movss dword [esp + 0x50], xmm0
push eax
movss xmm0, dword [esi + 0x1554]
lea ecx, [esi + 0x1ce4]
mov dword [esp + 0xcc], 7
movss dword [esp + 0xd0], xmm0
call fcn.1004b890
movss xmm0, dword [esp + 0x50]
lea eax, [esp + 0x50]
movss dword [esi + 0x1554], xmm0
mov esi, dword [0x10132b9c]
push eax
mov dword [esp + 0x54], 1
movss xmm0, dword [esi + 0x152c]
lea ecx, [esi + 0x1ce4]
movss xmm1, dword [esi + 0x1530]
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x5c], xmm1
call fcn.1004b890
movss xmm0, dword [esp + 0xdc]
subss xmm0, dword [esp + 0xd4]
mov ecx, dword [edi + 0x1564]
mov eax, dword [edi + 0x1560]
mov edx, dword [esp + 0x1c]
push 0x10004
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0xe4]
subss xmm0, dword [esp + 0xdc]
mov dword [esi + 0x152c], eax
lea eax, [esp + 0x54]
push ecx
mov dword [esi + 0x1530], ecx
mov ecx, dword [esp + 0xf8]
push eax
movss dword [esp + 0x60], xmm0
call fcn.1003e090
add esp, 0xc
mov byte [esp + 0x4a], al
mov ecx, 3
call fcn.10038570
mov esi, dword [0x10132b9c]
mov ecx, dword [esi + 0x1cd8]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 0x1ce0]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
shl eax, 4
movups xmmword [eax + esi + 0x15ec], xmm0
dec dword [esi + 0x1cd8]
cmp byte [esp + 0x4a], 0
jne 0x1005f474
call fcn.1003e2f0
call fcn.10044fc0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x70]
mov esi, edi
mov edi, dword [esi + 0x1bac]
mov dword [esp + 0x84], edi
subss xmm0, dword [edi + 0xa0]
mov ax, word [edi + 0x140]
or word [edi + 0x146], ax
movss dword [esp + 0x70], xmm0
jmp 0x1005f4f0
subss xmm1, xmm5
subss xmm0, xmm4
lea ecx, [esp + 0x50]
movss dword [esp + 0x54], xmm1
movss xmm1, dword [esi + 0x1564]
movss dword [esp + 0x50], xmm0
call fcn.10044a40
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xd4]
push ecx
push eax
lea ecx, [esp + 0x118]
call fcn.10044b70
add esp, 8
test al, al
je 0x1005f282
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xd4]
call fcn.1003a3f0
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x48], al
test al, al
je 0x1005f53c
lea eax, [esi + 0x1fa8]
mov dword [esi + 0x1e84], 1
xor edx, edx
cmp dword [eax], ecx
cmovne eax, edx
mov edi, eax
mov dword [esp + 0x38], eax
cmp byte [esi + 0x3d8], dl
je 0x1005f54d
mov byte [esp + 0x12], 1
mov dword [esp + 0x38], eax
jmp 0x1005f552
lea edi, [esi + 0x1fa8]
xor eax, eax
cmp dword [edi], ecx
cmovne edi, eax
mov dword [esp + 0x38], edi
mov byte [esp + 0x12], 0
mov eax, dword [esi + 0x1be0]
cmp eax, ecx
je 0x1005f57c
cmp dword [esi + 0x1d5c], ecx
je 0x1005f575
cmp dword [esi + 0x1d50], ecx
jne 0x1005f57c
cmp dword [esi + 0x1d74], 2
jne 0x1005f57c
mov byte [esp + 0x13], 1
jmp 0x1005f581
mov byte [esp + 0x13], 0
cmp byte [esp + 0x34], 0
je 0x1005f5c5
test edi, edi
je 0x1005f5c5
test eax, eax
jne 0x1005f5c5
mov eax, dword [esp + 0x84]
xor edx, edx
mov ecx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10037830
add esp, 4
cmp dword [esi + 0x1c1c], eax
jne 0x1005f5c5
mov byte [esp + 0x1b], 1
jmp 0x1005f5d5
cmp byte [esp + 0x34], 0
mov byte [esp + 0x1b], 0
je 0x1005f607
test edi, edi
je 0x1005f607
mov eax, dword [esp + 0x84]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xe4]
mov eax, dword [eax + 0xec]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.10037830
add esp, 4
cmp dword [esi + 0x1be0], eax
jne 0x1005f607
mov al, 1
jmp 0x1005f609
xor al, al
mov ecx, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], ecx
mov cl, byte [esp + 0x13]
mov byte [esp + 0x1a], al
mov byte [esp + 0x3f], 0
je 0x1005f63a
mov edx, dword [ebp + 0x14]
test dl, 0x10
jne 0x1005f62e
test cl, cl
je 0x1005f63a
cmp byte [esp + 0x34], 0
mov byte [esp + 0x2c], 1
je 0x1005f63f
mov byte [esp + 0x2c], 0
cmp byte [esp + 0x12], 0
jne 0x1005f666
cmp byte [esp + 0x1b], 0
jne 0x1005f666
test cl, cl
jne 0x1005f666
mov byte [esp + 0x18], cl
test al, al
jne 0x1005f66b
mov edi, dword [esp + 0x38]
mov byte [esp + 0x1b], al
jmp 0x1005f879
mov byte [esp + 0x18], 1
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x1b], 1
mov dword [esp + 0x38], edi
cmp dword [esi + 0x1be0], eax
je 0x1005f931
mov ecx, dword [ebp + 8]
lea edi, [esi + 0x1fa8]
mov dword [esp + 0x38], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005f6a0
mov eax, dword [edi + 0x28]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1005f6dd
test eax, eax
je 0x1005f6c6
cdq
sub eax, edx
lea edx, [edi + 0x24]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1005f6ce
mov ecx, 8
lea edx, [edi + 0x24]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1004bcb0
push esi
push dword [ebp + 8]
mov dword [edi + 0x24], esi
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp + 0xc]
lea eax, [edi + 0xc]
mov esi, dword [eax + 4]
inc edx
add esp, 0xc
mov dword [esp + 0x20], edx
cmp edx, esi
jle 0x1005f732
test esi, esi
je 0x1005f716
mov eax, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x1005f71b
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.1004be80
mov edx, dword [esp + 0x20]
lea eax, [edi + 0xc]
mov dword [eax], edx
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x1005f754
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [edi + 0x18]
call fcn.1004bcb0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec ecx
mov dword [edi + 0x18], 0
mov edx, dword [edi + 0x14]
mov esi, edx
mov byte [edi + 0x30], 0
mov dword [esp + 0x20], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1005f7b8
mov edi, eax
cmp byte [edi], 0
je 0x1005f7ac
push 0
mov edx, edi
lea ecx, [esp + 0x54]
call fcn.10037aa0
mov edx, dword [esp + 0x24]
add edi, eax
mov eax, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x1005f7ac
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
dec eax
lea eax, [edx + eax*2]
cmp esi, eax
jb 0x1005f778
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
mov dword [edi + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 4], esi
cmp dword [edi], eax
jne 0x1005f7fa
cmp dword [edi + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 0x40], ecx
cmovl esi, dword [edi + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [edi + 0x44], esi
jmp 0x1005f844
mov dword [edi], eax
mov dword [edi + 0x38], ecx
mov dword [edi + 0xe60], ecx
mov dword [edi + 0x40], ecx
mov dword [edi + 0x44], ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x58], ecx
mov byte [edi + 0x50], cl
mov ecx, dword [esp + 0x34]
mov al, cl
xor al, 1
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe64], 0x3e7
mov word [edi + 0x51], 1
mov byte [edi + 0x53], al
mov byte [edi + 0x48], 0
mov dword [edi + 0x4c], 0
test dword [ebp + 0x14], 0x2000
je 0x1005f851
mov byte [edi + 0x48], 1
mov esi, dword [esp + 0x28]
test cl, cl
jne 0x1005f879
cmp byte [esp + 0x12], cl
je 0x1005f879
mov eax, dword [esp + 0x2c]
mov ecx, 1
cmp byte [esi + 0xfc], 0
movzx eax, al
cmovne eax, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
je 0x1005f931
cmp byte [esp + 0x18], 0
je 0x1005f929
mov edx, dword [esp + 0x9c]
mov ecx, eax
call fcn.1003a290
call fcn.10046f80
mov ecx, edx
call fcn.10044290
mov eax, dword [esi + 0x1bf4]
mov edx, dword [ebp + 0x14]
or eax, 3
cmp byte [esp + 0x34], 0
mov dword [esi + 0x1bf4], eax
jne 0x1005f8cb
test dl, dl
jns 0x1005f8d4
or eax, 0xc
mov dword [esi + 0x1bf4], eax
mov eax, dword [esi + 0x1c00]
or dword [esi + 0x1bf8], 2
or eax, 0x180
cmp byte [esp + 0x34], 0
mov ecx, dword [esi + 0x1c04]
mov dword [esi + 0x1c00], eax
mov dword [esi + 0x1c04], ecx
je 0x1005f90e
or eax, 0x60
mov dword [esi + 0x1c04], ecx
mov dword [esi + 0x1c00], eax
test edx, 0x440
je 0x1005f925
or eax, 1
mov dword [esi + 0x1c04], ecx
mov dword [esi + 0x1c00], eax
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
jne 0x1005f966
test edi, edi
jne 0x1005f93e
call fcn.1003a360
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
jne 0x1005f966
cmp byte [esi + 0x3d8], 0
je 0x1005f971
cmp byte [esp + 0x1b], 0
jne 0x1005f971
cmp byte [esp + 0x18], 0
jne 0x1005f971
mov byte [esp + 0x3f], 1
mov cl, 1
jmp 0x1005f977
test edi, edi
je 0x1005f975
cmp byte [esp + 0x1a], 0
je 0x1005f975
mov cl, 1
jmp 0x1005f977
xor cl, cl
mov byte [esp + 0x18], cl
test edi, edi
je 0x1005f992
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1005f992
test cl, cl
je 0x1005f992
mov edx, 1
jmp 0x1005f994
xor dl, dl
cmp byte [esp + 0x40], 0
mov dword [esp + 0x94], edx
mov byte [esp + 0x49], dl
mov byte [esp + 0x4a], 0
mov byte [esp + 0x1b], 0
je 0x1005faae
test edi, edi
je 0x1005faae
test cl, cl
jne 0x1005f9c8
test dl, dl
je 0x1005fab6
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x10]
lea esi, [ecx + 1]
cmp esi, eax
jle 0x1005fa02
test eax, eax
je 0x1005f9e8
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1005f9f0
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1004be80
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [edi + 0xc], esi
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [esp + 0x20], edx
lea ecx, [edx + ecx*2]
cmp edx, ecx
jae 0x1005fa5f
mov edi, eax
nop word [eax + eax]
cmp byte [edi], 0
je 0x1005fa53
push 0
mov edx, edi
lea ecx, [esp + 0x54]
call fcn.10037aa0
mov edx, dword [esp + 0x24]
add edi, eax
mov eax, dword [esp + 0x54]
add esp, 4
test eax, eax
je 0x1005fa53
mov ecx, dword [ebp + 0xc]
mov word [esi], ax
add esi, 2
lea eax, [edx + ecx*2]
cmp esi, eax
jb 0x1005fa20
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
sub eax, dword [ebp + 8]
xor ecx, ecx
mov word [esi], cx
sub esi, edx
sar esi, 1
cmp dword [edi + 0x3c], esi
mov ecx, esi
mov dword [edi + 4], esi
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], esi
mov dword [edi + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], esi
mov dword [edi + 8], eax
cmovl esi, dword [edi + 0x44]
xor edx, edx
movzx eax, byte [esp + 0x49]
cmp ecx, esi
mov dword [edi + 0x40], ecx
mov cl, byte [esp + 0x18]
cmovne edx, eax
mov dword [edi + 0x44], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x94], edx
test cl, cl
jne 0x1005fac2
test dl, dl
jne 0x1005fac2
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
jne 0x1005fad8
cmp byte [esp + 0x40], 0
jne 0x1005fad8
test edi, edi
je 0x1005fad8
cmp byte [edi + 0x30], 0
mov byte [esp + 0x49], 1
jne 0x1005fadd
mov byte [esp + 0x49], 0
cmp byte [esp + 0xec], 0
je 0x1005fb6d
mov edx, dword [esi + 0x193c]
cmp dword [edx + 0x14], 0x2a
ja 0x1005fafc
mov eax, dword [edx + 0x2c]
jmp 0x1005fb1b
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x1005fb12
mov eax, dword [edx + 0x2c]
jmp 0x1005fb1b
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea eax, [eax + ecx*8]
mov dword [esp + 0x14], eax
lea ecx, [esi + 0x2e24]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x193c]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.10044540
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x88], 0
cmp dword [esi + 0x1be0], ecx
jne 0x1006001c
mov eax, dword [edi + 8]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xe70], eax
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [esi + 0xec], 0
mov dword [esi + 0x31a4], 1
sete al
cmp byte [esp + 0x34], 0
mov byte [esi + 0x1bed], al
movss xmm6, dword [esi + 0xe4]
subss xmm6, dword [esp + 0xd4]
subss xmm6, dword [esi + 0x1560]
addss xmm6, dword [edi + 0x38]
je 0x1005fc15
mov eax, dword [esp + 0x84]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [eax + 0xf4]
subss xmm2, dword [esi + 0x1564]
jmp 0x1005fc25
movss xmm2, dword [esi + 0x1940]
mulss xmm2, dword [0x1012c800]
cmp byte [esp + 0x2c], 0
mov al, byte [esi + 0xb1]
mov byte [esp + 0x12], al
jne 0x1005fda6
mov cl, byte [esp + 0x48]
test cl, cl
je 0x1005fc52
test al, al
jne 0x1005fcbc
cmp byte [esi + 0x3dd], al
jne 0x1005fda6
cmp byte [esi + 0x3d8], 0
je 0x1005fd14
cmp byte [edi + 0xe6d], 0
jne 0x1005fd14
test cl, cl
je 0x1005fdc5
cmp byte [edi + 0x53], 0
je 0x1005fc96
push 0
mov edx, edi
lea ecx, [esp + 0xa4]
call fcn.1005d260
movss xmm2, dword [esp + 0xb0]
add esp, 4
movaps xmm1, xmm6
mov ecx, edi
call fcn.1005d5d0
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x1005fdc1
cmp byte [esi + 0x3dd], 0
je 0x1005fc52
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d9e0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.1005d9e0
mov esi, dword [esp + 0x2c]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x1005fdc1
cmp byte [esi + 0xec], 0
je 0x1005fdc5
cmp byte [edi + 0xe6d], 0
xorps xmm1, xmm1
jne 0x1005fdd1
movss xmm0, dword [esi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1005fd53
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1005fdc8
cmp byte [edi + 0x53], 0
je 0x1005fd75
push 0
mov edx, edi
lea ecx, [esp + 0xa4]
call fcn.1005d260
movss xmm2, dword [esp + 0xb0]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1005fd83
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm6
mov ecx, edi
call fcn.1005d5d0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x1005fdc1
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6d], 1
mov al, byte [esp + 0x12]
xorps xmm1, xmm1
cmp byte [edi + 0xe6d], 0
je 0x1005fde1
cmp byte [esi + 0xec], 0
jne 0x1005fde1
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xfc], 0
je 0x1005fdf3
cmp byte [esi + 0xfe], 0
je 0x1005fe00
test al, al
je 0x1005fe04
cmp byte [esi + 0xff], 0
je 0x1005fe04
mov dl, 1
jmp 0x1005fe06
xor dl, dl
test dword [ebp + 0x14], 0x400
mov byte [esp + 0x1a], dl
je 0x1005ff28
mov esi, dword [0x10132b9c]
mov eax, dword [esi + 0x34]
test eax, eax
js 0x1005ff2e
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1005fe9f
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x1005ff2e
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x1005fe64
xor eax, eax
jmp 0x1005fe97
comiss xmm1, xmm4
jb 0x1005fe73
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x1005fe97
comiss xmm3, xmm0
jbe 0x1005fe7d
or ecx, 0xffffffff
jmp 0x1005fe89
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si ecx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, ecx
test eax, eax
jle 0x1005ff2e
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
test dl, dl
jne 0x1005ff36
cmp byte [ecx + 0xfd], dl
jne 0x1005ff36
test al, al
jne 0x1005ff36
mov edx, dword [ecx + 0x1524]
mov eax, dword [ecx + 0x151c]
lea eax, [edx + eax*2]
mov dword [esp + 0x50], eax
cmp edx, eax
jae 0x1005fee8
mov ax, word [edx]
add edx, 2
cmp ax, 9
je 0x1005ff32
cmp edx, dword [esp + 0x50]
jb 0x1005fed6
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], 9
call fcn.1005ec70
add esp, 8
test al, al
je 0x1005ff28
push dword [esp + 0x20]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d9e0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov esi, dword [0x10132b9c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
cmp dword [ecx + 0x151c], 0
jle 0x10060022
cmp byte [esp + 0x1a], 0
jne 0x1005ffdf
test al, al
jne 0x1005ffdf
cmp byte [esp + 0x13], al
jne 0x1005ffdf
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop word [eax + eax]
mov eax, dword [esi + 0x1524]
movzx eax, word [eax + ecx*2]
mov dword [esp + 0x20], eax
cmp eax, 9
jne 0x1005ff8c
cmp byte [esi + 0xfd], 0
jne 0x1005ffc8
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x20]
sub esp, 8
call fcn.1005ec70
add esp, 8
test al, al
je 0x1005ffc4
push dword [esp + 0x20]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d9e0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 0x151c]
jl 0x1005ff70
mov esi, dword [0x10132b9c]
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 0x151c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], eax
test ecx, ecx
jns 0x10060014
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.1004be80
mov esi, dword [0x10132b9c]
mov eax, dword [esp + 0x20]
mov dword [eax], 0
jmp 0x10060022
mov esi, dword [0x10132b9c]
mov ecx, dword [esp + 0x28]
xor dl, dl
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x11], dl
cmp dword [ecx + 0x1be0], eax
jne 0x100612d6
cmp byte [ecx + 0x1bec], dl
jne 0x100612d6
cmp byte [esp + 0x3f], dl
jne 0x100612d6
mov dl, byte [ecx + 0xfd]
xor eax, eax
mov dh, byte [ecx + 0xb1]
test dl, dl
mov esi, 0x400000
mov byte [esp + 0x4b], dh
cmovne eax, esi
mov dword [esp + 0x4c], eax
test dh, dh
je 0x10060097
cmp byte [ecx + 0xff], 0
je 0x1006008f
cmp byte [ecx + 0xfc], 0
jne 0x1006008f
mov eax, 1
jmp 0x10060091
xor eax, eax
test eax, eax
je 0x100600bb
jmp 0x100600a9
cmp byte [ecx + 0xfc], 0
je 0x100600bb
cmp byte [ecx + 0xff], 0
jne 0x100600bb
cmp byte [ecx + 0xfe], 0
jne 0x100600bb
mov byte [esp + 0x12], 1
test dl, dl
je 0x100600c0
mov byte [esp + 0x12], 0
test dh, dh
je 0x100600ea
cmp byte [ecx + 0xff], 0
je 0x100600ea
test dl, dl
je 0x100600ea
cmp byte [ecx + 0xfc], 0
jne 0x100600ea
cmp byte [ecx + 0xfe], 0
jne 0x100600ea
mov byte [esp + 0x33], 1
jmp 0x100600f3
mov byte [esp + 0x33], 0
test dh, dh
je 0x10060164
cmp byte [ecx + 0xff], 0
mov ah, byte [ecx + 0xfe]
mov byte [esp + 0x26], ah
je 0x1006016f
cmp byte [ecx + 0xfc], 0
jne 0x1006016f
test ah, ah
jne 0x1006016f
mov dl, byte [ecx + 0xfc]
mov byte [esp + 0x19], 1
cmp byte [ecx + 0xfd], 0
mov byte [esp + 0x13], 0
je 0x100601d0
mov byte [esp + 0x13], 0
test dl, dl
jne 0x100601d0
mov byte [esp + 0x13], dl
cmp byte [ecx + 0xfe], dl
jne 0x100601d0
mov byte [esp + 0x13], dl
cmp byte [ecx + 0xff], dl
jne 0x100601d0
mov byte [esp + 0x27], 1
mov byte [esp + 0x13], dl
jmp 0x100601d5
mov ah, byte [ecx + 0xfc]
mov byte [esp + 0x33], 0
mov dl, byte [ecx + 0xfc]
mov al, ah
mov byte [esp + 0x26], al
mov byte [esp + 0x19], 0
test dl, dl
je 0x1006011e
cmp byte [ecx + 0xfd], 0
mov byte [esp + 0x26], al
mov byte [esp + 0x19], 0
jne 0x1006011e
cmp byte [ecx + 0xfe], 0
mov byte [esp + 0x26], al
mov byte [esp + 0x19], 0
jne 0x1006011e
cmp byte [ecx + 0xff], 0
mov byte [esp + 0x26], al
mov byte [esp + 0x19], 0
jne 0x1006011e
mov byte [esp + 0x13], 1
mov byte [esp + 0x26], al
mov byte [esp + 0x19], 0
mov byte [esp + 0x27], 0
cmp byte [esp + 0x12], 0
xorps xmm1, xmm1
mov esi, dword [0x10132b9c]
je 0x1006026a
mov eax, dword [esi + 0x80]
test eax, eax
js 0x1006026a
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100602ef
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x1006026a
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x1006022f
xor eax, eax
jmp 0x10060262
comiss xmm1, xmm4
jb 0x1006023e
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060262
comiss xmm3, xmm0
jbe 0x10060248
or edx, 0xffffffff
jmp 0x10060254
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jg 0x100602ef
cmp byte [esp + 0x27], 0
je 0x10060316
mov eax, dword [esi + 0x5c]
test eax, eax
js 0x10060316
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100602ef
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060316
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100602b8
xor eax, eax
jmp 0x100602eb
comiss xmm1, xmm4
jb 0x100602c7
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100602eb
comiss xmm3, xmm0
jbe 0x100602d1
or edx, 0xffffffff
jmp 0x100602dd
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060316
cmp byte [esp + 0x40], 0
jne 0x10060316
cmp byte [esp + 0xec], 0
jne 0x10060316
cmp byte [esp + 0x34], 0
je 0x1006030f
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10060316
mov byte [esp + 0x1a], 1
jmp 0x1006031b
mov byte [esp + 0x1a], 0
cmp byte [esp + 0x12], 0
je 0x100603a0
mov eax, dword [esi + 0x78]
test eax, eax
js 0x100603a0
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060425
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x100603a0
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060365
xor eax, eax
jmp 0x10060398
comiss xmm1, xmm4
jb 0x10060374
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060398
comiss xmm3, xmm0
jbe 0x1006037e
or edx, 0xffffffff
jmp 0x1006038a
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jg 0x10060425
cmp byte [esp + 0x13], 0
je 0x10060445
mov eax, dword [esi + 0x58]
test eax, eax
js 0x10060445
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060425
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060445
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100603ee
xor eax, eax
jmp 0x10060421
comiss xmm1, xmm4
jb 0x100603fd
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060421
comiss xmm3, xmm0
jbe 0x10060407
or edx, 0xffffffff
jmp 0x10060413
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060445
cmp byte [esp + 0xec], 0
jne 0x10060445
cmp byte [esp + 0x34], 0
je 0x1006043e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10060445
mov byte [esp + 0x13], 1
jmp 0x1006044a
mov byte [esp + 0x13], 0
cmp byte [esp + 0x12], 0
je 0x100604cf
mov eax, dword [esi + 0x7c]
test eax, eax
js 0x100604cf
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060550
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x100604cf
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060494
xor eax, eax
jmp 0x100604c7
comiss xmm1, xmm4
jb 0x100604a3
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100604c7
comiss xmm3, xmm0
jbe 0x100604ad
or edx, 0xffffffff
jmp 0x100604b9
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jg 0x10060550
cmp byte [esp + 0x27], 0
je 0x1006055c
mov eax, dword [esi + 0x58]
test eax, eax
js 0x1006055c
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060550
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x1006055c
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060519
xor eax, eax
jmp 0x1006054c
comiss xmm1, xmm4
jb 0x10060528
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x1006054c
comiss xmm3, xmm0
jbe 0x10060532
or edx, 0xffffffff
jmp 0x1006053e
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x1006055c
cmp byte [esp + 0x40], 0
mov byte [esp + 0x48], 1
je 0x10060561
mov byte [esp + 0x48], 0
mov dl, byte [esp + 0x12]
test dl, dl
je 0x10060606
mov eax, dword [esi + 0x88]
test eax, eax
js 0x10060606
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100605ee
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060606
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100605b3
xor eax, eax
jmp 0x100605ea
comiss xmm1, xmm4
jb 0x100605c2
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100605ea
comiss xmm3, xmm0
jbe 0x100605cc
or edx, 0xffffffff
jmp 0x100605d8
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
mov dl, byte [esp + 0x12]
test eax, eax
jle 0x10060606
cmp byte [esp + 0x40], 0
jne 0x10060606
cmp byte [esp + 0x98], 0
je 0x10060606
mov byte [esp + 0x27], 1
jmp 0x10060613
mov byte [esp + 0x27], 0
test dl, dl
je 0x10060694
mov eax, dword [esi + 0x84]
test eax, eax
js 0x10060694
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1006071c
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060694
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060659
xor eax, eax
jmp 0x1006068c
comiss xmm1, xmm4
jb 0x10060668
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x1006068c
comiss xmm3, xmm0
jbe 0x10060672
or edx, 0xffffffff
jmp 0x1006067e
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jg 0x1006071c
cmp byte [esp + 0x33], 0
je 0x10060732
mov eax, dword [esi + 0x88]
test eax, eax
js 0x10060732
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x1006071c
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060732
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100606e5
xor eax, eax
jmp 0x10060718
comiss xmm1, xmm4
jb 0x100606f4
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060718
comiss xmm3, xmm0
jbe 0x100606fe
or edx, 0xffffffff
jmp 0x1006070a
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060732
cmp byte [esp + 0x40], 0
jne 0x10060732
cmp byte [esp + 0x98], 0
mov byte [esp + 0x33], 1
jne 0x10060737
mov byte [esp + 0x33], 0
mov eax, dword [esi + 0x38]
test eax, eax
js 0x100607eb
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100607b5
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x100607eb
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x1006077e
xor eax, eax
jmp 0x100607b1
comiss xmm1, xmm4
jb 0x1006078d
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100607b1
comiss xmm3, xmm0
jbe 0x10060797
or edx, 0xffffffff
jmp 0x100607a3
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x100607eb
cmp byte [esp + 0x19], 0
je 0x100607c3
mov eax, 0x200004
jmp 0x100607d5
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [esp + 0x26], 0
cmovne eax, ecx
mov ecx, dword [esp + 0x4c]
lea edx, [edi + 0x3c]
or ecx, eax
push ecx
mov ecx, edi
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x10060883
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060865
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060883
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x1006082e
xor eax, eax
jmp 0x10060861
comiss xmm1, xmm4
jb 0x1006083d
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060861
comiss xmm3, xmm0
jbe 0x10060847
or edx, 0xffffffff
jmp 0x10060853
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060883
cmp byte [esp + 0x19], 0
je 0x10060876
mov eax, 0x200005
jmp 0x100607d5
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x100607cd
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1006096a
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060901
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x1006096a
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100608ca
xor eax, eax
jmp 0x100608fd
comiss xmm1, xmm4
jb 0x100608d9
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100608fd
comiss xmm3, xmm0
jbe 0x100608e3
or edx, 0xffffffff
jmp 0x100608ef
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x1006096a
cmp byte [esp + 0x34], 0
je 0x1006096a
cmp byte [ecx + 0xfc], 0
je 0x1006094a
mov eax, dword [esp + 0x84]
movss xmm0, dword [eax + 0x7c]
subss xmm0, dword [ecx + 0x1940]
mov dword [eax + 0x94], 0
mov dword [eax + 0x9c], 0
maxss xmm0, xmm1
movss dword [eax + 0x8c], xmm0
jmp 0x100612ac
movzx eax, byte [esp + 0x19]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, dword [esp + 0x4c]
push eax
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x44]
test eax, eax
js 0x10060a5b
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100609e8
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060a5b
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x100609b1
xor eax, eax
jmp 0x100609e4
comiss xmm1, xmm4
jb 0x100609c0
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x100609e4
comiss xmm3, xmm0
jbe 0x100609ca
or edx, 0xffffffff
jmp 0x100609d6
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060a5b
cmp byte [esp + 0x34], 0
je 0x10060a5b
cmp byte [ecx + 0xfc], 0
je 0x10060a3b
movss xmm0, dword [ecx + 0x1940]
mov ecx, dword [esp + 0x84]
mov eax, dword [esi + 0x1bac]
addss xmm0, dword [ecx + 0x7c]
minss xmm0, dword [eax + 0x84]
mov dword [ecx + 0x94], 0
mov dword [ecx + 0x9c], 0
movss dword [ecx + 0x8c], xmm0
jmp 0x100612ac
movzx eax, byte [esp + 0x19]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, dword [esp + 0x4c]
push eax
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x50]
test eax, eax
js 0x10060b00
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060ad5
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060b00
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060a9e
xor eax, eax
jmp 0x10060ad1
comiss xmm1, xmm4
jb 0x10060aad
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060ad1
comiss xmm3, xmm0
jbe 0x10060ab7
or edx, 0xffffffff
jmp 0x10060ac3
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060b00
mov edx, dword [esp + 0x4c]
mov eax, edx
or edx, 0x200004
or eax, 0x200006
cmp byte [ecx + 0xfc], 0
mov ecx, edi
cmovne edx, eax
push edx
lea edx, [edi + 0x3c]
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x54]
test eax, eax
js 0x10060ba5
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060b7a
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060ba5
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060b43
xor eax, eax
jmp 0x10060b76
comiss xmm1, xmm4
jb 0x10060b52
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060b76
comiss xmm3, xmm0
jbe 0x10060b5c
or edx, 0xffffffff
jmp 0x10060b68
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060ba5
mov edx, dword [esp + 0x4c]
mov eax, edx
or edx, 0x200005
or eax, 0x200007
cmp byte [ecx + 0xfc], 0
mov ecx, edi
cmovne edx, eax
push edx
lea edx, [edi + 0x3c]
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x5c]
test eax, eax
js 0x10060c40
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060c1f
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060c40
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060be8
xor eax, eax
jmp 0x10060c1b
comiss xmm1, xmm4
jb 0x10060bf7
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060c1b
comiss xmm3, xmm0
jbe 0x10060c01
or edx, 0xffffffff
jmp 0x10060c0d
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060c40
cmp byte [esp + 0x40], 0
jne 0x10060c40
mov ecx, dword [esp + 0x4c]
lea edx, [edi + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, edi
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x60]
test eax, eax
js 0x10060d3e
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060cc2
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060d3e
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060c87
xor eax, eax
jmp 0x10060cba
comiss xmm1, xmm4
jb 0x10060c96
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060cba
comiss xmm3, xmm0
jbe 0x10060ca0
or edx, 0xffffffff
jmp 0x10060cac
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060d3e
cmp byte [esp + 0x40], 0
jne 0x10060d3e
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10060d24
cmp byte [esp + 0x26], 0
je 0x10060cdf
push 0x60000c
jmp 0x10060d06
cmp byte [esp + 0x4b], 0
je 0x10060d24
cmp byte [ecx + 0xff], 0
je 0x10060d24
cmp byte [ecx + 0xfe], 0
jne 0x10060d24
cmp byte [ecx + 0xfc], 0
jne 0x10060d24
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d9e0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov ecx, dword [esp + 0x4c]
lea edx, [edi + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, edi
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x68]
test eax, eax
js 0x10060dbc
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060e3a
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060dbc
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060d81
xor eax, eax
jmp 0x10060db4
comiss xmm1, xmm4
jb 0x10060d90
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060db4
comiss xmm3, xmm0
jbe 0x10060d9a
or edx, 0xffffffff
jmp 0x10060da6
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jg 0x10060e3a
mov eax, dword [esi + 0x70]
test eax, eax
js 0x10060ea9
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060e3a
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060ea9
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060e03
xor eax, eax
jmp 0x10060e36
comiss xmm1, xmm4
jb 0x10060e12
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060e36
comiss xmm3, xmm0
jbe 0x10060e1c
or edx, 0xffffffff
jmp 0x10060e28
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060ea9
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [esp + 0x34], 0
je 0x10060e59
mov cl, byte [ecx + 0xfc]
test al, al
je 0x10060e68
test cl, cl
jne 0x10060e6c
mov byte [esp + 0x3f], 1
mov byte [esp + 0x1b], 1
jmp 0x100612ac
test cl, cl
jne 0x10060e59
cmp byte [esp + 0x40], 0
jne 0x100612ac
sub esp, 8
mov dword [esp + 0x28], 0xa
lea ecx, [esp + 0x28]
call fcn.1005ec70
add esp, 8
test al, al
je 0x100612ac
push dword [esp + 0x20]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d9e0
jmp 0x10061298
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x10060f2a
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060f1f
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060f2a
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060ee8
xor eax, eax
jmp 0x10060f1b
comiss xmm1, xmm4
jb 0x10060ef7
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060f1b
comiss xmm3, xmm0
jbe 0x10060f01
or edx, 0xffffffff
jmp 0x10060f0d
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060f2a
mov dl, 1
mov byte [esp + 0x3f], dl
jmp 0x100612b0
mov al, byte [esp + 0x27]
test al, al
jne 0x10061279
cmp byte [esp + 0x33], al
jne 0x10061279
cmp byte [esp + 0x12], al
je 0x10060fdd
mov eax, dword [esi + 0x74]
test eax, eax
js 0x10060fdd
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x10060fc4
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10060fdd
movss xmm4, dword [esi + 0x90]
movaps xmm0, xmm2
subss xmm0, dword [esi + 0x18]
comiss xmm0, xmm2
jb 0x10060f8d
xor eax, eax
jmp 0x10060fc0
comiss xmm1, xmm4
jb 0x10060f9c
xor eax, eax
comiss xmm3, xmm0
seta al
jmp 0x10060fc0
comiss xmm3, xmm0
jbe 0x10060fa6
or edx, 0xffffffff
jmp 0x10060fb2
subss xmm0, xmm3
divss xmm0, xmm4
cvttss2si edx, xmm0
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10060fdd
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x100612a5
mov al, byte [esp + 0x1a]
test al, al
jne 0x10061174
cmp byte [esp + 0x13], al
jne 0x10061174
cmp byte [esp + 0x48], al
je 0x100612ac
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x10061026
push dword [esi + 0xd8]
call eax
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x100612ac
mov esi, dword [0x10132b9c]
jmp 0x1006102f
mov eax, 0x101116ec
mov dword [esp + 0x20], eax
mov ecx, eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10061034
sub ecx, edx
test esi, esi
je 0x10061047
inc dword [esi + 0x370]
lea eax, [ecx*2 + 2]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x98], 0
cmp byte [esi], 0
je 0x100610c4
xor edi, edi
push 0
mov edx, esi
lea ecx, [esp + 0x18]
call fcn.10037aa0
add esp, 4
add esi, eax
cmp dword [esp + 0x14], 0
je 0x100610b5
mov edx, dword [ebp + 0x14]
lea ecx, [esp + 0x14]
sub esp, 8
call fcn.1005ec70
add esp, 8
test al, al
je 0x100610b0
mov ecx, dword [esp + 0x2c]
mov ax, word [esp + 0x14]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10061073
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x98]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x10061150
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x10061105
cmp edx, ecx
jle 0x100610f0
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x100610fc
mov dword [edi + 0x44], ecx
mov dword [esp + 0x20], ecx
cmp edx, dword [esp + 0x20]
jne 0x10061105
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x1006110d
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d8d0
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [esp + 0x30]
call fcn.1005d470
add esp, 8
test al, al
je 0x10061145
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.1005e960
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
mov eax, dword [esp + 0x2c]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x10061164
mov ecx, dword [0x10132b9c]
test ecx, ecx
je 0x10061164
dec dword [ecx + 0x370]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call eax
add esp, 4
jmp 0x100612ac
cmp dword [ecx + 0xd4], 0
je 0x1006123a
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x10061199
mov edx, ecx
cmovge ecx, eax
cmovl edx, eax
mov dword [esp + 0x14], edx
jmp 0x100611a4
mov ecx, dword [edi + 4]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0x14]
mov dword [esp + 0x20], ecx
lea edx, [eax + ecx*2]
mov ecx, dword [esp + 0x14]
lea ecx, [eax + ecx*2]
call fcn.10037d40
inc eax
mov dword [esp + 0x50], eax
test esi, esi
je 0x100611c9
inc dword [esi + 0x370]
push eax
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
call eax
mov esi, dword [edi + 0x14]
add esp, 4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
lea ecx, [esi + ecx*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [esp + 0x7c]
push ecx
mov ecx, esi
call fcn.10037cc0
mov eax, dword [0x10132b9c]
add esp, 8
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x1006121d
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x10132b9c]
add esp, 8
test esi, esi
je 0x1006122b
test eax, eax
je 0x1006122b
dec dword [eax + 0x370]
mov eax, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push esi
call eax
mov al, byte [esp + 0x1e]
add esp, 4
test al, al
je 0x100612ac
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1006125a
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100612ac
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1005d8d0
mov byte [edi + 0x52], 0
jmp 0x100612ac
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.1005d9e0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov dl, byte [esp + 0x11]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x100612c3
cmp byte [esp + 0x18], 0
je 0x100612c3
mov al, 1
jmp 0x100612c5
xor al, al
or byte [esp + 0x94], al
mov esi, dword [0x10132b9c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
cmp dword [ecx + 0x1be0], eax
jne 0x10061b9c
mov dword [esp + 0x80], 0
mov dword [esp + 0x6c], 0
test dl, dl
je 0x1006154b
cmp byte [esp + 0x40], 0
jne 0x10061535
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10061332
test dl, dl
je 0x1006132e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10061332
add eax, 2
add ecx, 2
test dl, dl
jne 0x10061312
xor eax, eax
jmp 0x10061337
sbb eax, eax
or eax, 1
test eax, eax
je 0x10061535
mov eax, dword [edi + 0x24]
xor edx, edx
mov ecx, dword [edi + 0x2c]
dec eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], edx
test eax, eax
jle 0x1006144e
lea esi, [eax + ecx]
mov edi, ecx
xor eax, eax
mov dword [esp + 0x14], eax
test esi, esi
je 0x10061372
cmp edi, esi
jae 0x10061396
cmp byte [edi], 0
je 0x10061396
push esi
mov edx, edi
lea ecx, [esp + 0x54]
call fcn.10037aa0
add edi, eax
add esp, 4
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x14]
je 0x10061396
inc eax
jmp 0x10061366
mov edi, dword [esp + 0x38]
lea edx, [eax + 1]
mov esi, dword [0x10132b9c]
mov dword [esp + 0x20], edx
test edx, edx
jle 0x100613da
cmp edx, 8
mov eax, edx
mov ecx, 8
cmovl eax, ecx
test eax, eax
jle 0x100613da
test esi, esi
je 0x100613c6
inc dword [esi + 0x370]
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x80]
add ecx, esi
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x7c]
mov eax, ecx
mov dword [esp + 0x14], eax
lea ecx, [ecx + edx*2]
add ecx, 0xfffffffe
mov dword [esp + 0x78], ecx
cmp eax, ecx
jae 0x10061449
mov edi, dword [esp + 0x50]
test edi, edi
je 0x1006140f
cmp esi, edi
jae 0x10061441
cmp byte [esi], 0
je 0x10061441
push edi
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.10037aa0
mov ecx, dword [esp + 0x54]
add esi, eax
mov eax, dword [esp + 0x18]
add esp, 4
test ecx, ecx
je 0x10061441
mov word [eax], cx
add eax, 2
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x78]
jb 0x10061407
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov word [eax], cx
mov esi, dword [edi + 4]
lea eax, [edx - 1]
xor ecx, ecx
cmp dword [esp + 0x6c], ecx
cmovle eax, ecx
lea ecx, [edi + 0x5c]
push eax
push esi
xor edx, edx
mov dword [esp + 0x58], eax
call fcn.1005e960
mov edx, eax
add esp, 8
test edx, edx
je 0x10061490
xor ecx, ecx
test esi, esi
jle 0x10061490
nop dword [eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
cmp ecx, esi
jl 0x10061480
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 4]
mov dword [esp + 0x14], ecx
mov byte [edi + 0xe6e], 1
lea esi, [ecx + eax*2]
mov edx, esi
call fcn.10037d40
sub dword [edi + 8], eax
mov dword [edi + 4], 0
movzx eax, word [esi]
add esi, 2
test ax, ax
je 0x100614de
mov edi, dword [esp + 0x14]
mov word [edi], ax
lea esi, [esi + 2]
movzx eax, word [esi - 2]
add edi, 2
test ax, ax
jne 0x100614c4
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov esi, dword [esp + 0x50]
mov word [eax], cx
test esi, esi
jle 0x1006150e
push esi
push dword [esp + 0x80]
xor edx, edx
mov ecx, edi
call fcn.1005d470
add esp, 8
test al, al
je 0x1006150e
mov dword [edi + 0x3c], esi
mov byte [edi + 0x52], 0
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x1006152f
mov eax, dword [0x10132b9c]
test eax, eax
je 0x10061525
dec dword [eax + 0x370]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov esi, dword [0x10132b9c]
cmp byte [esp + 0x1b], 0
mov eax, dword [ebp + 0x14]
je 0x10061a8d
test al, 0x20
je 0x10061a8d
cmp byte [esp + 0x40], 0
jne 0x100615b1
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea esi, [eax*4 + 1]
mov eax, dword [ecx + 4]
cmp esi, eax
jle 0x10061597
test eax, eax
je 0x1006157d
cdq
sub eax, edx
lea edx, [edi + 0x18]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10061585
mov ecx, 8
lea edx, [edi + 0x18]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1004bcb0
lea ecx, [edi + 0x18]
mov dword [ecx], esi
mov edx, esi
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.10037cc0
mov esi, dword [0x10132b9c]
add esp, 8
mov edx, dword [ebp + 0x14]
test edx, 0x1c0
je 0x10061a43
xor ecx, ecx
xorps xmm0, xmm0
test dl, 0x40
je 0x10061657
mov eax, dword [esi + 0x34]
test eax, eax
js 0x10061657
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1006164b
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x10061657
movss xmm4, dword [esi + 0x90]
movaps xmm1, xmm2
subss xmm1, dword [esi + 0x18]
comiss xmm1, xmm2
jb 0x10061611
xor eax, eax
jmp 0x10061647
comiss xmm0, xmm4
jb 0x10061620
xor eax, eax
comiss xmm3, xmm1
seta al
jmp 0x10061647
comiss xmm3, xmm1
jbe 0x1006162a
or edx, 0xffffffff
jmp 0x10061636
subss xmm1, xmm3
divss xmm1, xmm4
cvttss2si edx, xmm1
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
mov edx, dword [ebp + 0x14]
test eax, eax
jle 0x10061657
mov ecx, 0x40
xor eax, eax
jmp 0x1006179d
test dl, dl
jns 0x1006178a
mov eax, dword [esi + 0x40]
test eax, eax
js 0x10061700
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10061680
mov al, 1
jmp 0x100616ef
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x100616ed
movss xmm4, dword [esi + 0x90]
movaps xmm1, xmm2
subss xmm1, dword [esi + 0x18]
comiss xmm1, xmm2
jb 0x100616ab
xor eax, eax
test eax, eax
setg al
jmp 0x100616ef
comiss xmm0, xmm4
jb 0x100616bf
xor eax, eax
comiss xmm3, xmm1
seta al
test eax, eax
setg al
jmp 0x100616ef
comiss xmm3, xmm1
jbe 0x100616c9
or edx, 0xffffffff
jmp 0x100616d5
subss xmm1, xmm3
divss xmm1, xmm4
cvttss2si edx, xmm1
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
mov edx, dword [ebp + 0x14]
test eax, eax
setg al
jmp 0x100616ef
xor al, al
test al, al
je 0x10061700
mov ecx, 0x80
lea eax, [ecx - 0x7d]
jmp 0x1006179d
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1006178a
movss xmm2, dword [esi + eax*4 + 0x46c]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1006177a
movss xmm3, dword [esi + 0x8c]
comiss xmm2, xmm3
jbe 0x1006178a
movss xmm4, dword [esi + 0x90]
movaps xmm1, xmm2
subss xmm1, dword [esi + 0x18]
comiss xmm1, xmm2
jb 0x10061743
xor eax, eax
jmp 0x10061776
comiss xmm0, xmm4
jb 0x10061752
xor eax, eax
comiss xmm3, xmm1
seta al
jmp 0x10061776
comiss xmm3, xmm1
jbe 0x1006175c
or edx, 0xffffffff
jmp 0x10061768
subss xmm1, xmm3
divss xmm1, xmm4
cvttss2si edx, xmm1
subss xmm2, xmm3
divss xmm2, xmm4
cvttss2si eax, xmm2
sub eax, edx
test eax, eax
jle 0x10061787
mov edx, dword [ebp + 0x14]
mov ecx, 0x80
lea eax, [ecx - 0x7c]
jmp 0x1006179d
mov edx, dword [ebp + 0x14]
test edx, 0x100
mov eax, pe_nt_image_headers32
cmovne ecx, eax
mov eax, 0x16
test ecx, ecx
je 0x10061a43
mov dword [esp + 0x130], eax
xor esi, esi
mov eax, dword [edi + 0x20]
mov dword [esp + 0x134], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x138], eax
mov eax, dword [edi + 0x34]
mov word [esp + 0x141], si
mov dword [esp + 0x128], esi
mov esi, dword [edi + 0x14]
mov dword [esp + 0x13c], eax
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x120], ecx
mov ecx, esi
mov dword [esp + 0x124], edx
mov dword [esp + 0x12c], 0
lea edx, [esi + eax*2]
mov byte [esp + 0x143], 0
mov byte [esp + 0x140], 0
call fcn.10037d40
mov edx, dword [esp + 0x38]
mov edi, eax
mov ecx, esi
mov dword [esp + 0x144], edi
mov edx, dword [edx + 0x40]
lea edx, [esi + edx*2]
call fcn.10037d40
mov dword [esp + 0x78], eax
mov ecx, esi
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.10037d40
mov dword [esp + 0x44], eax
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x120]
push eax
xor eax, eax
call eax
mov ecx, dword [esp + 0x148]
add esp, 4
mov eax, dword [esp + 0x134]
mov dword [esp + 0x2c], eax
cmp ecx, edi
je 0x100618c5
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x1006188d
cmp esi, edi
jae 0x100618b1
cmp byte [esi], 0
je 0x100618b1
push edi
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.10037aa0
add esi, eax
add esp, 4
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x14]
je 0x100618b1
inc eax
jmp 0x10061881
mov edi, dword [esp + 0x38]
mov dword [edi + 0x3c], eax
mov eax, dword [esp + 0x2c]
mov byte [edi + 0xe6c], 1
jmp 0x100618c9
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x148]
cmp ecx, dword [esp + 0x78]
je 0x10061918
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x100618e9
cmp esi, edi
jae 0x1006190d
cmp byte [esi], 0
je 0x1006190d
push edi
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.10037aa0
add esi, eax
add esp, 4
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x14]
je 0x1006190d
inc eax
jmp 0x100618dd
mov edi, dword [esp + 0x38]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14c]
cmp ecx, dword [esp + 0x44]
je 0x10061963
lea edi, [ecx + eax]
mov esi, eax
xor eax, eax
mov dword [esp + 0x14], eax
test edi, edi
je 0x10061938
cmp esi, edi
jae 0x1006195c
cmp byte [esi], 0
je 0x1006195c
push edi
mov edx, esi
lea ecx, [esp + 0x54]
call fcn.10037aa0
add esi, eax
add esp, 4
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0x14]
je 0x1006195c
inc eax
jmp 0x1006192c
mov edi, dword [esp + 0x38]
mov dword [edi + 0x44], eax
cmp byte [esp + 0x140], 0
je 0x10061a43
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x88]
cmp ecx, edx
jle 0x100619d3
cmp byte [esp + 0x90], 0
je 0x100619d3
mov esi, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
sub esi, edx
add esi, ecx
cmp esi, eax
jle 0x100619d0
test eax, eax
je 0x100619ae
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x100619b6
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1004be80
mov eax, dword [esp + 0x134]
mov dword [esp + 0x2c], eax
mov dword [edi + 0xc], esi
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov eax, dword [edi + 0xc]
dec eax
mov dword [esp + 0x44], ecx
lea eax, [ecx + eax*2]
mov dword [esp + 0x78], eax
cmp ecx, eax
jae 0x10061a23
mov edi, dword [esp + 0x2c]
nop
cmp byte [edi], 0
je 0x10061a1b
push 0
mov edx, edi
lea ecx, [esp + 0x54]
call fcn.10037aa0
add edi, eax
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
je 0x10061a1b
mov word [esi], ax
add esi, 2
cmp esi, dword [esp + 0x78]
jb 0x100619f0
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [esp + 0x138]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
cmp byte [esp + 0x40], 0
jne 0x10061a8a
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10061a72
test dl, dl
je 0x10061a6e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10061a72
add eax, 2
add ecx, 2
test dl, dl
jne 0x10061a52
xor eax, eax
jmp 0x10061a77
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x10061a8d
mov ecx, dword [edi + 8]
mov dword [esp + 0x80], esi
jmp 0x10061a91
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x80]
test edx, edx
je 0x10061b76
cmp byte [esp + 0x90], 0
je 0x10061b46
mov dword [esp + 0x154], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
mov dword [esp + 0x164], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [esp + 0x15c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x150]
push eax
xor eax, eax
movlpd qword [esp + 0x174], xmm0
movlpd qword [esp + 0x17c], xmm0
mov dword [esp + 0x154], 0x40000
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x15c], 0
call eax
mov esi, dword [esp + 0x170]
add esp, 4
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x80]
mov dword [ebp + 8], eax
lea ecx, [esi - 1]
cmp dword [esp + 0x168], ecx
cmovl ecx, dword [esp + 0x168]
jmp 0x10061b49
mov esi, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, esi
cmovl esi, eax
cmp esi, 1
jb 0x10061b71
jbe 0x10061b69
lea eax, [esi - 1]
push eax
push edx
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [esi + eax - 1], 0
mov byte [esp + 0x4a], 1
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [esp + 0x3f], 0
je 0x10061bb0
cmp dword [ecx + 0x1be0], eax
jne 0x10061bb0
call fcn.1003a360
cmp byte [esp + 0x34], 0
movss xmm3, dword [0x1012c990]
jne 0x10061e96
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xd4]
push 1
call fcn.10039680
mov esi, dword [esp + 0x2c]
add esp, 4
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
jne 0x10061bef
mov ecx, 0x11
jmp 0x10061c02
cmp dword [esi + 0x1bcc], eax
mov ecx, 5
mov eax, 8
cmove ecx, eax
mov eax, dword [0x10132b9c]
add ecx, ecx
movss xmm5, dword [0x1012c844]
xorps xmm0, xmm0
movups xmm1, xmmword [eax + ecx*8 + 0x15ec]
comiss xmm0, xmm1
movaps xmm2, xmm1
movaps xmmword [esp + 0xa0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1528]
jbe 0x10061c3d
xorps xmm1, xmm1
jmp 0x10061c41
minss xmm1, xmm5
movss xmm3, dword [0x1012c990]
movss xmm4, dword [0x1012c800]
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si ecx, xmm1
movss xmm1, dword [esp + 0xa4]
comiss xmm0, xmm1
jbe 0x10061c70
xorps xmm1, xmm1
jmp 0x10061c74
minss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0xa8]
shl eax, 8
or ecx, eax
comiss xmm0, xmm1
jbe 0x10061c98
xorps xmm1, xmm1
jmp 0x10061c9c
minss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm2
jbe 0x10061cb7
xorps xmm2, xmm2
jmp 0x10061cbb
minss xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si edx, xmm2
shl edx, 0x18
or edx, ecx
call fcn.10038480
mov eax, dword [0x10132b9c]
xorps xmm0, xmm0
movss xmm5, dword [0x1012c844]
movups xmm1, xmmword [eax + 0x165c]
comiss xmm0, xmm1
movaps xmm2, xmm1
movaps xmmword [esp + 0xa0], xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1528]
jbe 0x10061d09
xorps xmm1, xmm1
jmp 0x10061d0d
minss xmm1, xmm5
movss xmm3, dword [0x1012c990]
movss xmm4, dword [0x1012c800]
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si edx, xmm1
movss xmm1, dword [esp + 0xa4]
comiss xmm0, xmm1
jbe 0x10061d3c
xorps xmm1, xmm1
jmp 0x10061d40
minss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
movss xmm1, dword [esp + 0xa8]
shl eax, 8
or edx, eax
comiss xmm0, xmm1
jbe 0x10061d64
xorps xmm1, xmm1
jmp 0x10061d68
minss xmm1, xmm5
mulss xmm1, xmm3
addss xmm1, xmm4
cvttss2si eax, xmm1
shl eax, 0x10
or edx, eax
comiss xmm0, xmm2
jbe 0x10061d83
xorps xmm2, xmm2
jmp 0x10061d87
minss xmm2, xmm5
push dword [esp + 0xe0]
mulss xmm2, xmm3
push dword [esp + 0xe0]
push dword [esp + 0xe0]
addss xmm2, xmm4
push dword [esp + 0xe0]
cvttss2si ecx, xmm2
movss xmm2, dword [esi + 0x1568]
shl ecx, 0x18
or ecx, edx
mov dl, 1
call fcn.100391c0
mov esi, dword [0x10132b9c]
add esp, 0x10
movss xmm6, dword [esp + 0x70]
movss xmm4, dword [esp + 0xd8]
movss xmm3, dword [0x1012c990]
movaps xmm2, xmm4
mov eax, dword [esi + 0x1cd8]
mov ecx, dword [esi + 0x1ce0]
addss xmm2, dword [esp + 0x8c]
movss dword [esp + 0x104], xmm4
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 - 0x14]
movups xmm0, xmmword [ecx + edx*4 - 0x10]
mov edx, esi
mov esi, dword [esp + 0x28]
add eax, eax
movss dword [esp + 0x90], xmm2
movss dword [esp + 0x10c], xmm2
movups xmmword [edx + eax*8 + 0x15ec], xmm0
dec dword [edx + 0x1cd8]
movss xmm0, dword [esp + 0xd4]
addss xmm6, xmm0
movss dword [esp + 0x100], xmm0
addss xmm0, dword [esi + 0x1560]
movss dword [esp + 0x88], xmm6
movss dword [esp + 0xc8], xmm0
movaps xmm0, xmm4
addss xmm0, dword [esi + 0x1564]
movss dword [esp + 0x108], xmm6
movss dword [esp + 0x14], xmm6
movss xmm6, dword [esp + 0x70]
movss dword [esp + 0xcc], xmm0
jmp 0x10061f2e
movss xmm1, dword [esp + 0xd4]
movss xmm0, dword [esp + 0xd8]
movaps xmm4, xmm1
movss xmm6, dword [esp + 0x70]
movaps xmm2, xmm0
addss xmm2, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
addss xmm4, xmm6
mov edx, dword [0x10132b9c]
mov esi, dword [esp + 0x28]
movss dword [esp + 0x100], xmm1
mov eax, dword [ecx + 0xf0]
mov ecx, dword [ecx + 0xf4]
movaps xmm1, xmm4
movss dword [esp + 0x104], xmm0
movaps xmm0, xmm2
movss dword [esp + 0x14], xmm4
movss dword [esp + 0x88], xmm1
movss dword [esp + 0x108], xmm1
movss dword [esp + 0x90], xmm0
movss dword [esp + 0x10c], xmm0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
cmp byte [esp + 0x49], 0
lea eax, [esp + 0xc8]
movss xmm7, dword [eax]
xorps xmm1, xmm1
movss xmm5, dword [eax + 4]
movss dword [esp + 0x9c], xmm2
xorps xmm2, xmm2
mov dword [esp + 0x74], eax
movss dword [esp + 0x6c], xmm7
movss dword [esp + 0xf8], xmm7
movss dword [esp + 0x7c], xmm5
movss dword [esp + 0xfc], xmm5
movss dword [esp + 0x98], xmm1
movss dword [esp + 0x20], xmm2
je 0x10061f8d
mov ecx, dword [edi + 0x20]
mov dword [ebp + 8], ecx
jmp 0x10061f90
mov ecx, dword [ebp + 8]
cmp byte [esp + 0x18], 0
jne 0x10062231
cmp byte [esp + 0x94], 0
jne 0x10062231
cmp byte [esp + 0x34], 0
je 0x1006200e
mov edi, dword [ebp + 8]
xor ecx, ecx
mov al, byte [edi]
inc edi
mov byte [esp + 0x4b], al
test al, al
je 0x10061fda
mov dl, al
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x10061fc2
mov edx, dword [0x10132b9c]
mov al, byte [edi - 1]
dec edi
mov dword [esp + 0x4c], edi
cmp al, 0xa
je 0x10061feb
cmp al, 0xd
je 0x10061feb
inc ecx
movd xmm4, ecx
movaps xmm0, xmm6
cvtdq2ps xmm4, xmm4
movss dword [esp + 0x98], xmm0
mulss xmm4, dword [esi + 0x1940]
movss dword [esp + 0x20], xmm4
jmp 0x10062048
mov eax, dword [esp + 0x1c]
cmp dword [esi + 0x1be0], eax
jne 0x10062021
mov edi, dword [edi + 8]
add edi, ecx
jmp 0x10062035
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062024
sub ecx, edi
mov edi, dword [ebp + 8]
add edi, ecx
mov ecx, dword [ebp + 8]
mov eax, edi
mov dword [esp + 0x4c], edi
sub eax, ecx
cmp eax, 0x200000
jge 0x10062ff1
movups xmm2, xmmword [edx + 0x15ec]
movss xmm5, dword [0x1012c844]
comiss xmm1, xmm2
movaps xmm0, xmm2
movaps xmmword [esp + 0xa0], xmm2
shufps xmm0, xmm2, 0xff
mulss xmm0, dword [edx + 0x1528]
jbe 0x10062078
movaps xmm2, xmm1
jmp 0x1006207c
minss xmm2, xmm5
movss xmm4, dword [0x1012c800]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si ecx, xmm2
movss xmm2, dword [esp + 0xa4]
comiss xmm1, xmm2
jbe 0x100620a3
movaps xmm2, xmm1
jmp 0x100620a7
minss xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0xa8]
shl eax, 8
or ecx, eax
comiss xmm1, xmm2
jbe 0x100620cb
movaps xmm2, xmm1
jmp 0x100620cf
minss xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm0
jbe 0x100620ea
movaps xmm0, xmm1
jmp 0x100620ee
minss xmm0, xmm5
movss xmm2, dword [esi + 0x1940]
mulss xmm0, xmm3
mov dword [esp + 0x14], edi
lea edi, [esp + 0x100]
mov dword [esp + 0x50], 0
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0x84]
cmp byte [esp + 0x34], 0
mov dword [esp + 0x44], eax
cmovne edi, dword [esp + 0x50]
mov ecx, dword [ecx + 0x294]
mov dword [esp + 0x78], ecx
test eax, 0xff000000
je 0x10062f32
cmp dword [esp + 0x4c], 0
jne 0x1006216f
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x50], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062155
sub ecx, dword [esp + 0x50]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x14], eax
jmp 0x10062173
mov eax, dword [esp + 0x14]
cmp dword [ebp + 8], eax
je 0x10062f32
mov edx, dword [esi + 0x193c]
test edx, edx
jne 0x1006218c
mov eax, dword [ecx + 0x2c]
mov edx, dword [eax + 8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1006219d
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [esp + 0x50], xmm0
test edi, edi
je 0x100621f9
movss xmm1, dword [edi]
movss xmm0, dword [esp + 0x50]
comiss xmm0, xmm1
jae 0x100621bf
movss dword [esp + 0x50], xmm1
movss xmm1, dword [edi + 4]
movss xmm0, dword [esp + 0x54]
comiss xmm0, xmm1
jae 0x100621d5
movss dword [esp + 0x54], xmm1
movss xmm0, dword [edi + 8]
comiss xmm0, dword [esp + 0x58]
ja 0x100621e7
movss dword [esp + 0x58], xmm0
movss xmm0, dword [edi + 0xc]
comiss xmm0, dword [esp + 0x5c]
ja 0x100621f9
movss dword [esp + 0x5c], xmm0
mov eax, dword [esp + 0x74]
test edi, edi
mov edi, dword [esp + 0x14]
push dword [eax + 4]
push dword [eax]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [esp + 0x60]
push edi
push dword [ebp + 8]
push eax
push dword [esp + 0x60]
push ecx
mov ecx, edx
call fcn.10052810
jmp 0x10062f2c
mov eax, dword [edi + 8]
xor esi, esi
add eax, ecx
movss dword [esp + 0x44], xmm1
cmp byte [esp + 0x18], 0
xorps xmm4, xmm4
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xc8], 0xfffffc18
mov dword [esp + 0x80], 0xfffffc18
je 0x10062296
mov eax, dword [edi + 0x3c]
mov esi, 1
mov dword [esp + 0xc8], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [esp + 0x74], eax
cmp byte [esp + 0x94], 0
je 0x100622c8
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [esp + 0x1c]
cmovl ecx, dword [edi + 0x40]
inc esi
mov dword [esp + 0x80], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xe4], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
movzx eax, al
add esi, eax
xor eax, eax
movzx edx, word [edx]
test dx, dx
mov dword [esp + 0x2c], eax
mov edx, dword [0x10132b9c]
je 0x10062356
mov edi, dword [esp + 0x1c]
movzx edx, word [edi]
mov edi, dword [esp + 0xc8]
cmp dx, 0xa
jne 0x10062333
inc eax
mov dword [esp + 0x2c], eax
cmp edi, 0xffffffff
jne 0x10062314
cmp ecx, dword [esp + 0x74]
jb 0x10062314
dec esi
mov edi, eax
test esi, esi
jle 0x10062345
cmp dword [esp + 0x80], 0xffffffff
jne 0x10062333
cmp ecx, dword [esp + 0xe4]
jb 0x10062333
dec esi
mov dword [esp + 0x80], eax
test esi, esi
jle 0x10062345
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x2c]
jne 0x100622f7
mov edx, dword [0x10132b9c]
mov dword [esp + 0xc8], edi
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x74]
inc eax
cmp dword [esp + 0xc8], 0xffffffff
mov ecx, eax
mov dword [esp + 0x2c], eax
cmovne ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x80]
cmp eax, 0xffffffff
mov dword [esp + 0x78], ecx
mov ecx, esi
cmove eax, dword [esp + 0x2c]
mov dword [esp + 0x80], eax
cmp esi, dword [esp + 0x1c]
jbe 0x100623a9
mov edi, dword [esp + 0x1c]
cmp word [ecx - 2], 0xa
je 0x100623a5
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10062397
mov edi, dword [esp + 0x38]
mov eax, dword [edx + 0x193c]
movaps xmm2, xmm1
movss xmm3, dword [edx + 0x1940]
movaps xmm6, xmm1
divss xmm3, dword [eax + 0x10]
cmp ecx, esi
jae 0x1006240d
mov edi, eax
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x100623e1
maxss xmm6, xmm2
movaps xmm2, xmm6
movaps xmm6, xmm1
jmp 0x10062403
cmp esi, 0xd
je 0x10062403
mov esi, eax
cmp esi, dword [edi]
jge 0x100623f6
mov eax, dword [edi + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x100623fb
movss xmm0, dword [edi + 0xc]
mulss xmm0, xmm3
addss xmm6, xmm0
cmp ecx, dword [esp + 0x74]
jb 0x100623c8
mov edi, dword [esp + 0x38]
cmp dword [esp + 0x80], 0
maxss xmm6, xmm2
movd xmm2, dword [esp + 0x78]
mov esi, dword [esp + 0x28]
cvtdq2ps xmm2, xmm2
movss xmm0, dword [esi + 0x1940]
mulss xmm2, xmm0
movss dword [esp + 0x50], xmm6
movss dword [esp + 0x78], xmm2
jl 0x10062520
mov eax, dword [esp + 0xe4]
mov ecx, eax
cmp eax, dword [esp + 0x1c]
jbe 0x10062469
mov edi, dword [esp + 0x1c]
cmp word [ecx - 2], 0xa
je 0x10062465
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x10062457
mov edi, dword [esp + 0x38]
movaps xmm3, xmm1
mov eax, dword [edx + 0x193c]
movaps xmm4, xmm1
movss xmm5, dword [edx + 0x1940]
mov dword [esp + 0x44], eax
divss xmm5, dword [eax + 0x10]
cmp ecx, dword [esp + 0xe4]
jae 0x100624f2
mov esi, eax
movzx eax, word [ecx]
add ecx, 2
mov dword [esp + 0x44], eax
mov edx, eax
cmp eax, 0xa
jne 0x100624ae
maxss xmm4, xmm3
movaps xmm3, xmm4
movaps xmm4, xmm1
jmp 0x100624db
cmp edx, 0xd
je 0x100624db
movzx eax, ax
cmp eax, dword [esi]
jge 0x100624cb
mov edx, dword [esp + 0x44]
mov eax, dword [esi + 8]
movzx edi, dx
movss xmm2, dword [eax + edi*4]
jmp 0x100624d0
movss xmm2, dword [esi + 0xc]
movaps xmm0, xmm5
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, dword [esp + 0xe4]
jb 0x10062491
mov edi, dword [esp + 0x38]
mov edx, dword [0x10132b9c]
mov esi, dword [esp + 0x28]
movd xmm6, dword [esp + 0x80]
maxss xmm4, xmm3
movss xmm0, dword [esi + 0x1940]
movss xmm5, dword [esp + 0x7c]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm0
movss dword [esp + 0x44], xmm6
movss xmm6, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
test cl, cl
je 0x1006254f
movd xmm2, dword [esp + 0x2c]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm0
movss dword [esp + 0x20], xmm2
movss xmm2, dword [esp + 0x70]
movaps xmm0, xmm2
movss dword [esp + 0x98], xmm0
jmp 0x10062555
movss xmm2, dword [esp + 0x70]
cmp byte [esp + 0x18], 0
je 0x10062638
cmp byte [edi + 0xe6c], 0
je 0x10062638
test dword [ebp + 0x14], 0x1000
jne 0x100625b6
movss xmm3, dword [edi + 0x38]
movaps xmm0, xmm6
comiss xmm3, xmm6
mulss xmm2, dword [0x1012c7d0]
jbe 0x10062595
subss xmm0, xmm2
maxss xmm0, xmm1
jmp 0x100625a4
subss xmm0, dword [esp + 0x70]
comiss xmm0, xmm3
jb 0x100625bd
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x100625bd
mov dword [edi + 0x38], 0
test cl, cl
je 0x10062631
movss xmm3, dword [esp + 0x78]
mov eax, dword [esp + 0x84]
movaps xmm0, xmm3
subss xmm0, dword [esi + 0x1940]
movss xmm2, dword [eax + 0x7c]
comiss xmm2, xmm0
jbe 0x100625ed
maxss xmm0, xmm1
jmp 0x100625fd
movaps xmm0, xmm3
subss xmm0, dword [esp + 0x8c]
maxss xmm0, xmm2
subss xmm2, xmm0
addss xmm2, xmm5
movss dword [esp + 0xfc], xmm2
movss dword [eax + 0x7c], xmm0
movss xmm5, dword [esp + 0xfc]
movss xmm7, dword [esp + 0xf8]
movss dword [esp + 0x7c], xmm5
movss dword [esp + 0x6c], xmm7
mov byte [edi + 0xe6c], 0
cmp byte [esp + 0x94], 0
movss xmm6, dword [edi + 0x38]
movss dword [esp + 0xc8], xmm6
je 0x10062a52
mov ecx, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov eax, edx
mov esi, dword [esp + 0x1c]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cmp byte [esp + 0x18], 0
lea esi, [esi + eax*2]
mov eax, dword [esp + 0x1c]
lea ecx, [eax + edx*2]
mov dword [esp + 0x74], ecx
je 0x10062687
movss xmm2, dword [0x1012c844]
jmp 0x1006268f
movss xmm2, dword [0x1012c804]
mov edx, dword [0x10132b9c]
movups xmm3, xmmword [edx + 0x18dc]
mulss xmm2, dword [edx + 0x1528]
comiss xmm1, xmm3
movaps xmm0, xmm3
movaps xmmword [esp + 0xa0], xmm3
shufps xmm0, xmm3, 0xff
mulss xmm2, xmm0
jbe 0x100626c1
movaps xmm3, xmm1
jmp 0x100626c9
minss xmm3, dword [0x1012c844]
mulss xmm3, dword [0x1012c990]
movss xmm0, dword [esp + 0xa4]
comiss xmm1, xmm0
addss xmm3, dword [0x1012c800]
cvttss2si eax, xmm3
mov dword [esp + 0x2c], eax
jbe 0x100626f4
movaps xmm0, xmm1
jmp 0x100626fc
minss xmm0, dword [0x1012c844]
movss xmm3, dword [0x1012c990]
mulss xmm0, xmm3
addss xmm0, dword [0x1012c800]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xa8]
shl eax, 8
or dword [esp + 0x2c], eax
comiss xmm1, xmm0
jbe 0x1006272e
movaps xmm0, xmm1
jmp 0x10062736
minss xmm0, dword [0x1012c844]
mulss xmm0, xmm3
addss xmm0, dword [0x1012c800]
cvttss2si eax, xmm0
shl eax, 0x10
or dword [esp + 0x2c], eax
comiss xmm1, xmm2
jbe 0x10062757
movaps xmm2, xmm1
jmp 0x1006275f
minss xmm2, dword [0x1012c844]
mulss xmm2, xmm3
addss xmm2, dword [0x1012c800]
cvttss2si eax, xmm2
shl eax, 0x18
or eax, dword [esp + 0x2c]
cmp byte [esp + 0x34], 0
mov dword [esp + 0x94], eax
je 0x10062795
movss dword [esp + 0xe4], xmm1
movss dword [esp + 0x2c], xmm1
jmp 0x100627b4
movss xmm0, dword [0x1012c9fc]
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [0x1012c890]
movss dword [esp + 0x2c], xmm0
addss xmm7, xmm4
subss xmm7, xmm6
movaps xmm6, xmm5
addss xmm6, dword [esp + 0x44]
movss dword [esp + 0x44], xmm6
cmp esi, ecx
jae 0x10062a45
movss xmm2, dword [esp + 0x90]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x74]
nop dword [eax]
nop dword [eax + eax]
movaps xmm0, xmm2
addss xmm0, dword [ecx + 0x1940]
comiss xmm6, xmm0
ja 0x10062a32
movss xmm0, dword [esp + 0xd8]
comiss xmm0, xmm6
jbe 0x10062839
cmp esi, edi
jae 0x10062a0d
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x10062a0d
cmp esi, edi
jb 0x10062820
jmp 0x10062a0d
mov eax, dword [edx + 0x193c]
movaps xmm4, xmm1
movss xmm3, dword [edx + 0x1940]
movaps xmm2, xmm1
divss xmm3, dword [eax + 0x10]
cmp esi, edi
jae 0x100628a3
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10062891
cmp ecx, 0xd
je 0x10062889
mov eax, dword [edx + 0x193c]
cmp ecx, dword [eax]
jge 0x1006287c
mov eax, dword [eax + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10062881
movss xmm0, dword [eax + 0xc]
mulss xmm0, xmm3
addss xmm2, xmm0
cmp esi, dword [esp + 0x74]
jb 0x10062856
jmp 0x1006289b
movaps xmm4, xmm2
movaps xmm2, xmm1
maxss xmm4, xmm1
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x28]
maxss xmm2, xmm4
comiss xmm1, xmm2
jb 0x100628dc
mov eax, dword [ecx + 0x193c]
cmp dword [eax], 0x20
jle 0x100628c4
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100628c9
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x1012c800]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss xmm0, dword [esp + 0xe4]
addss xmm2, xmm7
subss xmm0, dword [ecx + 0x1940]
movss xmm1, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x88]
addss xmm1, xmm6
movss xmm3, dword [esp + 0xd8]
movss xmm5, dword [esp + 0xd4]
minss xmm4, xmm2
movss xmm2, dword [esp + 0x90]
addss xmm0, xmm6
maxss xmm5, xmm7
movss dword [esp + 0xa8], xmm4
maxss xmm3, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [esp + 0xa0], xmm5
movss dword [esp + 0xa4], xmm3
comiss xmm0, dword [esp + 0xd8]
movss dword [esp + 0xac], xmm0
jbe 0x10062a0a
comiss xmm2, xmm3
jbe 0x10062a0a
comiss xmm4, dword [esp + 0xd4]
jbe 0x10062a0a
movss xmm0, dword [esp + 0x88]
comiss xmm0, xmm5
jbe 0x10062a0a
push 0
push ecx
mov dword [esp], 0
lea eax, [esp + 0xb0]
push dword [esp + 0x9c]
push eax
lea eax, [esp + 0xb0]
push eax
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x294]
call fcn.1004fb90
movss xmm0, dword [esp + 0x14]
movss xmm1, dword [esp + 0xf8]
movss xmm6, dword [esp + 0x44]
movss xmm2, dword [esp + 0x90]
mov edx, dword [0x10132b9c]
mov ecx, dword [esp + 0x28]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x9c], xmm0
movss dword [esp + 0x6c], xmm1
xorps xmm1, xmm1
movss xmm7, dword [esp + 0x6c]
addss xmm6, dword [ecx + 0x1940]
subss xmm7, dword [esp + 0xc8]
movss dword [esp + 0x44], xmm6
cmp esi, edi
jb 0x100627f0
movss xmm5, dword [esp + 0xfc]
mov edi, dword [esp + 0x38]
movss dword [esp + 0x7c], xmm5
mov esi, dword [esp + 0x28]
movss xmm6, dword [esp + 0xc8]
cmp byte [esp + 0x34], 0
jne 0x10062a6b
mov eax, dword [esp + 0x4c]
sub eax, dword [ebp + 8]
cmp eax, 0x200000
jge 0x10062cdf
movups xmm0, xmmword [edx + 0x15ec]
movss xmm7, dword [0x1012c844]
comiss xmm1, xmm0
movaps xmm2, xmm0
movaps xmmword [esp + 0xa0], xmm0
shufps xmm2, xmm0, 0xff
mulss xmm2, dword [edx + 0x1528]
jbe 0x10062a9b
movaps xmm0, xmm1
jmp 0x10062a9f
minss xmm0, xmm7
movss xmm3, dword [0x1012c990]
movss xmm4, dword [0x1012c800]
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [esp + 0xa4]
comiss xmm1, xmm0
jbe 0x10062ace
movaps xmm0, xmm1
jmp 0x10062ad2
minss xmm0, xmm7
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0xa8]
shl eax, 8
or ecx, eax
comiss xmm1, xmm0
jbe 0x10062af6
movaps xmm0, xmm1
jmp 0x10062afa
minss xmm0, xmm7
mulss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm2
jbe 0x10062b15
movaps xmm2, xmm1
jmp 0x10062b19
minss xmm2, xmm7
mov edx, dword [esp + 0x4c]
movss xmm0, dword [esp + 0x6c]
mulss xmm2, xmm3
subss xmm0, xmm6
mov dword [esp + 0x88], edx
mov edx, dword [esi + 0x193c]
mov dword [esp + 0x44], edx
lea edx, [esp + 0x100]
addss xmm2, xmm4
mov dword [esp + 0x90], 0
movss dword [esp + 0xe4], xmm0
movss dword [esp + 0xe8], xmm5
cvttss2si eax, xmm2
movss xmm2, dword [esi + 0x1940]
shl eax, 0x18
or eax, ecx
mov ecx, dword [esp + 0x84]
cmp byte [esp + 0x34], 0
mov dword [esp + 0x2c], eax
cmovne edx, dword [esp + 0x90]
mov ecx, dword [ecx + 0x294]
mov dword [esp + 0x74], ecx
test eax, 0xff000000
je 0x10062cdf
cmp dword [esp + 0x4c], 0
jne 0x10062bd6
mov ecx, dword [ebp + 8]
lea eax, [ecx + 1]
mov dword [esp + 0x88], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10062bb6
sub ecx, dword [esp + 0x88]
mov eax, dword [ebp + 8]
add eax, ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x88], eax
jmp 0x10062bdd
mov eax, dword [esp + 0x88]
cmp dword [ebp + 8], eax
je 0x10062cdf
cmp dword [esi + 0x193c], 0
jne 0x10062bf9
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax + 8]
mov dword [esp + 0x44], eax
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x10062c0a
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [esp + 0xa0], xmm0
test edx, edx
je 0x10062c81
movss xmm1, dword [edx]
movss xmm0, dword [esp + 0xa0]
comiss xmm0, xmm1
jae 0x10062c35
movss dword [esp + 0xa0], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [esp + 0xa4]
comiss xmm0, xmm1
jae 0x10062c51
movss dword [esp + 0xa4], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [esp + 0xa8]
ja 0x10062c69
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [esp + 0xac]
ja 0x10062c81
movss dword [esp + 0xac], xmm0
push dword [esp + 0xe8]
test edx, edx
mov edx, dword [esp + 0x8c]
push dword [esp + 0xe8]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [esp + 0xb0]
push edx
push dword [ebp + 8]
push eax
push dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x68]
call fcn.10052810
movss xmm0, dword [esp + 0xfc]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0xf8]
movss dword [esp + 0x6c], xmm0
cmp byte [esp + 0x18], 0
je 0x10062f2c
movss xmm1, dword [esi + 0x18]
addss xmm1, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm1
cmp byte [esi + 0xb2], 0
movss dword [esp + 0x44], xmm1
je 0x10062d3c
xorps xmm0, xmm0
comiss xmm0, xmm1
jae 0x10062d3c
fld dword [esp + 0x44]
fld dword [0x1012c84c]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x1012c824]
fstp dword [esp + 0x44]
comiss xmm0, dword [esp + 0x44]
jae 0x10062d3c
xor al, al
jmp 0x10062d3e
mov al, 1
movss xmm2, dword [esp + 0x7c]
movss xmm4, dword [esp + 0x6c]
movss xmm6, dword [0x1012c800]
movss xmm7, dword [0x1012c844]
addss xmm2, dword [esp + 0x78]
addss xmm4, dword [esp + 0x50]
movss dword [esp + 0x7c], xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
subss xmm4, dword [esp + 0xc8]
subss xmm0, dword [esi + 0x1940]
subss xmm3, dword [0x1012c858]
movss dword [esp + 0x6c], xmm4
movaps xmm1, xmm4
movss dword [esp + 0xa0], xmm4
addss xmm0, xmm6
movss dword [esp + 0xac], xmm3
addss xmm1, xmm7
movss dword [esp + 0xa4], xmm0
movss dword [esp + 0xa8], xmm1
test al, al
je 0x10062f09
comiss xmm3, dword [esp + 0xd8]
jbe 0x10062f09
movss xmm5, dword [esp + 0x9c]
comiss xmm5, xmm0
jbe 0x10062f09
comiss xmm1, dword [esp + 0xd4]
jbe 0x10062f09
movss xmm0, dword [esp + 0x14]
comiss xmm0, xmm4
jbe 0x10062f09
mov esi, dword [0x10132b9c]
xorps xmm0, xmm0
movups xmm2, xmmword [esi + 0x15ec]
comiss xmm0, xmm2
movaps xmm1, xmm2
movaps xmmword [esp + 0x100], xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [esi + 0x1528]
jbe 0x10062e36
xorps xmm2, xmm2
jmp 0x10062e3a
minss xmm2, xmm7
movss xmm5, dword [0x1012c990]
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si ecx, xmm2
movss xmm2, dword [esp + 0x104]
comiss xmm0, xmm2
jbe 0x10062e61
xorps xmm2, xmm2
jmp 0x10062e65
minss xmm2, xmm7
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
movss xmm2, dword [esp + 0x108]
shl eax, 8
or ecx, eax
comiss xmm0, xmm2
jbe 0x10062e89
xorps xmm2, xmm2
jmp 0x10062e8d
minss xmm2, xmm7
mulss xmm2, xmm5
addss xmm2, xmm6
cvttss2si eax, xmm2
shl eax, 0x10
or ecx, eax
comiss xmm0, xmm1
jbe 0x10062ea8
xorps xmm1, xmm1
jmp 0x10062eac
minss xmm1, xmm7
mulss xmm1, xmm5
push ecx
mov dword [esp], 0x3f800000
movss dword [esp + 0x54], xmm4
addss xmm1, xmm6
movss dword [esp + 0x58], xmm3
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0xac]
push eax
mov eax, dword [esp + 0x94]
mov ecx, dword [eax + 0x294]
call fcn.1004f970
movss xmm2, dword [esp + 0x7c]
movss xmm4, dword [esp + 0x6c]
movss xmm7, dword [0x1012c844]
mov esi, dword [esp + 0x28]
cmp byte [esp + 0x40], 0
jne 0x10062f2c
subss xmm2, dword [esi + 0x1940]
subss xmm4, xmm7
movss dword [esi + 0x2f10], xmm2
movss dword [esi + 0x2f0c], xmm4
mov edx, dword [0x10132b9c]
cmp byte [esp + 0x34], 0
je 0x10062fed
mov eax, dword [edx + 0x1bac]
movss xmm1, dword [esp + 0x20]
addss xmm1, dword [esi + 0x1940]
movss xmm0, dword [esp + 0x98]
mov byte [eax + 0xac], 1
mov eax, dword [edx + 0x1bac]
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x54], xmm1
cmp byte [eax + 0xaf], 0
jne 0x10062fe3
movss xmm3, dword [eax + 0xf0]
lea ecx, [esp + 0x50]
movaps xmm4, xmm3
movss dword [esp + 0xa0], xmm3
addss xmm4, xmm0
movss xmm0, dword [eax + 0xf4]
movaps xmm2, xmm0
movss dword [esp + 0xa4], xmm0
addss xmm2, xmm1
movss xmm1, dword [0x1012c9fc]
movss dword [esp + 0xa8], xmm4
movss dword [esp + 0xac], xmm2
call fcn.10044a40
push ecx
push 0
xor edx, edx
lea ecx, [esp + 0xa8]
call fcn.10044b70
add esp, 8
call fcn.1003e2f0
call fcn.10044fc0
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0xec]
test al, al
je 0x10063008
call fcn.100445f0
mov eax, dword [esp + 0xec]
cmp byte [esi + 0x2f64], 0
je 0x10063028
test al, al
jne 0x10063028
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xf8]
push edi
call fcn.1004a6e0
add esp, 4
movss xmm0, dword [esp + 0xf4]
comiss xmm0, dword [0x1012c718]
jbe 0x1006307b
movss xmm0, dword [esp + 0xd4]
xor edx, edx
mov ecx, dword [esp + 0xf0]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x114]
addss xmm0, dword [esi + 0x1564]
movss dword [esp + 0x54], xmm0
push dword [esp + 0x54]
push dword [esp + 0x54]
push 1
call fcn.100385f0
add esp, 0xc
mov cl, byte [esp + 0x4a]
mov eax, dword [ebp + 0x14]
test cl, cl
je 0x100630a3
test eax, 0x8000000
jne 0x100630a3
mov esi, dword [0x10132b9c]
or dword [esi + 0x1c50], 4
mov word [esi + 0x1bf0], 0x101
test al, 0x20
movzx eax, cl
movzx ecx, byte [esp + 0x1b]
pop edi
cmovne eax, ecx
pop esi
mov esp, ebp
pop ebp
ret