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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009b1f0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x148
push esi
mov esi, dword [0x100bc128]
mov dword [ebp - 0xcc], ecx
mov ecx, esi
push edi
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x18], ecx
mov eax, dword [ecx + 0x1a6c]
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x1a6c]
mov dword [ebp - 0x64], edi
cmp byte [edi + 0x8f], 0
jne 0x1003d682
mov edx, dword [ebx + 0x14]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0x40], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [ebp - 0x2c], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0xa8], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x54], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x6c], eax
test cl, cl
je 0x1003d464
call fcn.1001e0d0
mov esi, dword [0x100bc128]
mov ecx, dword [edi + 0xc0]
xor edx, edx
mov eax, dword [edi + 0xc8]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0xcc]
call fcn.100120f0
mov dword [ebp - 0x28], eax
cmp dword [esi + 0x1aa4], eax
jne 0x1003d492
mov dword [esi + 0x1aa8], eax
cmp dword [esi + 0x1adc], eax
jne 0x1003d4a1
mov byte [esi + 0x1ae0], 1
mov edx, dword [ebp - 0xcc]
mov eax, edx
cmp edx, 0xffffffff
jae 0x1003d4c6
nop
mov cl, byte [eax]
test cl, cl
je 0x1003d4c6
cmp cl, 0x23
jne 0x1003d4c0
cmp byte [eax + 1], cl
je 0x1003d4c6
inc eax
cmp eax, 0xffffffff
jb 0x1003d4b0
movss xmm0, dword [esi + 0x1930]
cmp edx, eax
jne 0x1003d4df
xorps xmm1, xmm1
movss dword [ebp - 0xe8], xmm1
jmp 0x1003d521
push ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x192c]
lea eax, [ebp - 0x7c]
mov dword [esp], 0xbf800000
movaps xmm2, xmm0
push eax
call fcn.10032170
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [0x100afeb4]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x78]
cmp byte [ebp - 0x2c], 0
mov esi, dword [ebp - 0x18]
je 0x1003d53a
movss xmm0, dword [esi + 0x1930]
mulss xmm0, dword [0x100aff40]
movss xmm1, dword [esi + 0x1554]
movaps xmm2, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
call fcn.1001df70
mov eax, dword [ebx + 0x10]
movaps xmm1, xmm2
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
call fcn.1001dfe0
movss dword [ebp - 0x8c], xmm1
movss xmm1, dword [ebp - 0xe8]
movss dword [ebp - 0x90], xmm0
xorps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1003d593
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x1568]
jmp 0x1003d596
xorps xmm2, xmm2
cmp byte [ebp - 0x2c], 0
movss xmm4, dword [edi + 0xd0]
movss xmm5, dword [ebp - 0x90]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x8c]
movss xmm3, dword [edi + 0xcc]
addss xmm2, xmm5
movaps xmm1, xmm3
mov dword [ebp - 0x58], edi
addss xmm1, xmm5
movss dword [ebp - 0x80], xmm5
movss dword [ebp - 0xb8], xmm3
mov edi, 1
movss dword [ebp - 0xac], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x8c]
addss xmm2, xmm3
movss dword [ebp - 0xb4], xmm4
movss dword [ebp - 0xb0], xmm1
movss dword [ebp - 0xa4], xmm3
movss dword [ebp - 0xa0], xmm4
movss dword [ebp - 0x98], xmm0
movss dword [ebp - 0x9c], xmm2
je 0x1003d776
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.1001dba0
test al, al
jne 0x1003d699
movss xmm0, dword [ebp - 0x9c]
lea ecx, [ebp - 0x7c]
subss xmm0, dword [ebp - 0xa4]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [esi + 0x1554]
call fcn.1001da70
call fcn.1001e1f0
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18
lea edx, [esi + 0x164c]
mov ecx, 3
call fcn.10012fa0
movss xmm0, dword [esi + 0x1558]
mov ecx, 6
call fcn.10013040
movss xmm0, dword [esi + 0x155c]
mov ecx, 7
call fcn.10013040
lea edx, [esi + 0x1550]
mov ecx, edi
call fcn.100130b0
movss xmm1, dword [ebp - 0xb0]
lea eax, [ebp - 0x7c]
movss xmm0, dword [ebp - 0xac]
subss xmm1, dword [ebp - 0xb8]
subss xmm0, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xcc]
push 0x10004
push 1
push eax
movss dword [ebp - 0x7c], xmm1
movss dword [ebp - 0x78], xmm0
call fcn.100183c0
mov ecx, 3
mov byte [ebp - 0x32], al
call fcn.10013130
mov ecx, edi
call fcn.10012ff0
cmp byte [ebp - 0x32], 0
jne 0x1003d741
call fcn.100185c0
jmp 0x1003d67d
mov edx, dword [esi + 0x1a6c]
movss xmm0, dword [ebp - 0x90]
mov dword [ebp - 0x58], edx
subss xmm0, dword [edx + 0x80]
mov ecx, dword [edx + 0x148]
mov eax, dword [edx + 0x140]
bts ecx, eax
mov dword [edx + 0x148], ecx
movss dword [ebp - 0x80], xmm0
jmp 0x1003d7b5
subss xmm0, xmm4
subss xmm2, xmm3
lea ecx, [ebp - 0x7c]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0x7c], xmm2
call fcn.1001da70
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.1001dba0
test al, al
je 0x1003d682
mov edx, dword [ebp - 0x28]
lea ecx, [ebp - 0xb8]
call fcn.10014670
mov byte [ebp - 0x11], al
test al, al
je 0x1003d7d0
mov dword [esi + 0x1e68], edi
mov edi, dword [0x100bc128]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
add edi, 0x1f80
mov esi, dword [ebp - 0x64]
mov edx, eax
cmp dword [edi], eax
cmovne edi, ecx
mov ecx, esi
mov dword [ebp - 0x4c], edi
call fcn.10014820
mov edx, dword [ebp - 0x18]
mov byte [ebp - 0x32], al
test al, al
je 0x1003d860
cmp dword [edx + 0x1ce4], esi
jne 0x1003d860
mov ecx, dword [edx + 0x1cec]
cmp ecx, dword [esi + 0x1a8]
jne 0x1003d860
mov byte [ebp - 0x1b], 1
mov byte [ebp - 0x1e], 0
cmp byte [ebp - 0x11], 0
je 0x1003d830
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0x1a], 1
jne 0x1003d834
mov byte [ebp - 0x1a], 0
mov esi, dword [edx + 0x1aa4]
mov eax, dword [ebp - 0x28]
cmp esi, eax
je 0x1003d872
cmp dword [edx + 0x1bdc], eax
je 0x1003d85a
cmp dword [edx + 0x1bd0], eax
jne 0x1003d872
cmp dword [edx + 0x1bf4], 3
jne 0x1003d872
mov byte [ebp - 0x1c], 1
jmp 0x1003d876
mov byte [ebp - 0x1b], 0
test al, al
je 0x1003d819
mov byte [ebp - 0x1e], 1
mov byte [ebp - 0x1b], 0
jmp 0x1003d81d
mov byte [ebp - 0x1c], 0
mov eax, dword [ebp - 0x2c]
test al, al
je 0x1003d8b8
test edi, edi
je 0x1003d8b8
test esi, esi
jne 0x1003d8b8
mov eax, dword [ebp - 0x58]
xor edx, edx
mov ecx, dword [eax + 0xc0]
mov eax, dword [eax + 0xc8]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.100120f0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x1adc], eax
jne 0x1003d8b5
mov byte [ebp - 0x12], 1
jmp 0x1003d8c8
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x12], 0
test al, al
je 0x1003d8ef
mov byte [ebp - 0x12], 0
test edi, edi
je 0x1003d8ef
mov eax, dword [ebp - 0x58]
mov ecx, str.SCROLLY
mov edx, dword [eax + 0xc0]
mov eax, dword [eax + 0xc8]
push dword [eax + edx*4 - 4]
xor edx, edx
call fcn.100120f0
cmp esi, eax
jne 0x1003d8ef
mov cl, 1
jmp 0x1003d8f1
xor cl, cl
mov edx, dword [ebp - 0x28]
mov byte [ebp - 0x19], cl
mov byte [ebp - 0x39], 0
cmp esi, edx
je 0x1003d935
test byte [ebx + 0x14], 0x10
jne 0x1003d90b
cmp byte [ebp - 0x1c], 0
je 0x1003d935
mov eax, dword [ebp - 0x2c]
test al, al
jne 0x1003d938
mov byte [ebp - 0x38], 1
movss xmm0, dword [0x100affe4]
movss dword [ebp - 0x84], xmm0
test edi, edi
je 0x1003d94d
xor al, 1
cmp byte [edi + 0x53], al
je 0x1003d94d
mov al, 1
jmp 0x1003d94f
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0x38], 0
test al, al
je 0x1003d916
mov edx, dword [ebp - 0x58]
movss xmm0, dword [edx + 0x5c]
mov edx, dword [ebp - 0x28]
jmp 0x1003d91e
xor al, al
cmp byte [ebp - 0x32], 0
mov byte [ebp - 0x31], al
jne 0x1003d977
cmp byte [ebp - 0x1a], 0
jne 0x1003d977
cmp byte [ebp - 0x12], 0
jne 0x1003d977
cmp byte [ebp - 0x1c], 0
jne 0x1003d977
mov byte [ebp - 0x12], 0
test cl, cl
jne 0x1003d97b
mov byte [ebp - 0x1d], cl
jmp 0x1003d983
mov byte [ebp - 0x12], 1
mov byte [ebp - 0x1d], 1
cmp esi, edx
jne 0x1003d98b
test al, al
je 0x1003daca
mov edi, dword [ebp - 0x18]
mov esi, dword [ebx + 8]
add edi, 0x1f80
mov dword [ebp - 0x4c], edi
mov dword [edi + 0xe68], 0xbe99999a
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1003d9a7
sub esi, ecx
lea ecx, [edi + 0x24]
inc esi
push esi
call fcn.10024880
push esi
push dword [ebx + 8]
push dword [edi + 0x2c]
call fcn.10074650
mov esi, dword [ebx + 0xc]
lea ecx, [edi + 0xc]
add esp, 0xc
mov dword [ebp - 0x30], 0
lea eax, [esi + 1]
push eax
call fcn.10024980
lea ecx, [edi + 0x18]
push 0
call fcn.10024880
mov ecx, dword [edi + 0x14]
lea eax, [ebp - 0x30]
push eax
push 0
push dword [ebx + 8]
mov edx, esi
mov byte [edi + 0x30], 0
call fcn.10012410
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x30]
sub eax, dword [ebx + 8]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x28]
cmp dword [edi], eax
jne 0x1003da22
cmp byte [ebp - 0x31], 0
jne 0x1003da22
mov ecx, edi
call fcn.10035f80
jmp 0x1003da9d
mov edx, dword [ebp - 0x2c]
mov dword [edi], eax
mov al, dl
xor al, 1
mov dword [edi + 0x38], 0
mov dword [edi + 0xe5a], 0x630000
mov dword [edi + 0xe60], 0
mov dword [edi + 0xe64], 0x3e7
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x3c], 0
mov word [edi + 0x51], 1
mov dword [edi + 0x58], 0
mov byte [edi + 0x50], 0
mov byte [edi + 0x53], al
mov byte [edi + 0x48], 0
mov dword [edi + 0x4c], 0
test dl, dl
jne 0x1003daa0
mov edx, dword [ebp - 0x38]
mov eax, 1
cmp byte [ebp - 0x1b], 0
movzx edx, dl
cmovne edx, eax
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0x2c]
test dword [ebx + 0x14], 0x2000
je 0x1003daad
mov byte [edi + 0x48], 1
test dl, dl
jne 0x1003daca
cmp byte [ebp - 0x1e], dl
jne 0x1003dac6
cmp byte [ebp - 0x1a], dl
je 0x1003daca
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xfc], dl
je 0x1003daca
mov byte [ebp - 0x38], 1
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
cmp dword [esi + 0x1aa4], ecx
je 0x1003db71
cmp byte [ebp - 0x12], 0
je 0x1003db71
mov edx, dword [ebp - 0x64]
call fcn.100143e0
call fcn.1001fac0
mov ecx, edx
call fcn.1001d240
mov eax, dword [esi + 0x1ab8]
mov edx, dword [ebp - 0x2c]
or eax, 3
mov dword [esi + 0x1ab8], eax
test dl, dl
jne 0x1003db16
test byte [ebx + 0x14], 0x80
je 0x1003db1f
or eax, 0xc
mov dword [esi + 0x1ab8], eax
mov eax, dword [esi + 0x1ac0]
or dword [esi + 0x1abc], 2
or eax, 0x180
mov ecx, dword [esi + 0x1ac4]
mov dword [esi + 0x1ac0], eax
mov dword [esi + 0x1ac4], ecx
test dl, dl
je 0x1003db56
or eax, 0x60
mov dword [esi + 0x1ac4], ecx
mov dword [esi + 0x1ac0], eax
test dword [ebx + 0x14], 0x440
je 0x1003db6e
or eax, 1
mov dword [esi + 0x1ac4], ecx
mov dword [esi + 0x1ac0], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0x1aa4]
cmp eax, ecx
jne 0x1003dbae
test edi, edi
jne 0x1003db91
call fcn.100144b0
mov eax, dword [esi + 0x1aa4]
mov ecx, dword [ebp - 0x28]
cmp eax, ecx
jne 0x1003dbae
cmp byte [esi + 0x3d8], 0
je 0x1003dbb8
cmp byte [ebp - 0x1d], 0
jne 0x1003dbb8
cmp byte [ebp - 0x12], 0
jne 0x1003dbb8
mov byte [ebp - 0x39], 1
mov dl, 1
jmp 0x1003dbbe
test edi, edi
je 0x1003dbbc
cmp byte [ebp - 0x19], 0
je 0x1003dbbc
mov dl, 1
jmp 0x1003dbbe
xor dl, dl
mov byte [ebp - 0x19], dl
test edi, edi
je 0x1003dbd5
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1003dbd5
test dl, dl
je 0x1003dbd5
mov al, 1
jmp 0x1003dbd7
xor al, al
cmp byte [ebp - 0x40], 0
mov byte [ebp - 0x1f], al
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x31], 0
je 0x1003dc49
test edi, edi
je 0x1003dc49
test dl, dl
jne 0x1003dbf4
test al, al
je 0x1003dc51
mov eax, dword [ebx + 0xc]
lea ecx, [edi + 0xc]
inc eax
mov dword [ebp - 0x30], 0
push eax
call fcn.10024980
mov edx, dword [edi + 0xc]
lea eax, [ebp - 0x30]
mov ecx, dword [edi + 0x14]
push eax
push 0
push dword [ebx + 8]
call fcn.10012410
mov dword [edi + 4], eax
mov ecx, edi
mov eax, dword [ebp - 0x30]
sub eax, dword [ebx + 8]
mov dword [edi + 8], eax
call fcn.10035f80
mov ecx, dword [edi + 0x40]
xor edx, edx
movzx eax, byte [ebp - 0x1f]
cmp ecx, dword [edi + 0x44]
mov ecx, dword [ebp - 0x28]
cmovne edx, eax
mov al, dl
mov dl, byte [ebp - 0x19]
mov byte [ebp - 0x1f], al
test dl, dl
jne 0x1003dc59
test al, al
jne 0x1003dc59
cmp dword [esi + 0x1aa4], ecx
jne 0x1003dc6d
cmp byte [ebp - 0x40], 0
jne 0x1003dc6d
test edi, edi
je 0x1003dc6d
cmp byte [edi + 0x30], 0
je 0x1003dc6d
mov al, 1
jmp 0x1003dc6f
xor al, al
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 0x68], al
test edx, edx
je 0x1003dc8e
test al, al
je 0x1003dc82
mov eax, dword [edi + 0x20]
jmp 0x1003dc85
mov eax, dword [ebx + 8]
cmp byte [eax], 0
jne 0x1003dc8e
mov al, 1
jmp 0x1003dc90
xor al, al
cmp byte [ebp - 0xa8], 0
mov byte [ebp - 0x1a], al
je 0x1003dd86
test al, al
jne 0x1003dd86
mov esi, dword [esi + 0x192c]
mov ecx, esi
push 0x2a
call fcn.10031fe0
mov ecx, dword [esi + 0x10]
mov edx, eax
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x2dfc]
mov esi, dword [0x100bc128]
mov dword [edi + 0x10], ecx
mov dword [ebp - 0x50], edi
mov ecx, dword [eax + 0x192c]
mov ecx, dword [ecx + 0x40]
mov dword [edi + 0x40], ecx
mov ecx, dword [eax + 0x192c]
mov ecx, dword [ecx + 0x44]
mov dword [edi + 0x44], ecx
mov ecx, edi
mov eax, dword [eax + 0x192c]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x48], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x192c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x30], eax
mov dword [edi + 0x2c], edx
mov eax, dword [edx + 4]
mov dword [edi + 0xc], eax
call fcn.1001d490
lea eax, [ebp - 0x50]
lea ecx, [esi + 0x1b7c]
push eax
call fcn.10024610
mov eax, dword [esi + 0x1a6c]
mov edx, dword [eax + 0x288]
mov eax, dword [edi + 0x30]
lea esi, [edx + 0x48]
mov edi, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ebp - 0x50], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
cmp ecx, edi
jne 0x1003dd6e
inc ecx
test edi, edi
je 0x1003dd57
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1003dd5c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.10024570
mov ecx, dword [esi]
mov edx, dword [ebp - 0x50]
mov eax, dword [esi + 8]
mov edi, dword [ebp - 0x30]
mov dword [eax + ecx*4], edi
mov ecx, edx
inc dword [esi]
mov dword [edx + 0x70], edi
call fcn.1002cb40
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], 0
cmp dword [esi + 0x1aa4], eax
jne 0x1003e16d
mov eax, dword [edi + 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0xe70], eax
mov eax, dword [ebx + 0x18]
mov dword [edi + 0xe74], eax
mov eax, dword [ebx + 0x1c]
mov dword [edi + 0xe78], eax
mov byte [edi + 0xe6e], 0
cmp byte [esi + 0xec], 0
mov dword [esi + 0x3138], 1
sete al
cmp byte [ebp - 0x2c], 0
mov byte [esi + 0x1ab1], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0xb8]
subss xmm7, dword [esi + 0x1550]
addss xmm7, dword [edi + 0x38]
je 0x1003de27
mov eax, dword [ebp - 0x58]
movss xmm1, dword [esi + 0xe8]
subss xmm1, dword [eax + 0xd0]
subss xmm1, dword [esi + 0x1554]
jmp 0x1003de37
movss xmm1, dword [esi + 0x1930]
mulss xmm1, dword [0x100afe7c]
cmp byte [ebp - 0x38], 0
mov cl, byte [esi + 0xb1]
mov byte [ebp - 0x12], cl
jne 0x1003df72
mov dl, byte [ebp - 0x11]
test dl, dl
je 0x1003de63
mov al, byte [esi + 0x3dd]
test cl, cl
jne 0x1003dec3
test al, al
jne 0x1003df72
cmp byte [esi + 0x3d8], 0
mov al, byte [edi + 0xe6d]
je 0x1003dee7
test al, al
jne 0x1003dee7
test dl, dl
je 0x1003df8d
cmp byte [edi + 0x53], al
je 0x1003de9a
push 0
mov edx, edi
lea ecx, [ebp - 0xe4]
call fcn.1003b990
movss xmm1, dword [ebp - 0xd8]
movaps xmm0, xmm7
mov ecx, edi
call fcn.1003bd90
mov cl, byte [ebp - 0x12]
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 0x1003df8d
test al, al
je 0x1003de63
push 0x20000c
mov ecx, edi
call fcn.1003d1e0
push 0x60000d
mov ecx, edi
call fcn.1003d1e0
mov cl, byte [ebp - 0x12]
jmp 0x1003df8d
cmp byte [esi + 0xec], 0
je 0x1003df8d
xorps xmm4, xmm4
test al, al
jne 0x1003df90
movss xmm0, dword [esi + 0x374]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jp 0x1003df21
movss xmm0, dword [esi + 0x378]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x1003df90
cmp byte [edi + 0x53], 0
je 0x1003df3e
push 0
mov edx, edi
lea ecx, [ebp - 0xe4]
call fcn.1003b990
movss xmm1, dword [ebp - 0xd8]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1003df4c
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm0, xmm7
mov ecx, edi
call fcn.1003bd90
mov cl, byte [ebp - 0x12]
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x1003df8d
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
xorps xmm4, xmm4
cmp byte [edi + 0xe6d], 0
je 0x1003dfa9
cmp byte [esi + 0xec], 0
jne 0x1003dfa9
mov byte [edi + 0xe6d], 0
cmp byte [esi + 0xfc], 0
je 0x1003dfbb
cmp byte [esi + 0xfe], 0
je 0x1003dfc8
test cl, cl
je 0x1003dfcc
cmp byte [esi + 0xff], 0
je 0x1003dfcc
mov dl, 1
jmp 0x1003dfce
xor dl, dl
test dword [ebx + 0x14], 0x400
mov byte [ebp - 0x1e], dl
je 0x1003e0c5
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
mov eax, dword [ecx + 0x34]
test eax, eax
js 0x1003e0ce
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e065
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e0ce
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e02e
xor eax, eax
jmp 0x1003e061
comiss xmm4, xmm3
jb 0x1003e03d
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e061
comiss xmm2, xmm0
jbe 0x1003e047
or ecx, 0xffffffff
jmp 0x1003e053
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si ecx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x1003e0ce
mov ecx, dword [ebp - 0x40]
test dl, dl
jne 0x1003e0d1
cmp byte [esi + 0xfd], dl
jne 0x1003e0d1
test cl, cl
jne 0x1003e0d1
mov ecx, dword [esi + 0x1510]
mov eax, dword [esi + 0x1508]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x1003e09f
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 9
je 0x1003e0ce
cmp ecx, edx
jb 0x1003e090
push dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x30]
push dword [ebx + 0x18]
mov dword [ebp - 0x30], 9
call fcn.1003d210
test al, al
je 0x1003e0c5
push dword [ebp - 0x30]
mov ecx, edi
call fcn.1003d1e0
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x40]
cmp dword [esi + 0x1508], 0
lea eax, [esi + 0x1508]
jle 0x1003e178
cmp byte [ebp - 0x1e], 0
jne 0x1003e164
test cl, cl
jne 0x1003e164
cmp byte [ebp - 0x1c], cl
jne 0x1003e164
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x1510]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x30], eax
cmp eax, 9
jne 0x1003e121
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xfd], 0
jne 0x1003e154
push dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x30]
push dword [ebx + 0x18]
call fcn.1003d210
test al, al
je 0x1003e154
push dword [ebp - 0x30]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1003c250
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov eax, dword [ebp - 0x18]
inc esi
add eax, 0x1508
cmp esi, dword [eax]
jl 0x1003e100
mov esi, dword [ebp - 0x18]
push 0
mov ecx, eax
call fcn.10024980
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
jmp 0x1003e17b
mov ecx, dword [ebp - 0x24]
mov eax, dword [esi + 0x1aa4]
xor dl, dl
mov byte [ebp - 0x11], dl
cmp eax, dword [ebp - 0x28]
jne 0x1003f6f2
cmp byte [esi + 0x1ab0], dl
jne 0x1003f220
cmp byte [ebp - 0x39], dl
jne 0x1003f220
movss xmm0, dword [ebp - 0x8c]
mov edx, 1
subss xmm0, dword [esi + 0x1554]
divss xmm0, dword [esi + 0x1930]
cvttss2si eax, xmm0
cmp eax, 1
cmovge edx, eax
xor eax, eax
mov dword [edi + 0x4c], edx
cmp byte [esi + 0xfd], al
mov dword [ebp - 0x30], edx
mov edx, 0x400000
cmovne eax, edx
mov dword [ebp - 0x44], eax
mov al, byte [esi + 0xb1]
mov byte [ebp - 0x91], al
test al, al
je 0x1003e208
cmp dword [esi + 0x37c], 0xa
jne 0x1003e208
mov byte [ebp - 0x1d], 1
mov esi, 0xa
jmp 0x1003e216
mov esi, dword [esi + 0x37c]
mov byte [ebp - 0x1d], 0
test al, al
je 0x1003e23e
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0xff], 0
mov dl, byte [eax + 0xfe]
mov byte [ebp - 0x12], dl
je 0x1003e24e
cmp byte [eax + 0xfc], 0
jne 0x1003e24e
test dl, dl
jne 0x1003e24e
mov byte [ebp - 0x1c], 1
jmp 0x1003e252
mov eax, dword [ebp - 0x18]
mov byte [ebp - 0x1d], 0
mov dl, byte [eax + 0xfc]
mov byte [ebp - 0x12], dl
mov byte [ebp - 0x1c], 0
cmp byte [eax + 0xb1], 0
je 0x1003e260
cmp esi, 8
jmp 0x1003e263
cmp esi, 1
sete al
xorps xmm4, xmm4
mov byte [ebp - 0x1b], al
test al, al
je 0x1003e2f5
mov eax, dword [ecx + 0x80]
test eax, eax
js 0x1003e2f5
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e378
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e2f5
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e2ba
xor eax, eax
jmp 0x1003e2ed
comiss xmm4, xmm3
jb 0x1003e2c9
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e2ed
comiss xmm2, xmm0
jbe 0x1003e2d3
or edx, 0xffffffff
jmp 0x1003e2df
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jg 0x1003e378
cmp esi, 2
jne 0x1003e39b
mov eax, dword [ecx + 0x5c]
test eax, eax
js 0x1003e39b
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e378
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e39b
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e341
xor eax, eax
jmp 0x1003e374
comiss xmm4, xmm3
jb 0x1003e350
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e374
comiss xmm2, xmm0
jbe 0x1003e35a
or edx, 0xffffffff
jmp 0x1003e366
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e39b
cmp byte [ebp - 0x40], 0
jne 0x1003e39b
cmp byte [ebp - 0xa8], 0
jne 0x1003e39b
cmp byte [ebp - 0x2c], 0
je 0x1003e395
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1003e39b
mov byte [ebp - 0x1e], 1
jmp 0x1003e39f
mov byte [ebp - 0x1e], 0
cmp byte [ebp - 0x1b], 0
je 0x1003e423
mov eax, dword [ecx + 0x78]
test eax, eax
js 0x1003e423
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e4a6
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e423
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e3e8
xor eax, eax
jmp 0x1003e41b
comiss xmm4, xmm3
jb 0x1003e3f7
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e41b
comiss xmm2, xmm0
jbe 0x1003e401
or edx, 0xffffffff
jmp 0x1003e40d
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jg 0x1003e4a6
cmp esi, 1
jne 0x1003e4c3
mov eax, dword [ecx + 0x58]
test eax, eax
js 0x1003e4c3
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e4a6
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e4c3
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e46f
xor eax, eax
jmp 0x1003e4a2
comiss xmm4, xmm3
jb 0x1003e47e
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e4a2
comiss xmm2, xmm0
jbe 0x1003e488
or edx, 0xffffffff
jmp 0x1003e494
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e4c3
cmp byte [ebp - 0xa8], 0
jne 0x1003e4c3
cmp byte [ebp - 0x2c], 0
je 0x1003e4bd
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1003e4c3
mov byte [ebp - 0x66], 1
jmp 0x1003e4c7
mov byte [ebp - 0x66], 0
cmp byte [ebp - 0x1b], 0
je 0x1003e547
mov eax, dword [ecx + 0x7c]
test eax, eax
js 0x1003e547
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e5c6
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e547
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e510
xor eax, eax
jmp 0x1003e543
comiss xmm4, xmm3
jb 0x1003e51f
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e543
comiss xmm2, xmm0
jbe 0x1003e529
or edx, 0xffffffff
jmp 0x1003e535
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jg 0x1003e5c6
cmp esi, 2
jne 0x1003e5d0
mov eax, dword [ecx + 0x58]
test eax, eax
js 0x1003e5d0
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e5c6
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e5d0
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e58f
xor eax, eax
jmp 0x1003e5c2
comiss xmm4, xmm3
jb 0x1003e59e
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e5c2
comiss xmm2, xmm0
jbe 0x1003e5a8
or edx, 0xffffffff
jmp 0x1003e5b4
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e5d0
cmp byte [ebp - 0x40], 0
mov byte [ebp - 0x67], 1
je 0x1003e5d4
mov byte [ebp - 0x67], 0
mov dl, byte [ebp - 0x1b]
test dl, dl
je 0x1003e671
mov eax, dword [ecx + 0x88]
test eax, eax
js 0x1003e671
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e65f
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e671
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e625
xor eax, eax
jmp 0x1003e65b
comiss xmm4, xmm3
jb 0x1003e634
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e65b
comiss xmm2, xmm0
jbe 0x1003e63e
or edx, 0xffffffff
jmp 0x1003e64a
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
mov dl, byte [ebp - 0x1b]
test eax, eax
jle 0x1003e671
cmp byte [ebp - 0x40], 0
jne 0x1003e671
cmp byte [ebp - 0x54], 0
je 0x1003e671
mov byte [ebp - 0x65], 1
jmp 0x1003e67d
mov byte [ebp - 0x65], 0
test dl, dl
je 0x1003e6fe
mov eax, dword [ecx + 0x84]
test eax, eax
js 0x1003e6fe
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e781
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e6fe
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e6c3
xor eax, eax
jmp 0x1003e6f6
comiss xmm4, xmm3
jb 0x1003e6d2
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e6f6
comiss xmm2, xmm0
jbe 0x1003e6dc
or edx, 0xffffffff
jmp 0x1003e6e8
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jg 0x1003e781
cmp byte [ebp - 0x1d], 0
je 0x1003e791
mov eax, dword [ecx + 0x88]
test eax, eax
js 0x1003e791
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e781
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e791
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e74a
xor eax, eax
jmp 0x1003e77d
comiss xmm4, xmm3
jb 0x1003e759
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e77d
comiss xmm2, xmm0
jbe 0x1003e763
or edx, 0xffffffff
jmp 0x1003e76f
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e791
cmp byte [ebp - 0x40], 0
jne 0x1003e791
cmp byte [ebp - 0x54], 0
mov byte [ebp - 0x1d], 1
jne 0x1003e795
mov byte [ebp - 0x1d], 0
mov eax, dword [ecx + 0x38]
test eax, eax
js 0x1003e868
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e813
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e868
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e7dc
xor eax, eax
jmp 0x1003e80f
comiss xmm4, xmm3
jb 0x1003e7eb
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e80f
comiss xmm2, xmm0
jbe 0x1003e7f5
or edx, 0xffffffff
jmp 0x1003e801
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e868
cmp byte [ebp - 0x1c], 0
je 0x1003e820
mov eax, 0x200004
jmp 0x1003e831
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0x12], 0
cmovne eax, ecx
or eax, dword [ebp - 0x44]
push eax
mov ecx, edi
call fcn.1003d1e0
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
mov esi, dword [ebp - 0x18]
mov dl, byte [ebp - 0x11]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x1003f20c
cmp byte [ebp - 0x19], 0
je 0x1003f20c
mov al, 1
jmp 0x1003f20e
mov eax, dword [ecx + 0x3c]
test eax, eax
js 0x1003e8ff
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e8e2
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e8ff
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e8ab
xor eax, eax
jmp 0x1003e8de
comiss xmm4, xmm3
jb 0x1003e8ba
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e8de
comiss xmm2, xmm0
jbe 0x1003e8c4
or edx, 0xffffffff
jmp 0x1003e8d0
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e8ff
cmp byte [ebp - 0x1c], 0
je 0x1003e8f2
mov eax, 0x200005
jmp 0x1003e831
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x1003e82a
mov eax, dword [ecx + 0x40]
test eax, eax
js 0x1003e9df
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003e97d
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003e9df
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003e946
xor eax, eax
jmp 0x1003e979
comiss xmm4, xmm3
jb 0x1003e955
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003e979
comiss xmm2, xmm0
jbe 0x1003e95f
or edx, 0xffffffff
jmp 0x1003e96b
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003e9df
cmp byte [ebp - 0x2c], 0
je 0x1003e9df
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0xfc], 0
je 0x1003e9bb
mov ecx, dword [ebp - 0x58]
movss xmm0, dword [ecx + 0x5c]
subss xmm0, dword [esi + 0x1930]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
maxss xmm0, xmm4
movss dword [ecx + 0x6c], xmm0
jmp 0x1003e848
movzx eax, byte [ebp - 0x1c]
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0x44]
push eax
mov ecx, edi
call fcn.1003d1e0
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
jmp 0x1003e848
mov eax, dword [ecx + 0x44]
test eax, eax
js 0x1003eaca
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003ea5d
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003eaca
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003ea26
xor eax, eax
jmp 0x1003ea59
comiss xmm4, xmm3
jb 0x1003ea35
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003ea59
comiss xmm2, xmm0
jbe 0x1003ea3f
or edx, 0xffffffff
jmp 0x1003ea4b
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003eaca
cmp byte [ebp - 0x2c], 0
je 0x1003eaca
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0xfc], 0
je 0x1003eaa6
mov eax, dword [ecx + 0x1a6c]
movss xmm1, dword [eax + 0x64]
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x5c]
addss xmm0, dword [esi + 0x1930]
mov dword [eax + 0x74], 0
mov dword [eax + 0x7c], 0
minss xmm1, xmm0
movss dword [eax + 0x6c], xmm1
jmp 0x1003e848
movzx eax, byte [ebp - 0x1c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0x44]
push eax
call fcn.1003d1e0
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
jmp 0x1003e848
mov eax, dword [ecx + 0x48]
test eax, eax
js 0x1003eb94
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003eb48
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003eb94
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003eb11
xor eax, eax
jmp 0x1003eb44
comiss xmm4, xmm3
jb 0x1003eb20
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003eb44
comiss xmm2, xmm0
jbe 0x1003eb2a
or edx, 0xffffffff
jmp 0x1003eb36
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003eb94
cmp byte [ebp - 0x2c], 0
je 0x1003eb94
mov ecx, dword [ebp - 0x44]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.1003d1e0
movd xmm0, dword [ebp - 0x30]
mov esi, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x84]
mov ecx, dword [0x100bc128]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x24], ecx
mulss xmm0, dword [esi + 0x1930]
subss xmm1, xmm0
movss dword [ebp - 0x84], xmm1
jmp 0x1003e848
mov eax, dword [ecx + 0x4c]
test eax, eax
js 0x1003ec5a
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003ec12
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003ec5a
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003ebdb
xor eax, eax
jmp 0x1003ec0e
comiss xmm4, xmm3
jb 0x1003ebea
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003ec0e
comiss xmm2, xmm0
jbe 0x1003ebf4
or edx, 0xffffffff
jmp 0x1003ec00
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003ec5a
cmp byte [ebp - 0x2c], 0
je 0x1003ec5a
mov ecx, dword [ebp - 0x44]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.1003d1e0
movd xmm0, dword [ebp - 0x30]
mov esi, dword [ebp - 0x18]
mov ecx, dword [0x100bc128]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x24], ecx
mulss xmm0, dword [esi + 0x1930]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x84], xmm0
jmp 0x1003e848
mov eax, dword [ecx + 0x50]
test eax, eax
js 0x1003ecf7
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003ecd4
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003ecf7
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003ec9d
xor eax, eax
jmp 0x1003ecd0
comiss xmm4, xmm3
jb 0x1003ecac
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003ecd0
comiss xmm2, xmm0
jbe 0x1003ecb6
or edx, 0xffffffff
jmp 0x1003ecc2
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003ecf7
mov ecx, dword [ebp - 0x44]
mov eax, ecx
mov esi, dword [ebp - 0x18]
or eax, 0x200006
or ecx, 0x200004
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
jmp 0x1003e9ca
mov eax, dword [ecx + 0x54]
test eax, eax
js 0x1003ed94
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003ed71
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003ed94
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003ed3a
xor eax, eax
jmp 0x1003ed6d
comiss xmm4, xmm3
jb 0x1003ed49
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003ed6d
comiss xmm2, xmm0
jbe 0x1003ed53
or edx, 0xffffffff
jmp 0x1003ed5f
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si edx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, edx
test eax, eax
jle 0x1003ed94
mov ecx, dword [ebp - 0x44]
mov eax, ecx
mov esi, dword [ebp - 0x18]
or eax, 0x200007
or ecx, 0x200005
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
jmp 0x1003e9ca
mov eax, dword [ecx + 0x5c]
test eax, eax
js 0x1003ee23
movss xmm1, dword [ecx + eax*4 + 0x458]
ucomiss xmm1, xmm4
lahf
test ah, 0x44
jnp 0x1003ee0e
movss xmm2, dword [ecx + 0x8c]
comiss xmm1, xmm2
jbe 0x1003ee23
movss xmm3, dword [ecx + 0x90]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18]
comiss xmm0, xmm1
jb 0x1003edd7
xor eax, eax
jmp 0x1003ee0a
comiss xmm4, xmm3
jb 0x1003ede6
xor eax, eax
comiss xmm2, xmm0
seta al
jmp 0x1003ee0a
comiss xmm2, xmm0
jbe 0x1003edf0
or ecx, 0xffffffff
jmp 0x1003edfc
subss xmm0, xmm2
divss xmm0, xmm3
cvttss2si ecx, xmm0
subss xmm1, xmm2
divss xmm1, xmm3
cvttss2si eax, xmm1
sub eax, ecx
test eax, eax
jle 0x1003ee23
cmp byte [ebp - 0x40], 0
jne 0x1003ee23
mov ecx, dword [ebp - 0x44]
or ecx, 0x200008
push ecx
jmp 0x1003e835
mov dl, 1
mov ecx, 0xb
call fcn.100118b0
test al, al
je 0x1003eea7
cmp byte [ebp - 0x40], 0
jne 0x1003eea7
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1003ee53
cmp byte [ebp - 0x12], 0
je 0x1003ee65
push 0x60000c
mov ecx, edi
call fcn.1003d1e0
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x44]
or ecx, 0x200009
push ecx
jmp 0x1003e9ca
cmp byte [ebp - 0x91], 0
je 0x1003ee53
mov esi, dword [ebp - 0x18]
cmp byte [esi + 0xff], 0
je 0x1003ee56
cmp byte [esi + 0xfe], 0
jne 0x1003ee56
cmp byte [esi + 0xfc], 0
jne 0x1003ee56
push 0x600004
mov ecx, edi
call fcn.1003d1e0
mov ecx, dword [ebp - 0x44]
or ecx, 0x200009
push ecx
jmp 0x1003e9ca
mov dl, 1
mov ecx, 0xd
call fcn.100118b0
test al, al
jne 0x1003f1ab
mov ecx, 0xf
call fcn.100118b0
test al, al
jne 0x1003f1ab
mov ecx, 0xe
call fcn.100118b0
test al, al
je 0x1003eee6
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0x39], dl
jmp 0x1003e84b
mov al, byte [ebp - 0x65]
test al, al
jne 0x1003f18a
cmp byte [ebp - 0x1d], al
jne 0x1003f18a
cmp byte [ebp - 0x1b], al
je 0x1003ef2e
mov dl, 1
mov ecx, 0x10
call fcn.100118b0
test al, al
je 0x1003ef2e
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], dl
jmp 0x1003e845
mov al, byte [ebp - 0x1e]
test al, al
jne 0x1003f0a1
cmp byte [ebp - 0x66], al
jne 0x1003f0a1
cmp byte [ebp - 0x67], al
je 0x1003e845
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0xd0]
test eax, eax
je 0x1003ef77
mov ecx, dword [ecx + 0xd8]
call eax
mov esi, eax
test esi, esi
jne 0x1003ef7c
mov ecx, dword [0x100bc128]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
jmp 0x1003e848
mov esi, 0x100a8a9b
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003ef81
sub ecx, edx
lea ecx, [ecx*2 + 2]
call fcn.100148e0
mov ecx, eax
xor eax, eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x38], eax
cmp byte [esi], al
je 0x1003efec
xor edi, edi
push 0
mov edx, esi
lea ecx, [ebp - 0x54]
call fcn.100122a0
add esi, eax
cmp dword [ebp - 0x54], 0
je 0x1003efe0
push dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x54]
push dword [ebx + 0x18]
call fcn.1003d210
test al, al
je 0x1003efdb
mov ecx, dword [ebp - 0x48]
mov ax, word [ebp - 0x54]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x1003efa6
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x38]
xor edx, edx
mov word [ecx + eax*2], dx
test eax, eax
jle 0x1003f080
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov eax, dword [edi + 4]
cmp ecx, edx
je 0x1003f020
cmp ecx, eax
jle 0x1003f010
mov dword [edi + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x1003f019
mov dword [edi + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x1003f020
mov dword [edi + 0x3c], ecx
cmp dword [edi + 0x3c], eax
jle 0x1003f028
mov dword [edi + 0x3c], eax
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1003c140
push dword [ebp - 0x38]
mov edx, dword [edi + 0x3c]
mov ecx, edi
push dword [ebp - 0x48]
call fcn.1003bc60
test al, al
je 0x1003f062
push dword [ebp - 0x38]
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push 0
call fcn.1003ce80
mov eax, dword [ebp - 0x38]
add dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
jmp 0x1003f076
movzx eax, word [edi + 0xe5a]
test ax, ax
je 0x1003f076
dec eax
mov word [edi + 0xe5a], ax
mov ecx, dword [ebp - 0x48]
mov byte [edi + 0xe6c], 1
test ecx, ecx
je 0x1003f093
mov eax, dword [0x100bc128]
test eax, eax
je 0x1003f093
dec dword [eax + 0x370]
push ecx
call fcn.1007998a
add esp, 4
jmp 0x1003e83c
mov esi, dword [ebp - 0x18]
cmp dword [esi + 0xd4], 0
je 0x1003f140
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x1003f0c5
mov edx, ecx
cmovl ecx, eax
cmovge edx, eax
jmp 0x1003f0ca
mov edx, dword [edi + 4]
xor ecx, ecx
mov eax, dword [edi + 0x14]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x30], edx
lea edx, [eax + edx*2]
lea ecx, [eax + ecx*2]
call fcn.10012890
mov edi, eax
lea ecx, [edi + 1]
call fcn.100148e0
mov ecx, dword [ebp - 0x4c]
lea edx, [edi + 1]
mov dword [ebp - 0x50], eax
mov esi, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x30]
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0x64]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.100127d0
mov ecx, esi
call fcn.10014900
test esi, esi
je 0x1003f125
mov eax, dword [0x100bc128]
test eax, eax
je 0x1003f125
dec dword [eax + 0x370]
push esi
call fcn.1007998a
mov ecx, dword [0x100bc128]
add esp, 4
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x18]
mov al, byte [ebp - 0x1e]
mov dword [ebp - 0x24], ecx
test al, al
je 0x1003e848
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x1003f164
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 0x1003e845
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.1003c140
mov byte [edi + 0x52], 0
jmp 0x1003e83c
movzx eax, al
mov ecx, edi
xor eax, 1
add eax, 0x20000a
push eax
call fcn.1003d1e0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
jmp 0x1003e83c
mov edx, dword [ebx + 0x14]
mov eax, edx
mov esi, dword [ebp - 0x18]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0x2c], 0
je 0x1003f1cc
mov cl, byte [esi + 0xfc]
test al, al
je 0x1003f1d9
test cl, cl
jne 0x1003f1dd
mov byte [ebp - 0x39], 1
mov byte [ebp - 0x31], 1
jmp 0x1003e848
test cl, cl
jne 0x1003f1cc
cmp byte [ebp - 0x40], 0
jne 0x1003e848
push dword [ebx + 0x1c]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0xa
push dword [ebx + 0x18]
call fcn.1003d210
test al, al
je 0x1003e9d1
push dword [ebp - 0x30]
jmp 0x1003e9ca
xor al, al
or byte [ebp - 0x1f], al
mov eax, dword [esi + 0x1aa4]
cmp eax, dword [ebp - 0x28]
jne 0x1003f6f2
xor eax, eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x38], eax
test dl, dl
je 0x1003f3f2
cmp byte [ebp - 0x40], al
jne 0x1003f349
mov esi, dword [edi + 0x2c]
mov ecx, esi
mov eax, dword [ebx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1003f265
test dl, dl
je 0x1003f261
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1003f265
add eax, 2
add ecx, 2
test dl, dl
jne 0x1003f245
xor eax, eax
jmp 0x1003f26a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1003f349
mov eax, dword [edi + 0x24]
mov ecx, esi
dec eax
mov dword [ebp - 0x48], ecx
xor esi, esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x98], esi
mov dword [ebp - 4], esi
test eax, eax
jle 0x1003f2dc
lea esi, [eax + ecx]
mov edx, esi
call fcn.10012610
inc eax
lea ecx, [ebp - 0xa0]
push eax
call fcn.10024980
mov ecx, dword [ebp - 0x98]
push 0
push esi
push dword [ebp - 0x48]
mov esi, dword [ebp - 0xa0]
mov edx, esi
call fcn.10012410
lea eax, [esi - 1]
mov esi, dword [ebp - 0x98]
jmp 0x1003f2de
xor eax, eax
push eax
push dword [edi + 4]
lea edx, [edi + 0x3c]
mov dword [ebp - 0x54], eax
push 0
mov ecx, edi
call fcn.1003d190
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.1003bbf0
mov eax, dword [ebp - 0x54]
test eax, eax
jle 0x1003f31d
push eax
push esi
xor edx, edx
mov ecx, edi
call fcn.1003bc60
test al, al
je 0x1003f31d
mov eax, dword [ebp - 0x54]
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
test esi, esi
je 0x1003f339
mov eax, dword [0x100bc128]
test eax, eax
je 0x1003f330
dec dword [eax + 0x370]
push esi
call fcn.1007998a
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x100bc128]
mov dword [ebp - 0x24], ecx
cmp byte [ebp - 0x31], 0
mov eax, dword [ebx + 0x14]
je 0x1003f35a
test al, 0x20
jne 0x1003f3f5
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x48]
test esi, esi
je 0x1003f6d4
cmp byte [ebp - 0x6c], 0
je 0x1003f6b1
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 8]
mov dword [ebp - 0x144], eax
lea eax, [ecx + 1]
cmp dword [ebx + 0xc], eax
mov dword [ebp - 0x140], ecx
lea ecx, [ebp - 0x158]
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebx + 0x1c]
movlpd qword [ebp - 0x14c], xmm0
movlpd qword [ebp - 0x138], xmm0
movlpd qword [ebp - 0x130], xmm0
mov dword [ebp - 0x158], 0x40000
mov dword [ebp - 0x150], eax
call dword [ebx + 0x18]
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x144]
mov dword [ebx + 8], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x140], ecx
cmovl ecx, dword [ebp - 0x140]
jmp 0x1003f6b4
mov eax, dword [ebx + 0x14]
cmp byte [ebp - 0x40], 0
jne 0x1003f42e
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea eax, [eax*4 + 1]
push eax
call fcn.10024880
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.100127d0
mov ecx, dword [0x100bc128]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x24], ecx
test eax, 0x801c0
je 0x1003f661
mov esi, 0x16
test al, 0x40
je 0x1003f459
mov dl, 1
xor ecx, ecx
call fcn.100118b0
test al, al
je 0x1003f456
lea eax, [esi + 0x2a]
xor esi, esi
jmp 0x1003f4bb
mov eax, dword [ebx + 0x14]
test al, al
jns 0x1003f494
mov dl, 1
mov ecx, 3
call fcn.100118b0
test al, al
je 0x1003f477
mov eax, 0x80
lea esi, [eax - 0x7d]
jmp 0x1003f4bb
mov dl, 1
mov ecx, 4
call fcn.100118b0
test al, al
je 0x1003f491
mov eax, 0x80
lea esi, [eax - 0x7c]
jmp 0x1003f4bb
mov eax, dword [ebx + 0x14]
test eax, 0x80000
je 0x1003f4ab
cmp byte [edi + 0xe6e], 0
je 0x1003f4ab
mov eax, 0x80000
jmp 0x1003f4bb
test eax, 0x100
je 0x1003f661
mov eax, 0x100
mov dword [ebp - 0x124], eax
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x120], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x110], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x10c], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x114], esi
mov esi, dword [edi + 0x14]
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0x3c]
mov word [ebp - 0x103], cx
mov byte [ebp - 0x101], cl
mov byte [ebp - 0x104], cl
mov ecx, esi
lea edx, [esi + eax*2]
mov dword [ebp - 0x118], 0
call fcn.10012890
mov ecx, dword [ebp - 0x4c]
mov edi, eax
mov dword [ebp - 0x100], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.10012890
mov dword [ebp - 0x50], eax
mov ecx, esi
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x44]
lea edx, [esi + edx*2]
call fcn.10012890
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xf8], eax
call dword [ebx + 0x18]
mov eax, dword [ebp - 0x100]
cmp eax, edi
mov edi, dword [ebp - 0x110]
jne 0x1003f580
mov dl, byte [ebp - 0x104]
test dl, dl
je 0x1003f5a5
lea edx, [eax + edi]
mov ecx, edi
call fcn.10012610
mov esi, dword [ebp - 0x4c]
mov dl, byte [ebp - 0x104]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x100]
mov byte [esi + 0xe6c], 1
jmp 0x1003f5a8
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [ebp - 0x50]
jne 0x1003f5b7
test dl, dl
je 0x1003f5d9
cmp ecx, eax
jne 0x1003f5c0
mov eax, dword [esi + 0x3c]
jmp 0x1003f5d0
lea edx, [ecx + edi]
mov ecx, edi
call fcn.10012610
mov ecx, dword [ebp - 0xfc]
mov dl, byte [ebp - 0x104]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x30]
jne 0x1003f5e8
test dl, dl
je 0x1003f655
cmp eax, ecx
jne 0x1003f5f1
mov eax, dword [esi + 0x40]
jmp 0x1003f5fb
lea edx, [eax + edi]
mov ecx, edi
call fcn.10012610
cmp byte [ebp - 0x104], 0
mov dword [esi + 0x44], eax
je 0x1003f655
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x60]
jle 0x1003f62f
cmp byte [ebp - 0x6c], 0
je 0x1003f62f
mov eax, dword [esi + 0xc]
lea ecx, [esi + 0xc]
sub eax, dword [ebp - 0x60]
add eax, edx
push eax
call fcn.10024980
mov edi, dword [ebp - 0x110]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
push 0
push 0
push edi
call fcn.10012410
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x10c]
mov dword [esi + 8], eax
mov dword [esi + 0xe68], 0xbe99999a
mov ecx, dword [0x100bc128]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x24], ecx
cmp byte [ebp - 0x40], 0
mov edi, dword [ebp - 0x4c]
jne 0x1003f35a
mov esi, dword [edi + 0x20]
mov eax, esi
mov ecx, dword [ebx + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1003f696
test dl, dl
je 0x1003f692
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1003f696
add eax, 2
add ecx, 2
test dl, dl
jne 0x1003f676
xor eax, eax
jmp 0x1003f69b
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x14]
je 0x1003f35a
mov ecx, dword [edi + 8]
mov dword [ebp - 0x48], esi
jmp 0x1003f35d
mov edx, dword [ebx + 0xc]
lea eax, [ecx + 1]
mov ecx, dword [ebx + 8]
cmp eax, edx
cmovl edx, eax
push edx
mov edx, esi
call fcn.10012080
mov ecx, dword [0x100bc128]
mov byte [ebp - 0x32], 1
mov dword [ebp - 0x24], ecx
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0x39], 0
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
je 0x1003f70e
cmp dword [esi + 0x1aa4], eax
jne 0x1003f70e
call fcn.100144b0
mov eax, dword [ebp - 0x28]
cmp byte [ebp - 0x2c], 0
jne 0x1003f7e4
push 1
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.10013890
movss xmm0, dword [0x100afebc]
mov ecx, 7
call fcn.10012e10
movss xmm0, dword [esi + 0x1558]
mov dl, 1
movss xmm1, dword [ebp - 0xb8]
mov ecx, eax
movss xmm2, dword [ebp - 0xb4]
movss xmm3, dword [ebp - 0xb0]
movss xmm4, dword [ebp - 0xac]
call fcn.10013620
movss xmm1, dword [ebp - 0xb8]
movss xmm4, dword [ebp - 0x80]
movss xmm3, dword [ebp - 0xb4]
movaps xmm0, xmm4
addss xmm0, xmm1
movss dword [ebp - 0xc8], xmm1
addss xmm1, dword [esi + 0x1550]
movss dword [ebp - 0xc4], xmm3
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm3
addss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x9c], xmm1
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0xbc], xmm0
movaps xmm0, xmm3
addss xmm0, dword [esi + 0x1554]
mov esi, dword [0x100bc128]
mov dword [ebp - 0x24], esi
movss dword [ebp - 0x98], xmm0
jmp 0x1003f84b
movss xmm0, dword [ebp - 0xb8]
movss xmm4, dword [ebp - 0x80]
movss xmm1, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x24]
movss dword [ebp - 0xc8], xmm0
addss xmm0, xmm4
movss dword [ebp - 0xc4], xmm1
movss dword [ebp - 0xc0], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0xbc], xmm0
mov eax, dword [ecx + 0xcc]
mov ecx, dword [ecx + 0xd0]
movss dword [ebp - 0x64], xmm0
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], ecx
cmp byte [ebp - 0x68], 0
lea eax, [ebp - 0x9c]
movss xmm0, dword [eax]
movss xmm7, dword [eax + 4]
movss dword [ebp - 0x7c], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x38], eax
movss dword [ebp - 0x88], xmm7
movss dword [ebp - 0x78], xmm7
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0x54], xmm0
movss dword [ebp - 0xf0], xmm0
je 0x1003f898
mov eax, dword [edi + 0x20]
mov dword [ebx + 8], eax
mov dh, byte [ebp - 0x1a]
mov dword [ebp - 0x44], 0
test dh, dh
je 0x1003f8c6
mov eax, dword [ebp - 0x5c]
mov ecx, eax
mov dword [ebx + 8], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003f8b1
sub ecx, edx
mov edx, dword [ebp - 0x5c]
lea eax, [ecx + edx]
mov dh, byte [ebp - 0x1a]
mov dword [ebp - 0x44], eax
cmp byte [ebp - 0x19], 0
jne 0x1003f9e4
cmp byte [ebp - 0x1f], 0
jne 0x1003f9e4
cmp byte [ebp - 0x2c], 0
je 0x1003f943
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x1003f902
nop
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x1003f8f0
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0x44], edi
cmp al, 0xa
je 0x1003f912
cmp al, 0xd
je 0x1003f912
inc ecx
mov eax, dword [ebp - 0x18]
movaps xmm1, xmm4
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x30], xmm1
mulss xmm0, dword [eax + 0x1930]
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0x54], xmm0
movss dword [ebp - 0xf0], xmm0
jmp 0x1003f98e
test dh, dh
jne 0x1003f97b
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
cmp dword [eax + 0x1aa4], ecx
jne 0x1003f960
mov edi, dword [edi + 8]
add edi, dword [ebx + 8]
mov dword [ebp - 0x44], edi
jmp 0x1003f97e
mov edi, dword [ebx + 8]
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003f968
sub ecx, edx
mov dh, byte [ebp - 0x1a]
add edi, ecx
mov dword [ebp - 0x44], edi
jmp 0x1003f97e
mov edi, dword [ebp - 0x44]
mov eax, edi
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x1004035b
movss xmm0, dword [0x100afebc]
lea eax, [ebp - 0xc8]
xor ecx, ecx
cmp byte [ebp - 0x2c], cl
cmovne eax, ecx
push eax
push ecx
mov dword [esp], ecx
push edi
push dword [ebx + 8]
movzx ecx, dh
call fcn.10012e10
push eax
lea eax, [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x18]
push dword [eax + 0x192c]
movss xmm2, dword [eax + 0x1930]
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x288]
call fcn.1002eea0
mov esi, dword [0x100bc128]
jmp 0x1004035b
test dh, dh
jne 0x1003f9f1
mov eax, dword [edi + 8]
add eax, dword [ebx + 8]
mov dword [ebp - 0x44], eax
mov ecx, dword [edi + 0x14]
xor edx, edx
xorps xmm0, xmm0
mov dword [ebp - 0x28], ecx
xorps xmm6, xmm6
movss dword [ebp - 0x50], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x48], 0xfffffc18
mov dword [ebp - 0x74], 0xfffffc18
cmp byte [ebp - 0x19], dl
je 0x1003fa3a
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x48], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0x5c], eax
cmp byte [ebp - 0x1f], 0
je 0x1003fa5e
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0x28]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x74], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x2c]
movzx eax, al
add edx, eax
xor eax, eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x28]
movzx eax, word [eax]
test ax, ax
je 0x1003fac8
mov esi, dword [ebp - 0x48]
mov edi, eax
nop dword [eax + eax]
cmp di, 0xa
jne 0x1003fab1
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp esi, 0xffffffff
jne 0x1003fa9e
cmp ecx, dword [ebp - 0x5c]
jb 0x1003fa9e
dec edx
mov esi, eax
test edx, edx
jle 0x1003fabf
cmp dword [ebp - 0x74], 0xffffffff
jne 0x1003fab1
cmp ecx, dword [ebp - 0x60]
jb 0x1003fab1
dec edx
mov dword [ebp - 0x74], eax
test edx, edx
jle 0x1003fabf
movzx eax, word [ecx + 2]
add ecx, 2
mov edi, eax
test ax, ax
jne 0x1003fa80
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], esi
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
inc ecx
cmp dword [ebp - 0x48], 0xffffffff
mov edx, ecx
mov dword [ebp - 0x6c], ecx
cmovne edx, dword [ebp - 0x48]
cmp eax, 0xffffffff
mov dword [ebp - 0xec], edx
mov edx, dword [ebp - 0x5c]
cmove eax, ecx
mov ecx, edx
mov dword [ebp - 0x74], eax
cmp edx, dword [ebp - 0x28]
jbe 0x1003fb09
mov edi, dword [ebp - 0x28]
cmp word [ecx - 2], 0xa
je 0x1003fb06
add ecx, 0xfffffffe
cmp ecx, edi
ja 0x1003faf8
mov edi, dword [ebp - 0x4c]
mov eax, dword [esi + 0x192c]
movaps xmm4, xmm0
movss xmm3, dword [esi + 0x1930]
movaps xmm1, xmm0
mov dword [ebp - 0x70], eax
movss dword [ebp - 0x48], xmm4
divss xmm3, dword [eax + 0x10]
cmp ecx, edx
jae 0x1003fb8c
mov edi, eax
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1003fb4a
comiss xmm4, xmm1
jae 0x1003fb45
movaps xmm4, xmm1
movaps xmm1, xmm0
jmp 0x1003fb72
cmp edx, 0xd
je 0x1003fb72
mov edx, eax
cmp edx, dword [edi]
jge 0x1003fb5f
mov eax, dword [edi + 8]
movss xmm2, dword [eax + edx*4]
jmp 0x1003fb64
movss xmm2, dword [edi + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, dword [ebp - 0x5c]
jb 0x1003fb30
comiss xmm1, xmm4
mov edi, dword [ebp - 0x4c]
movss dword [ebp - 0x48], xmm4
jbe 0x1003fb8c
movaps xmm4, xmm1
movss dword [ebp - 0x48], xmm1
cmp dword [ebp - 0x74], 0
movd xmm5, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x18]
cvtdq2ps xmm5, xmm5
movss xmm2, dword [ecx + 0x1930]
mulss xmm5, xmm2
movss dword [ebp - 0x128], xmm5
jl 0x1003fc4b
mov edx, dword [ebp - 0x60]
mov ecx, edx
cmp edx, dword [ebp - 0x28]
jbe 0x1003fbd6
mov esi, dword [ebp - 0x28]
cmp word [ecx - 2], 0xa
je 0x1003fbd3
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x1003fbc5
mov esi, dword [ebp - 0x24]
movaps xmm6, xmm0
movaps xmm1, xmm0
cmp ecx, edx
jae 0x1003fc37
mov esi, dword [ebp - 0x70]
mov edi, dword [ebp - 0x60]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x1003fc00
comiss xmm6, xmm1
jae 0x1003fbfb
movaps xmm6, xmm1
movaps xmm1, xmm0
jmp 0x1003fc25
cmp edx, 0xd
je 0x1003fc25
mov edx, eax
cmp edx, dword [esi]
jge 0x1003fc15
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x1003fc1a
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cmp ecx, edi
jb 0x1003fbe6
comiss xmm1, xmm6
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x24]
jbe 0x1003fc37
movaps xmm6, xmm1
movd xmm0, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x50], xmm0
mov edx, dword [ebp - 0x2c]
movss xmm1, dword [ebp - 0x80]
test dl, dl
je 0x1003fc82
movd xmm3, dword [ebp - 0x6c]
movaps xmm0, xmm1
cvtdq2ps xmm3, xmm3
movss dword [ebp - 0x30], xmm0
mulss xmm3, xmm2
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0xf0], xmm3
jmp 0x1003fc87
movss xmm3, dword [ebp - 0x54]
cmp byte [ebp - 0x19], 0
je 0x1003fdb7
cmp byte [edi + 0xe6c], 0
je 0x1003fdb7
test dword [ebx + 0x14], 0x1000
jne 0x1003fcfc
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm4
mulss xmm1, dword [0x100afe4c]
jbe 0x1003fcd9
subss xmm0, xmm1
xorps xmm2, xmm2
maxss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x1003fd06
subss xmm0, dword [ebp - 0x80]
comiss xmm0, xmm2
xorps xmm2, xmm2
jb 0x1003fd06
addss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x1003fd06
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x1003fda3
movss xmm4, dword [ebp - 0x84]
movaps xmm0, xmm5
subss xmm0, dword [ecx + 0x1930]
comiss xmm4, xmm0
jbe 0x1003fd37
movss xmm5, dword [ebp - 0x8c]
movaps xmm4, xmm0
maxss xmm4, xmm2
jmp 0x1003fd5b
movaps xmm0, xmm5
movss xmm5, dword [ebp - 0x8c]
subss xmm0, xmm5
comiss xmm0, xmm4
jb 0x1003fd5b
movss xmm4, dword [ecx + 0x1554]
addss xmm4, xmm4
addss xmm4, xmm0
comiss xmm2, xmm4
movss xmm1, dword [ecx + 0x1554]
jbe 0x1003fd6d
xorps xmm1, xmm1
jmp 0x1003fd81
addss xmm1, xmm1
addss xmm1, xmm3
subss xmm1, xmm5
maxss xmm1, xmm2
minss xmm1, xmm4
mov eax, dword [ebp - 0x58]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
movss dword [eax + 0x5c], xmm1
addss xmm0, xmm7
movss dword [ebp - 0x88], xmm0
movss dword [ebp - 0x78], xmm0
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0x64], xmm0
cmp byte [ebp - 0x1f], 0
movss xmm7, dword [edi + 0x38]
movss dword [ebp - 0x5c], xmm7
je 0x10040038
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0x28]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0x19], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x28]
lea edx, [eax + edx*2]
mov dword [ebp - 0x80], edx
je 0x1003fdfa
movss xmm0, dword [0x100afebc]
jmp 0x1003fe02
movss xmm0, dword [0x100afe88]
mov ecx, 0x2f
call fcn.10012e10
cmp byte [ebp - 0x2c], 0
mov dword [ebp - 0x70], eax
je 0x1003fe22
xorps xmm0, xmm0
movss dword [ebp - 0x84], xmm0
jmp 0x1003fe3a
movss xmm0, dword [0x100b001c]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [0x100afef8]
mov ecx, dword [ebp - 0x38]
movss dword [ebp - 0x6c], xmm0
mov dword [ebp - 0x60], esi
addss xmm6, dword [ecx]
subss xmm6, xmm7
movss xmm7, dword [ebp - 0x88]
addss xmm7, dword [ebp - 0x50]
movss dword [ebp - 0x74], xmm6
movss dword [ebp - 0x50], xmm7
cmp esi, edx
jae 0x10040030
mov edi, dword [ebp - 0x18]
movss xmm2, dword [ebp - 0x64]
mov eax, dword [ebp - 0x18]
movss xmm1, dword [edi + 0x1930]
mov edi, dword [ebp - 0x70]
movaps xmm0, xmm2
addss xmm0, xmm1
comiss xmm7, xmm0
ja 0x10040025
movss xmm0, dword [ebp - 0xc4]
comiss xmm0, xmm7
jbe 0x1003fec2
cmp esi, edx
jae 0x1003fffb
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 0x60], esi
cmp eax, 0xa
je 0x1003fff8
cmp esi, edx
jb 0x1003fea7
jmp 0x1003fff8
push 1
push 0
lea eax, [ebp - 0x60]
mov ecx, esi
push eax
call fcn.1003b8a0
movaps xmm2, xmm0
movss dword [ebp - 0x90], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x8c], xmm1
comiss xmm0, xmm2
jb 0x1003ff1f
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x192c]
cmp dword [eax], 0x20
jle 0x1003ff07
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x1003ff0c
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100afe7c]
cvttss2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x84]
addss xmm2, dword [ebp - 0x74]
movss xmm1, dword [ebp - 0x6c]
subss xmm0, dword [ecx + 0x1930]
movss xmm4, dword [ebp - 0xc0]
addss xmm1, xmm7
movss xmm3, dword [ebp - 0xc4]
movss xmm6, dword [ebp - 0xc8]
minss xmm4, xmm2
movss xmm2, dword [ebp - 0xbc]
movaps xmm5, xmm6
maxss xmm5, dword [ebp - 0x74]
addss xmm0, xmm7
movss dword [ebp - 0xd4], xmm4
movss dword [ebp - 0xdc], xmm5
maxss xmm3, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
movss dword [ebp - 0xd8], xmm3
comiss xmm0, dword [ebp - 0xc4]
movss dword [ebp - 0xd0], xmm0
jbe 0x1003ffef
comiss xmm2, xmm3
jbe 0x1003ffef
comiss xmm4, xmm6
jbe 0x1003ffef
movss xmm0, dword [ebp - 0xc0]
comiss xmm0, xmm5
jbe 0x1003ffef
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xd4]
push edi
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x288]
call fcn.1002e880
movss xmm2, dword [ebp - 0xbc]
movss xmm7, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x80]
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x18]
movss xmm1, dword [eax + 0x1930]
movss xmm6, dword [ecx]
movaps xmm0, xmm1
addss xmm7, xmm0
subss xmm6, dword [ebp - 0x5c]
movss dword [ebp - 0x50], xmm7
movss dword [ebp - 0x74], xmm6
cmp esi, edx
jb 0x1003fe82
mov esi, dword [0x100bc128]
mov edi, dword [ebp - 0x4c]
jmp 0x10040033
mov esi, dword [ebp - 0x24]
movss xmm7, dword [ebp - 0x5c]
cmp byte [ebp - 0x2c], 0
jne 0x1004004f
mov eax, dword [ebp - 0x44]
sub eax, dword [ebx + 8]
cmp eax, 0x200000
jge 0x100401c7
movzx ecx, byte [ebp - 0x1a]
movss xmm0, dword [0x100afebc]
call fcn.10012e10
cmp byte [ebp - 0x2c], 0
lea edx, [ebp - 0xc8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x70], 0
cmovne edx, dword [ebp - 0x70]
test dword [ebp - 0x64], 0xff000000
movss xmm0, dword [eax]
mov eax, dword [ebp - 0x58]
subss xmm0, xmm7
mov ecx, dword [eax + 0x288]
mov eax, dword [ebp - 0x18]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x8c], xmm0
movss xmm2, dword [eax + 0x1930]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0x50], eax
je 0x100401c7
test eax, eax
jne 0x100400ed
mov ecx, dword [ebx + 8]
lea eax, [ecx + 1]
mov dword [ebp - 0x70], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100400d5
sub ecx, dword [ebp - 0x70]
mov eax, dword [ebx + 8]
add eax, ecx
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x50], eax
cmp dword [ebx + 8], eax
je 0x100401c7
mov eax, dword [ebp - 0x18]
mov esi, dword [eax + 0x192c]
test esi, esi
jne 0x10040109
mov eax, dword [ecx + 0x2c]
mov esi, dword [eax + 8]
ucomiss xmm2, dword [0x100afde4]
lahf
test ah, 0x44
jp 0x1004011e
mov eax, dword [ecx + 0x2c]
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + 0x60]
movups xmmword [ebp - 0xdc], xmm0
test edx, edx
je 0x1004018c
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0xdc]
comiss xmm0, xmm1
jae 0x10040146
movss dword [ebp - 0xdc], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0xd8]
comiss xmm0, xmm1
jae 0x10040160
movss dword [ebp - 0xd8], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xd4]
ja 0x10040176
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0xd0]
ja 0x1004018c
movss dword [ebp - 0xd0], xmm0
push dword [ebp - 0x8c]
test edx, edx
push dword [ebp - 0x90]
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xdc]
push dword [ebp - 0x50]
push dword [ebx + 8]
push eax
push dword [ebp - 0x64]
push ecx
mov ecx, esi
call fcn.10032310
mov esi, dword [0x100bc128]
cmp byte [ebp - 0x19], 0
je 0x1004035b
mov eax, dword [ebp - 0x18]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
mov edi, eax
movss dword [ebp - 0x70], xmm0
cmp byte [edi + 0xb2], 0
je 0x10040224
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x10040224
fld dword [ebp - 0x70]
fld dword [0x100afed0]
call fcn.10097400
movss xmm0, dword [0x100afea8]
fstp dword [ebp - 0x70]
comiss xmm0, dword [ebp - 0x70]
jae 0x10040224
xor al, al
jmp 0x10040226
mov al, 1
mov ecx, dword [ebp - 0x38]
movss xmm0, dword [ebp - 0x88]
movss xmm4, dword [ebp - 0x48]
movss xmm5, dword [0x100afebc]
addss xmm0, dword [ebp - 0x128]
addss xmm4, dword [ecx]
movss dword [ebp - 0x88], xmm0
movaps xmm1, xmm0
movaps xmm2, xmm0
subss xmm4, dword [ebp - 0x5c]
subss xmm1, dword [edi + 0x1930]
subss xmm2, dword [0x100afedc]
movss dword [ebp - 0x48], xmm4
movaps xmm3, xmm4
movss dword [ebp - 0xdc], xmm4
addss xmm3, xmm5
movss dword [ebp - 0xd0], xmm2
addss xmm1, dword [0x100afe7c]
movss dword [ebp - 0xd4], xmm3
movss dword [ebp - 0xd8], xmm1
test al, al
je 0x10040339
comiss xmm2, dword [ebp - 0xc4]
jbe 0x10040339
movss xmm0, dword [ebp - 0xbc]
comiss xmm0, xmm1
jbe 0x10040331
comiss xmm3, dword [ebp - 0xc8]
jbe 0x10040331
movss xmm0, dword [ebp - 0xc0]
comiss xmm0, xmm4
jbe 0x10040331
sub esp, 8
movss dword [ebp - 0x9c], xmm4
movaps xmm0, xmm5
movss dword [ebp - 0x98], xmm2
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.10012e10
add esp, 4
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax + 0x288]
call fcn.1002e670
mov esi, dword [0x100bc128]
movss xmm4, dword [ebp - 0x48]
movss xmm5, dword [0x100afebc]
movss xmm0, dword [ebp - 0x88]
cmp byte [ebp - 0x40], 0
jne 0x1004035b
subss xmm0, dword [edi + 0x1930]
subss xmm4, xmm5
movss dword [edi + 0x2eb4], xmm0
movss dword [edi + 0x2eb0], xmm4
cmp byte [ebp - 0xa8], 0
je 0x100403d3
cmp byte [ebp - 0x1a], 0
jne 0x100403d3
mov eax, dword [esi + 0x1a6c]
mov edi, esi
mov ecx, dword [eax + 0x288]
mov edx, dword [ecx + 0x48]
sub edx, 1
mov dword [ecx + 0x48], edx
jne 0x10040387
xor eax, eax
jmp 0x1004038e
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x70], eax
call fcn.1002cb40
mov ecx, dword [esi + 0x1b7c]
sub ecx, 1
mov dword [esi + 0x1b7c], ecx
mov esi, dword [0x100bc128]
jne 0x100403c4
mov ecx, dword [esi + 0xa4]
test ecx, ecx
jne 0x100403ce
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
jmp 0x100403ce
mov eax, dword [edi + 0x1b84]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.1001d490
cmp byte [ebp - 0x2c], 0
je 0x1004046d
mov eax, dword [esi + 0x1a6c]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1a6c]
cmp byte [eax + 0x8f], 0
jne 0x1004045d
movss xmm1, dword [eax + 0xd0]
lea ecx, [ebp - 0xf4]
movss xmm0, dword [ebp - 0x54]
movss xmm2, dword [eax + 0xcc]
addss xmm0, xmm1
movss xmm3, dword [ebp - 0x30]
addss xmm3, xmm2
movss dword [ebp - 0xdc], xmm2
movss dword [ebp - 0xd8], xmm1
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [0x100b001c]
movss dword [ebp - 0xd4], xmm3
call fcn.1001da70
push 0
xor edx, edx
lea ecx, [ebp - 0xdc]
call fcn.1001dba0
call fcn.100185c0
call fcn.1001e1f0
mov esi, dword [0x100bc128]
mov eax, dword [ebp - 0x18]
cmp byte [eax + 0x2f04], 0
je 0x1004049f
cmp byte [ebp - 0xa8], 0
je 0x10040488
cmp byte [ebp - 0x1a], 0
je 0x1004049f
push dword [ebp - 0x44]
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x7c]
call fcn.10023150
mov esi, dword [0x100bc128]
mov eax, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0xe8]
comiss xmm0, dword [0x100afde4]
jbe 0x100404f9
movss xmm0, dword [ebp - 0xb0]
xor edx, edx
addss xmm0, dword [eax + 0x1568]
mov ecx, dword [ebp - 0xcc]
push 1
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [eax + 0x1554]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x7c]
movss xmm1, dword [ebp - 0x78]
call fcn.100131b0
mov esi, dword [0x100bc128]
mov dl, byte [ebp - 0x32]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x10040521
test ecx, 0x200000
jne 0x10040521
mov eax, dword [esi + 0x1a6c]
mov word [esi + 0x1ab4], 0x101
or dword [eax + 0x11c], 4
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0x31]
cmovne eax, ecx
jmp 0x1003d684