Function at 0x100465b0
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 0x10082d30
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x148
mov eax, dword [0x1009c018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x144], ecx
mov edi, dword [0x1009fce4]
mov esi, edi
mov eax, dword [ebx + 8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], esi
mov eax, dword [esi + 0x1b98]
mov byte [eax + 0x8c], 1
mov eax, dword [esi + 0x1b98]
mov dword [ebp - 0x118], eax
cmp byte [eax + 0x8f], 0
jne 0x10046ae8
mov edx, dword [ebx + 0x14]
mov ecx, edx
shr ecx, 0x1a
and ecx, 0xffffff01
mov dword [ebp - 0xd8], ecx
mov ecx, edx
shr ecx, 0xe
and ecx, 0xffffff01
mov dword [ebp - 0x108], ecx
mov ecx, edx
shr ecx, 0xf
and ecx, 0xffffff01
mov dword [ebp - 0x14c], ecx
mov ecx, edx
shr ecx, 0x10
not cl
and ecx, 0xffffff01
mov dword [ebp - 0x114], ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0xffffff01
cmp byte [ebp - 0xd8], 0
mov dword [ebp - 0x128], ecx
je 0x100466a8
call fcn.10024b60
mov edi, dword [0x1009fce4]
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax + 0xc4]
xor edx, edx
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, dword [ebp - 0x144]
call fcn.10018290
add esp, 4
mov dword [ebp - 0xe0], eax
cmp dword [edi + 0x1bd0], eax
jne 0x100466dc
mov dword [edi + 0x1bd4], eax
cmp dword [edi + 0x1c0c], eax
jne 0x100466eb
mov byte [edi + 0x1c10], 1
cmp dword [edi + 0x1bb8], eax
jne 0x1004670f
push ecx
push dword [ebp - 0x144]
mov edx, 0xb
mov ecx, eax
call fcn.1002aa30
mov edi, dword [0x1009fce4]
add esp, 8
mov eax, dword [ebp - 0x144]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10046736
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10046736
cmp dl, 0x23
jne 0x10046730
cmp byte [ecx + 1], dl
je 0x10046736
inc ecx
cmp ecx, 0xffffffff
jb 0x10046720
movss xmm1, dword [0x10093d04]
movss xmm0, dword [edi + 0x1934]
movss dword [ebp - 0x148], xmm1
cmp eax, ecx
jne 0x1004675f
xorps xmm3, xmm3
movss dword [ebp - 0x158], xmm3
jmp 0x100467b1
push 0
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x1930]
lea eax, [ebp - 0x110]
mov dword [esp], 0xbf800000
movaps xmm3, xmm1
push eax
movaps xmm2, xmm0
call fcn.1003a4e0
movss xmm0, dword [ebp - 0x110]
xorps xmm3, xmm3
addss xmm0, dword [0x10093ae8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x10c]
cmp byte [ebp - 0xd8], 0
je 0x100467ca
movss xmm0, dword [esi + 0x1934]
mulss xmm0, dword [0x10093bdc]
test byte [edi + 0x1c24], 1
movss xmm1, dword [esi + 0x1558]
mov eax, dword [edi + 0x1b98]
movaps xmm2, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
je 0x100467f6
movss xmm0, dword [edi + 0x1c28]
jmp 0x100467fe
movss xmm0, dword [eax + 0x17c]
comiss xmm3, xmm0
jbe 0x1004683d
cmp dword [eax + 0x168], 0
movss xmm1, dword [eax + 0x204]
jne 0x1004681d
cmp dword [edi + 0x1f1c], 0
je 0x10046825
movss xmm1, dword [eax + 0x1d4]
subss xmm1, dword [eax + 0xd0]
addss xmm1, xmm0
movss xmm0, dword [0x10093af0]
maxss xmm0, xmm1
cvttss2si eax, xmm0
lea ecx, [ebp - 0x110]
movd xmm1, eax
mov eax, dword [ebx + 0x10]
cvtdq2ps xmm1, xmm1
push dword [eax + 4]
push dword [eax]
call fcn.10024a80
movss xmm1, dword [ebp - 0x158]
xorps xmm0, xmm0
add esp, 8
comiss xmm1, xmm0
jbe 0x1004687b
movaps xmm2, xmm1
addss xmm2, dword [esi + 0x156c]
jmp 0x1004687e
xorps xmm2, xmm2
mov edi, dword [ebp - 0x118]
lea ecx, [ebp - 0x138]
movss xmm5, dword [ebp - 0x110]
addss xmm2, xmm5
movss dword [ebp - 0x12c], xmm5
mov dword [ebp - 0x11c], edi
movss xmm4, dword [edi + 0xd4]
movss xmm3, dword [edi + 0xd0]
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x10c]
addss xmm2, xmm3
movss dword [ebp - 0xd4], xmm3
movaps xmm1, xmm3
movss dword [ebp - 0xbc], xmm4
addss xmm1, xmm5
movss dword [ebp - 0x54], xmm3
movss dword [ebp - 0x50], xmm4
movss dword [ebp - 0x48], xmm0
movaps xmm0, xmm4
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x34], xmm2
subss xmm2, xmm3
movss dword [ebp - 0x4c], xmm1
movss xmm1, dword [esi + 0x1558]
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x30], xmm0
subss xmm0, xmm4
movss dword [ebp - 0x38], xmm4
mov dword [ebp - 0x140], 1
movss dword [ebp - 0x138], xmm2
movss dword [ebp - 0x134], xmm0
call fcn.10024570
cmp byte [ebp - 0xd8], 0
je 0x10046b77
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0x54]
push 0x100
push eax
lea ecx, [ebp - 0x3c]
call fcn.100246a0
add esp, 8
test al, al
je 0x10046ae3
mov eax, dword [esi + 0x1c40]
movss xmm0, dword [ebp - 0xd4]
mov esi, dword [0x1009fce4]
movss dword [edi + 0xd0], xmm0
movss xmm0, dword [ebp - 0xbc]
movss dword [edi + 0xd4], xmm0
movups xmm0, xmmword [esi + 0x1610]
mov dword [ebp - 0xf0], eax
lea ecx, [esi + 0x1cd4]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 3
push eax
movups xmmword [ebp - 0x3c], xmm0
call fcn.1002b3a0
mov edi, dword [ebp - 0xe4]
lea eax, [ebp - 0x13c]
push eax
mov dword [ebp - 0x13c], 7
movups xmm0, xmmword [edi + 0x1650]
movups xmmword [esi + 0x1610], xmm0
mov esi, dword [0x1009fce4]
movss xmm0, dword [edi + 0x155c]
movss dword [ebp - 0xd4], xmm0
movss xmm0, dword [esi + 0x1544]
lea ecx, [esi + 0x1ce0]
movss dword [ebp - 0x138], xmm0
call fcn.1002b2d0
movss xmm0, dword [ebp - 0xd4]
lea eax, [ebp - 0x13c]
movss dword [esi + 0x1544], xmm0
mov esi, dword [0x1009fce4]
movss xmm0, dword [edi + 0x1560]
movss dword [ebp - 0xd4], xmm0
push eax
movss xmm0, dword [esi + 0x1548]
lea ecx, [esi + 0x1ce0]
mov dword [ebp - 0x13c], 8
movss dword [ebp - 0x138], xmm0
call fcn.1002b2d0
movss xmm0, dword [ebp - 0xd4]
lea eax, [ebp - 0x138]
movss xmm1, dword [ebp - 0x4c]
subss xmm1, dword [ebp - 0x54]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x144]
movss dword [esi + 0x1548], xmm0
movss xmm0, dword [ebp - 0x48]
subss xmm0, dword [ebp - 0x50]
push 4
push 1
push eax
movss dword [ebp - 0x138], xmm1
movss dword [ebp - 0x134], xmm0
call fcn.1001ecf0
add esp, 0xc
mov byte [ebp - 0xd9], al
mov ecx, 2
call fcn.10018ed0
mov eax, 1
mov ecx, eax
call fcn.10018e80
cmp byte [ebp - 0xd9], 0
jne 0x10046b08
call fcn.1001ef90
call fcn.10024c90
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007e605
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, edi
mov edx, dword [esi + 0x1b98]
mov dword [ebp - 0x11c], edx
movsx ecx, word [edx + 0x122]
mov eax, dword [edx + 0x11c]
bts ecx, eax
mov word [edx + 0x122], cx
movss xmm0, dword [esi + 0x1554]
addss xmm0, dword [edx + 0xd0]
movss dword [edx + 0xd0], xmm0
movss xmm0, dword [esi + 0x1558]
addss xmm0, dword [edx + 0xd4]
movss dword [edx + 0xd4], xmm0
movss xmm0, dword [ebp - 0x110]
subss xmm0, dword [edx + 0x80]
movss dword [ebp - 0x12c], xmm0
jmp 0x10046bae
test dword [ebx + 0x14], 0x10000000
jne 0x10046ba2
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0x54]
push 0x100
push eax
lea ecx, [ebp - 0x3c]
call fcn.100246a0
add esp, 8
test al, al
je 0x10046ae8
mov eax, dword [esi + 0x1c40]
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0x54]
call fcn.1001a9f0
mov dl, al
mov byte [ebp - 0xe9], dl
test dl, dl
je 0x10046bd2
mov dword [esi + 0x1e88], 1
mov edi, dword [0x1009fce4]
xor eax, eax
mov ecx, dword [ebp - 0xe0]
add edi, 0x1fac
cmp dword [edi], ecx
cmovne edi, eax
mov eax, dword [ebp - 0xf0]
shr eax, 8
and al, 1
mov dword [ebp - 0x120], edi
mov dword [ebp - 0xf0], eax
mov eax, dword [esi + 0x1bd0]
cmp eax, ecx
je 0x10046c2e
cmp dword [esi + 0x1d58], ecx
je 0x10046c25
cmp dword [esi + 0x1d4c], ecx
jne 0x10046c2e
cmp dword [esi + 0x1d78], 2
jne 0x10046c2e
mov byte [ebp - 0xbf], 1
jmp 0x10046c35
mov byte [ebp - 0xbf], 0
test dl, dl
je 0x10046c49
cmp byte [esi + 0x3e0], 0
mov byte [ebp - 0xbe], 1
jne 0x10046c50
mov byte [ebp - 0xbe], 0
cmp byte [ebp - 0xd8], 0
je 0x10046cc6
test edi, edi
je 0x10046cc6
test eax, eax
jne 0x10046cc6
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10018290
mov ecx, dword [0x1009fce4]
add esp, 4
mov dword [ebp - 0xd4], eax
cmp dword [ecx + 0x1bb8], eax
jne 0x10046cb5
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.1002aa30
mov eax, dword [ebp - 0xd4]
add esp, 8
cmp dword [esi + 0x1c0c], eax
jne 0x10046cc6
mov byte [ebp - 0xb7], 1
jmp 0x10046ce6
mov eax, dword [ebp - 0xd8]
mov byte [ebp - 0xb7], 0
test al, al
je 0x10046d60
mov byte [ebp - 0xb7], 0
test edi, edi
je 0x10046d60
mov eax, dword [ebp - 0x11c]
xor edx, edx
mov ecx, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.10018290
mov ecx, dword [0x1009fce4]
add esp, 4
mov dword [ebp - 0xd4], eax
cmp dword [ecx + 0x1bb8], eax
jne 0x10046d3a
push ecx
push str.SCROLLY
mov edx, 0xb
mov ecx, eax
call fcn.1002aa30
mov eax, dword [ebp - 0xd4]
add esp, 8
cmp dword [esi + 0x1bd0], eax
jne 0x10046d5a
mov cl, 1
mov byte [ebp - 0xc9], 0
mov byte [ebp - 0xb6], cl
mov byte [ebp - 0xc8], 0
jmp 0x10046d7a
mov eax, dword [ebp - 0xd8]
xor cl, cl
mov byte [ebp - 0xc9], 0
mov byte [ebp - 0xc8], 0
mov byte [ebp - 0xb6], cl
test al, al
je 0x10046d95
mov eax, dword [ebp - 0x11c]
movss xmm0, dword [eax + 0x5c]
mov eax, dword [ebp - 0xd8]
movss dword [ebp - 0x148], xmm0
jmp 0x10046d9d
xor cl, cl
mov byte [ebp - 0xb6], cl
test edi, edi
je 0x10046dac
xor al, 1
cmp byte [edi + 0x53], al
je 0x10046dac
mov al, 1
jmp 0x10046dae
xor al, al
cmp byte [ebp - 0xbe], 0
mov byte [ebp - 0xbd], al
jne 0x10046deb
cmp byte [ebp - 0xb7], 0
jne 0x10046deb
cmp byte [ebp - 0xbf], 0
jne 0x10046deb
cmp byte [ebp - 0xf0], 0
jne 0x10046deb
mov byte [ebp - 0xb7], 0
test cl, cl
jne 0x10046df2
mov byte [ebp - 0xc0], cl
jmp 0x10046e07
mov byte [ebp - 0xb7], 1
mov ecx, dword [ebp - 0xe0]
mov byte [ebp - 0xc0], 1
cmp dword [esi + 0x1bd0], ecx
jne 0x10046e0f
test al, al
je 0x100470cc
mov ecx, dword [ebp - 0xe8]
lea edi, [esi + 0x1fac]
mov dword [ebp - 0x120], edi
mov dword [edi + 0xe68], 0xbe99999a
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10046e30
mov eax, dword [edi + 0x28]
sub ecx, edx
lea edx, [ecx + 1]
mov dword [ebp - 0xbc], edx
cmp edx, eax
jle 0x10046e7a
test eax, eax
je 0x10046e5f
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x28]
jmp 0x10046e64
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x24]
push eax
call fcn.1002b770
mov edx, dword [ebp - 0xbc]
push edx
push dword [ebp - 0xe8]
mov dword [edi + 0x24], edx
push dword [edi + 0x2c]
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebx + 0xc]
add esp, 0xc
mov eax, dword [edi + 0x10]
inc edx
mov dword [ebp - 0xbc], edx
cmp edx, eax
jle 0x10046ed1
test eax, eax
je 0x10046eb6
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x10046ebb
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.1002b7f0
mov edx, dword [ebp - 0xbc]
lea eax, [edi + 0x18]
mov dword [edi + 0xc], edx
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x10046efa
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.1002b770
lea eax, [edi + 0x18]
mov esi, dword [ebx + 0xc]
mov dword [eax], 0
mov ecx, dword [edi + 0x14]
mov edx, ecx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xd0], ecx
lea ecx, [ecx + esi*2]
mov byte [edi + 0x30], 0
mov esi, dword [ebp - 0xe4]
add ecx, 0xfffffffe
mov dword [ebp - 0x100], eax
cmp edx, ecx
jae 0x10046f9d
mov edi, dword [ebx + 0xc]
mov esi, eax
nop dword [eax]
cmp byte [esi], 0
je 0x10046f8b
push 0
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10018560
mov edx, dword [ebp - 0xd0]
add esi, eax
mov eax, dword [ebp - 0xd4]
add esp, 4
mov dword [ebp - 0x100], esi
test eax, eax
je 0x10046f8b
mov ecx, dword [ebp - 0xf4]
mov word [edx], ax
lea eax, [edi - 1]
add edx, 2
mov dword [ebp - 0xd0], edx
lea eax, [ecx + eax*2]
cmp edx, eax
jb 0x10046f40
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0xe8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0xf4]
sar edx, 1
mov dword [edi + 8], eax
mov eax, dword [ebp - 0xe0]
mov dword [edi + 4], edx
cmp dword [edi], eax
jne 0x10046ff9
cmp byte [ebp - 0xbd], cl
jne 0x10046ff9
cmp dword [edi + 0x3c], edx
mov ecx, edx
mov byte [ebp - 0xd9], 1
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 0x40], ecx
cmovl edx, dword [edi + 0x44]
mov cl, byte [ebp - 0xd9]
mov dword [edi + 0x44], edx
jmp 0x1004705c
mov dword [edi], eax
xor cl, cl
mov al, byte [ebp - 0xd8]
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], cl
mov byte [edi + 0x53], al
mov byte [edi + 0x48], cl
mov dword [edi + 0x4c], 0
cmp byte [ebp - 0xd8], 0
mov edx, dword [ebx + 0x14]
jne 0x100470c0
mov eax, dword [ebp - 0xc8]
test dl, 0x10
movzx eax, al
cmovne eax, dword [ebp - 0x140]
cmp byte [ebp - 0xbf], 0
mov dword [ebp - 0xc8], eax
je 0x1004709e
test cl, cl
je 0x10047097
test byte [esi + 0x1d5c], 4
jne 0x1004709e
mov byte [ebp - 0xc8], 1
cmp byte [ebp - 0xf0], 0
jne 0x100470b9
cmp byte [ebp - 0xbe], 0
je 0x100470c0
cmp byte [esi + 0xfc], 0
je 0x100470c0
mov byte [ebp - 0xc8], 1
test edx, 0x2000
je 0x100470cc
mov byte [edi + 0x48], 1
mov ecx, dword [ebp - 0xe0]
cmp dword [esi + 0x1bd0], ecx
je 0x1004718b
cmp byte [ebp - 0xb7], 0
je 0x10047183
mov edx, dword [ebp - 0x118]
call fcn.1001a780
call fcn.100263c0
mov ecx, edx
call fcn.10023d10
mov eax, dword [esi + 0x1be4]
mov edx, dword [ebx + 0x14]
or eax, 3
cmp byte [ebp - 0xd8], 0
mov dword [esi + 0x1be4], eax
jne 0x10047121
test dl, dl
jns 0x1004712a
or eax, 0xc
mov dword [esi + 0x1be4], eax
mov eax, dword [esi + 0x1bf0]
or dword [esi + 0x1be8], 2
or eax, 0x180
cmp byte [ebp - 0xd8], 0
mov ecx, dword [esi + 0x1bf4]
mov dword [esi + 0x1bf0], eax
mov dword [esi + 0x1bf4], ecx
je 0x10047166
or eax, 0x60
mov dword [esi + 0x1bf4], ecx
mov dword [esi + 0x1bf0], eax
test edx, 0x440
je 0x1004717d
or eax, 1
mov dword [esi + 0x1bf4], ecx
mov dword [esi + 0x1bf0], eax
mov ecx, dword [ebp - 0xe0]
cmp dword [esi + 0x1bd0], ecx
jne 0x100471c8
test edi, edi
jne 0x1004719a
call fcn.1001a850
mov ecx, dword [ebp - 0xe0]
cmp dword [esi + 0x1bd0], ecx
jne 0x100471c8
cmp byte [esi + 0x3e0], 0
je 0x100471d5
cmp byte [ebp - 0xc0], 0
jne 0x100471d5
cmp byte [ebp - 0xb7], 0
jne 0x100471d5
mov byte [ebp - 0xc9], 1
mov dl, 1
jmp 0x100471db
test edi, edi
je 0x100471d9
cmp byte [ebp - 0xb6], 0
je 0x100471d9
mov dl, 1
jmp 0x100471db
xor dl, dl
mov byte [ebp - 0xc1], dl
test edi, edi
je 0x10047201
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x100471f6
cmp byte [ebp - 0xc8], 0
je 0x10047201
test dl, dl
je 0x10047201
mov edx, 1
jmp 0x10047203
xor dl, dl
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xf8], edx
mov byte [ebp - 0xea], dl
mov byte [ebp - 0xd9], 0
mov byte [ebp - 0xb7], 0
test al, al
je 0x1004736d
test edi, edi
je 0x1004736d
cmp byte [ebp - 0xc1], 0
jne 0x10047244
test dl, dl
je 0x1004737a
mov ecx, dword [ebx + 0xc]
mov eax, dword [edi + 0x10]
inc ecx
mov dword [ebp - 0xbc], ecx
cmp ecx, eax
jle 0x10047284
test eax, eax
je 0x10047265
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x10]
jmp 0x1004726a
mov ecx, 8
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
cmovg eax, ecx
lea ecx, [edi + 0xc]
push eax
call fcn.1002b7f0
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0xc], ecx
dec ecx
mov edx, dword [edi + 0x14]
mov esi, edx
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xd0], edx
lea ecx, [esi + ecx*2]
cmp esi, ecx
mov dword [ebp - 0xf4], ecx
mov esi, dword [ebp - 0xe4]
jae 0x1004730f
mov esi, eax
nop word [eax + eax]
cmp byte [esi], 0
je 0x10047303
push 0
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.10018560
mov edx, dword [ebp - 0xd0]
add esi, eax
mov eax, dword [ebp - 0xd4]
add esp, 4
mov dword [ebp - 0x100], esi
test eax, eax
je 0x10047303
mov word [edx], ax
add edx, 2
mov dword [ebp - 0xd0], edx
cmp edx, dword [ebp - 0xf4]
jb 0x100472c0
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0xe8]
xor ecx, ecx
mov word [edx], cx
sub edx, dword [ebp - 0xbc]
sar edx, 1
cmp dword [edi + 0x3c], edx
mov ecx, edx
mov dword [edi + 4], edx
cmovl ecx, dword [edi + 0x3c]
cmp dword [edi + 0x40], edx
mov dword [edi + 0x3c], ecx
mov ecx, edx
cmovl ecx, dword [edi + 0x40]
cmp dword [edi + 0x44], edx
mov dword [edi + 8], eax
cmovl edx, dword [edi + 0x44]
movzx eax, byte [ebp - 0xea]
cmp ecx, edx
mov dword [edi + 0x44], edx
mov edx, 0
cmovne edx, eax
mov dword [edi + 0x40], ecx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xf8], edx
cmp byte [ebp - 0xc1], 0
jne 0x10047382
test dl, dl
jne 0x10047382
cmp dword [esi + 0x1bd0], ecx
jne 0x10047396
test al, al
jne 0x10047396
test edi, edi
je 0x10047396
mov byte [ebp - 0xea], 1
cmp byte [edi + 0x30], al
jne 0x1004739d
mov byte [ebp - 0xea], 0
cmp byte [ebp - 0x14c], 0
je 0x10047430
mov edx, dword [esi + 0x1930]
cmp dword [edx + 0x14], 0x2a
ja 0x100473bb
mov eax, dword [edx + 0x2c]
jmp 0x100473da
mov eax, dword [edx + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100473d1
mov eax, dword [edx + 0x2c]
jmp 0x100473da
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x28]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xd0], eax
lea ecx, [esi + 0x2e28]
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x1930]
mov eax, dword [eax + 0x44]
mov dword [ecx + 0x44], eax
mov eax, dword [esi + 0x1930]
mov eax, dword [eax + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esi + 0x1930]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [esi + 0x1930]
mov eax, dword [eax + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x2c], eax
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
call fcn.10023fe0
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x100], 0
cmp dword [esi + 0x1bd0], ecx
jne 0x10047882
mov eax, dword [edi + 8]
mov dword [ebp - 0x100], eax
mov eax, dword [ebx + 0xc]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x14]
mov dword [edi + 0xe70], eax
mov byte [edi + 0xe6e], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
mov ah, byte [esi + 0xec]
test ah, ah
mov dword [esi + 0x31bc], 1
sete al
cmp byte [ebp - 0xd8], 0
mov byte [esi + 0x1bdd], al
movss xmm7, dword [esi + 0xe4]
subss xmm7, dword [ebp - 0x54]
subss xmm7, dword [esi + 0x1554]
addss xmm7, dword [edi + 0x38]
je 0x100474d5
mov ecx, dword [ebp - 0x11c]
movss xmm2, dword [esi + 0xe8]
subss xmm2, dword [ecx + 0xd4]
jmp 0x100474e5
movss xmm2, dword [esi + 0x1934]
mulss xmm2, dword [0x10093a98]
cmp byte [ebp - 0xc8], 0
mov dl, byte [esi + 0xb1]
mov byte [ebp - 0xb6], dl
jne 0x100476bc
mov cl, byte [ebp - 0xe9]
test cl, cl
je 0x1004751c
test dl, dl
jne 0x100475c9
cmp byte [esi + 0x3e5], dl
jne 0x100476bc
cmp byte [esi + 0x3e0], 0
lea edx, [edi + 0xe6d]
mov al, byte [edx]
je 0x1004762d
test al, al
jne 0x1004762d
test cl, cl
je 0x1004757d
cmp byte [edi + 0x53], al
je 0x10047556
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.10044bb0
movss xmm2, dword [ebp - 0x38]
add esp, 4
movaps xmm1, xmm7
mov ecx, edi
call fcn.10044ef0
mov dword [edi + 0x3c], eax
lea edx, [edi + 0xe6d]
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov byte [edi + 0x52], 0
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edx
mov dl, byte [ebp - 0xb6]
cmp byte [ecx], 0
je 0x10047596
cmp byte [esi + 0xec], 0
jne 0x10047596
mov byte [ecx], 0
cmp byte [esi + 0xfc], 0
je 0x100475a8
cmp byte [esi + 0xfe], 0
je 0x100475bd
test dl, dl
je 0x100476de
cmp byte [esi + 0xff], 0
je 0x100476de
mov byte [ebp - 0xb5], 1
jmp 0x100476e5
cmp byte [esi + 0x3e5], 0
je 0x1004751c
push 0x20000c
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100452d0
add esp, 4
mov byte [edi + 0xe6c], 1
lea edx, [edi + 0x3c]
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, edi
push 0x60000d
call fcn.100452d0
mov esi, dword [ebp - 0xe4]
lea ecx, [edi + 0xe6d]
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
jmp 0x1004757f
mov ecx, edx
test ah, ah
je 0x1004757f
test al, al
jne 0x1004757f
movss xmm0, dword [esi + 0x370]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10047668
movss xmm0, dword [esi + 0x374]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1004757f
cmp byte [edi + 0x53], 0
je 0x10047682
push 0
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.10044bb0
movss xmm2, dword [ebp - 0x38]
add esp, 4
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10047690
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x40], eax
movaps xmm1, xmm7
mov ecx, edi
call fcn.10044ef0
mov dword [edi + 0x44], eax
lea ecx, [edi + 0xe6d]
mov dword [edi + 0x3c], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
jmp 0x1004757f
mov eax, dword [edi + 4]
lea ecx, [edi + 0xe6d]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov byte [ecx], 1
jmp 0x10047585
mov byte [ebp - 0xb5], 0
mov edx, dword [ebx + 0x14]
test edx, 0x400
je 0x10047923
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10047923
call fcn.1001eb40
mov cl, byte [ebp - 0xb5]
test al, al
je 0x100477a0
test cl, cl
jne 0x100477a0
cmp byte [esi + 0xfd], cl
jne 0x100477a0
cmp byte [ebp - 0x108], cl
jne 0x100477a0
mov ecx, dword [esi + 0x1514]
mov eax, dword [esi + 0x150c]
lea edx, [ecx + eax*2]
cmp ecx, edx
jae 0x10047752
mov ax, word [ecx]
add ecx, 2
cmp ax, 9
je 0x1004779a
cmp ecx, edx
jb 0x10047742
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0xbc]
push 2
sub esp, 8
mov dword [ebp - 0xbc], 9
call fcn.100463d0
add esp, 0xc
test al, al
je 0x1004779a
push dword [ebp - 0xbc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100452d0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov cl, byte [ebp - 0xb5]
mov edx, dword [ebx + 0x14]
cmp dword [esi + 0x150c], 0
lea eax, [esi + 0x150c]
jle 0x10047882
test cl, cl
jne 0x10047853
cmp byte [ebp - 0x108], cl
jne 0x10047853
cmp byte [ebp - 0xbf], cl
jne 0x10047853
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
nop
mov eax, dword [esi + 0x1514]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0xbc], eax
cmp eax, 9
jne 0x100477fe
cmp byte [esi + 0xfd], 0
jne 0x1004783f
push 2
sub esp, 8
lea ecx, [ebp - 0xbc]
call fcn.100463d0
add esp, 0xc
test al, al
je 0x10047839
push dword [ebp - 0xbc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100452d0
add esp, 4
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebx + 0x14]
lea eax, [esi + 0x150c]
inc ecx
mov dword [ebp - 0xd0], ecx
cmp ecx, dword [eax]
jl 0x100477e0
mov ecx, dword [eax + 4]
test ecx, ecx
jns 0x1004787c
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, [esi + 0x150c]
call fcn.1002b7f0
lea eax, [esi + 0x150c]
mov dword [eax], 0
mov eax, dword [ebp - 0xe0]
xor cl, cl
mov byte [ebp - 0xb5], cl
cmp dword [esi + 0x1bd0], eax
jne 0x10048734
cmp byte [esi + 0x1bdc], cl
jne 0x10048438
cmp byte [ebp - 0xc9], cl
jne 0x10048438
movss xmm0, dword [ebp - 0x10c]
mov ecx, 1
subss xmm0, dword [esi + 0x1558]
divss xmm0, dword [esi + 0x1934]
cvttss2si eax, xmm0
cmp eax, ecx
cmovge ecx, eax
xor eax, eax
mov dword [edi + 0x4c], ecx
cmp byte [esi + 0xfd], al
mov dl, byte [esi + 0xb1]
mov dword [ebp - 0xbc], ecx
mov ecx, 0x400000
cmovne eax, ecx
mov byte [ebp - 0x123], dl
mov dword [ebp - 0xc8], eax
test dl, dl
je 0x1004792e
mov ecx, dword [esi + 0x37c]
mov dword [ebp - 0xf0], ecx
cmp ecx, 0xa
jne 0x1004792e
mov byte [ebp - 0xc0], 1
jmp 0x10047945
mov cl, byte [ebp - 0xb5]
jmp 0x100477a3
mov ecx, dword [esi + 0x37c]
mov dword [ebp - 0xf0], ecx
mov byte [ebp - 0xc0], 0
test dl, dl
je 0x10047973
cmp byte [esi + 0xff], 0
mov al, byte [esi + 0xfe]
mov byte [ebp - 0xbf], al
je 0x10047986
cmp byte [esi + 0xfc], 0
jne 0x10047986
test al, al
jne 0x10047986
mov byte [ebp - 0xbe], 1
cmp ecx, 8
jmp 0x100479ac
mov al, byte [esi + 0xfc]
mov byte [ebp - 0xc0], 0
mov dword [ebp - 0xf0], ecx
mov byte [ebp - 0xbf], al
mov byte [ebp - 0xbe], 0
test dl, dl
je 0x1004799c
cmp ecx, 8
jmp 0x100479ac
cmp ecx, 1
mov byte [ebp - 0xbf], al
mov byte [ebp - 0xbe], 0
sete dl
mov byte [ebp - 0xb6], dl
test dl, dl
je 0x100479d9
mov eax, dword [0x1009fce4]
mov eax, dword [eax + 0x80]
test eax, eax
js 0x100479d9
mov ecx, eax
call fcn.1001eb40
test al, al
jne 0x100479f3
mov ecx, dword [ebp - 0xf0]
cmp ecx, 2
jne 0x10047a1f
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10047a1f
call fcn.1001eb40
test al, al
je 0x10047a1f
cmp byte [ebp - 0x108], 0
jne 0x10047a1f
cmp byte [ebp - 0x14c], 0
jne 0x10047a1f
cmp byte [ebp - 0xd8], 0
je 0x10047a16
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10047a1f
mov byte [ebp - 0xbd], 1
jmp 0x10047a26
mov byte [ebp - 0xbd], 0
cmp byte [ebp - 0xb6], 0
je 0x10047a44
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x10047a44
call fcn.1001eb40
test al, al
jne 0x10047a62
cmp dword [ebp - 0xf0], 1
jne 0x10047a85
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10047a85
call fcn.1001eb40
test al, al
je 0x10047a85
cmp byte [ebp - 0x14c], 0
jne 0x10047a85
cmp byte [ebp - 0xd8], 0
je 0x10047a7c
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10047a85
mov byte [ebp - 0x122], 1
jmp 0x10047a8c
mov byte [ebp - 0x122], 0
cmp byte [ebp - 0xb6], 0
je 0x10047aaa
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x10047aaa
call fcn.1001eb40
test al, al
jne 0x10047ac8
cmp dword [ebp - 0xf0], 2
jne 0x10047ad8
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10047ad8
call fcn.1001eb40
test al, al
je 0x10047ad8
cmp byte [ebp - 0x108], 0
mov byte [ebp - 0xe9], 1
je 0x10047adf
mov byte [ebp - 0xe9], 0
mov dl, byte [ebp - 0xb6]
test dl, dl
je 0x10047b22
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10047b22
call fcn.1001eb40
test al, al
je 0x10047b1c
cmp byte [ebp - 0x108], 0
jne 0x10047b1c
cmp byte [ebp - 0x114], 0
je 0x10047b1c
mov byte [ebp - 0x121], 1
jmp 0x10047b2d
mov dl, byte [ebp - 0xb6]
mov byte [ebp - 0x121], 0
test dl, dl
je 0x10047b45
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x10047b45
call fcn.1001eb40
test al, al
jne 0x10047b66
cmp byte [ebp - 0xc0], 0
je 0x10047b7f
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x88]
test ecx, ecx
js 0x10047b7f
call fcn.1001eb40
test al, al
je 0x10047b7f
cmp byte [ebp - 0x108], 0
jne 0x10047b7f
cmp byte [ebp - 0x114], 0
mov byte [ebp - 0xf9], 1
jne 0x10047b86
mov byte [ebp - 0xf9], 0
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x68]
test ecx, ecx
js 0x10047b9b
call fcn.1001eb40
test al, al
jne 0x10047bb0
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x10047bb9
call fcn.1001eb40
test al, al
je 0x10047bb9
mov byte [ebp - 0xc0], 1
jmp 0x10047bc0
mov byte [ebp - 0xc0], 0
mov edx, 1
xor ecx, ecx
call fcn.100271b0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x10047be9
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x64]
test ecx, ecx
js 0x10047c02
call fcn.1001eb40
test al, al
je 0x10047c02
mov edx, 1
lea ecx, [edx + 1]
call fcn.100271b0
comiss xmm0, xmm5
mov byte [ebp - 0x12d], 0
jbe 0x10047c09
mov byte [ebp - 0x12d], 1
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
js 0x10047c1e
call fcn.1001eb40
test al, al
jne 0x10047c38
mov eax, 1
mov edx, eax
mov ecx, eax
call fcn.100271b0
comiss xmm0, xmm5
mov byte [ebp - 0x12e], 0
jbe 0x10047c3f
mov byte [ebp - 0x12e], 1
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x10047c90
call fcn.1001eb40
test al, al
je 0x10047c90
cmp byte [ebp - 0xbe], 0
je 0x10047c64
mov eax, 0x200004
jmp 0x10047c78
mov eax, 0x200000
mov ecx, 0x20000c
cmp byte [ebp - 0xbf], 0
cmovne eax, ecx
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
or ecx, eax
push ecx
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x10047cbf
call fcn.1001eb40
test al, al
je 0x10047cbf
cmp byte [ebp - 0xbe], 0
je 0x10047cb5
mov eax, 0x200005
jmp 0x10047c78
mov eax, 0x200001
lea ecx, [eax + 0xc]
jmp 0x10047c6e
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10047d39
call fcn.1001eb40
test al, al
je 0x10047d39
cmp byte [ebp - 0xd8], 0
je 0x10047d39
cmp byte [esi + 0xfc], 0
je 0x10047d15
mov edx, dword [ebp - 0x11c]
movss xmm0, dword [edx + 0x5c]
subss xmm0, dword [esi + 0x1934]
mov dword [edx + 0x74], 0
mov dword [edx + 0x7c], 0
maxss xmm0, xmm5
movss dword [edx + 0x6c], xmm0
jmp 0x10048409
movzx eax, byte [ebp - 0xbe]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200002]
or eax, dword [ebp - 0xc8]
push eax
call fcn.100452d0
jmp 0x100483f5
mov ecx, dword [0x1009fce4]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x10047dc0
call fcn.1001eb40
test al, al
je 0x10047dc0
cmp byte [ebp - 0xd8], 0
je 0x10047dc0
cmp byte [esi + 0xfc], 0
je 0x10047d9c
mov ecx, dword [ebp - 0x11c]
mov eax, dword [0x1009fce4]
movss xmm0, dword [ecx + 0x5c]
addss xmm0, dword [esi + 0x1934]
mov eax, dword [eax + 0x1b98]
minss xmm0, dword [eax + 0x64]
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x7c], 0
movss dword [ecx + 0x6c], xmm0
jmp 0x10048409
movzx eax, byte [ebp - 0xbe]
lea edx, [edi + 0x3c]
mov ecx, edi
lea eax, [eax*4 + 0x200003]
or eax, dword [ebp - 0xc8]
push eax
call fcn.100452d0
jmp 0x100483f5
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x48]
test ecx, ecx
js 0x10047e32
call fcn.1001eb40
test al, al
je 0x10047e32
cmp byte [ebp - 0xd8], 0
je 0x10047e32
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
or ecx, 0x20000e
push ecx
mov ecx, edi
call fcn.100452d0
movd xmm0, dword [ebp - 0xbc]
movss xmm1, dword [ebp - 0x148]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x1934]
subss xmm1, xmm0
movss dword [ebp - 0x148], xmm1
jmp 0x10048406
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
js 0x10047ea0
call fcn.1001eb40
test al, al
je 0x10047ea0
cmp byte [ebp - 0xd8], 0
je 0x10047ea0
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
or ecx, 0x20000f
push ecx
mov ecx, edi
call fcn.100452d0
movd xmm0, dword [ebp - 0xbc]
cvtdq2ps xmm0, xmm0
mov byte [edi + 0xe6c], 1
mov dword [edi + 0xe68], 0xbe99999a
mulss xmm0, dword [esi + 0x1934]
addss xmm0, dword [ebp - 0x148]
movss dword [ebp - 0x148], xmm0
jmp 0x10048406
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x10047ee2
call fcn.1001eb40
test al, al
je 0x10047ee2
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200004
or eax, 0x200006
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x10047f24
call fcn.1001eb40
test al, al
je 0x10047f24
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
mov eax, ecx
or ecx, 0x200005
or eax, 0x200007
cmp byte [esi + 0xfc], 0
cmovne ecx, eax
push ecx
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10047f5e
call fcn.1001eb40
test al, al
je 0x10047f5e
cmp byte [ebp - 0x108], 0
jne 0x10047f5e
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
or ecx, 0x200008
push ecx
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x10047fff
call fcn.1001eb40
test al, al
je 0x10047fff
cmp byte [ebp - 0x108], 0
jne 0x10047fff
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
jne 0x10047fe3
cmp byte [ebp - 0xbf], 0
je 0x10047f9c
push 0x60000c
jmp 0x10047fc5
cmp byte [ebp - 0x123], 0
je 0x10047fe3
cmp byte [esi + 0xff], 0
je 0x10047fe3
cmp byte [esi + 0xfe], 0
jne 0x10047fe3
cmp byte [esi + 0xfc], 0
jne 0x10047fe3
push 0x600004
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100452d0
mov dword [edi + 0xe68], 0xbe99999a
add esp, 4
mov byte [edi + 0xe6c], 1
mov ecx, dword [ebp - 0xc8]
lea edx, [edi + 0x3c]
or ecx, 0x200009
push ecx
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
cmp byte [ebp - 0xc0], 0
je 0x10048076
mov edx, dword [ebx + 0x14]
mov eax, edx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd8], 0
je 0x1004807f
mov cl, byte [esi + 0xfc]
test al, al
je 0x1004802b
test cl, cl
je 0x1004807f
jmp 0x1004802f
test cl, cl
jne 0x1004807f
cmp byte [ebp - 0x108], 0
jne 0x10048409
push 2
sub esp, 8
mov dword [ebp - 0xbc], 0xa
lea ecx, [ebp - 0xbc]
call fcn.100463d0
add esp, 0xc
test al, al
je 0x10048409
push dword [ebp - 0xbc]
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.100452d0
jmp 0x100483f5
cmp byte [ebp - 0x12d], 0
je 0x10048092
mov byte [ebp - 0xc9], 1
mov byte [ebp - 0xb7], 1
jmp 0x10048409
cmp byte [ebp - 0x12e], 0
je 0x100480a8
mov cl, 1
mov byte [ebp - 0xc9], cl
jmp 0x1004840f
mov al, byte [ebp - 0x121]
test al, al
jne 0x100483d6
cmp byte [ebp - 0xf9], al
jne 0x100483d6
cmp byte [ebp - 0xb6], al
je 0x100480ff
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x100480ff
call fcn.1001eb40
test al, al
je 0x100480ff
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
jmp 0x10048409
mov al, byte [ebp - 0xbd]
test al, al
jne 0x100482c1
cmp byte [ebp - 0x122], al
jne 0x100482c1
cmp byte [ebp - 0xe9], al
je 0x10048409
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0xd0]
test ecx, ecx
je 0x1004814a
push dword [eax + 0xd8]
call ecx
mov esi, eax
add esp, 4
test esi, esi
jne 0x1004814f
jmp 0x10048409
mov esi, 0x10087bd4
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10048154
mov eax, dword [0x1009fce4]
sub ecx, edx
test eax, eax
je 0x1004816c
inc dword [eax + 0x36c]
push dword [0x1009fce0]
lea eax, [ecx*2 + 2]
push eax
call fcn.10017880
add esp, 8
mov dword [ebp - 0x114], eax
cmp byte [esi], 0
mov dword [ebp - 0xbc], 0
je 0x10048200
xor edi, edi
nop dword [eax]
push 0
mov edx, esi
lea ecx, [ebp - 0xd0]
call fcn.10018560
add esp, 4
add esi, eax
cmp dword [ebp - 0xd0], 0
je 0x100481ee
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0xd0]
push 5
sub esp, 8
call fcn.100463d0
add esp, 0xc
test al, al
je 0x100481e9
mov ecx, dword [ebp - 0x114]
mov ax, word [ebp - 0xd0]
mov word [ecx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x100481a0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xbc]
xor ecx, ecx
mov word [eax + esi*2], cx
test esi, esi
jle 0x10048299
mov edx, dword [edi + 0x44]
mov ecx, dword [edi + 4]
mov dword [ebp - 0xbc], edx
mov edx, dword [edi + 0x40]
cmp edx, dword [edi + 0x44]
je 0x1004824a
cmp edx, ecx
jle 0x10048231
mov dword [edi + 0x40], ecx
mov edx, ecx
cmp dword [edi + 0x44], ecx
jle 0x1004823f
mov dword [edi + 0x44], ecx
mov dword [ebp - 0xbc], ecx
cmp edx, dword [ebp - 0xbc]
jne 0x1004824a
mov dword [edi + 0x3c], edx
cmp dword [edi + 0x3c], ecx
jle 0x10048252
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x3c]
mov ecx, edi
call fcn.10045240
mov edx, dword [edi + 0x3c]
mov ecx, edi
push esi
push dword [ebp - 0x114]
call fcn.10044db0
add esp, 8
test al, al
je 0x1004828c
mov edx, dword [edi + 0x3c]
lea ecx, [edi + 0x5c]
push esi
push 0
call fcn.100460c0
add esp, 8
mov byte [edi + 0x52], 0
add dword [edi + 0x3c], esi
mov eax, dword [ebp - 0x114]
mov byte [edi + 0xe6c], 1
test eax, eax
je 0x100482ad
mov ecx, dword [0x1009fce4]
test ecx, ecx
je 0x100482ad
dec dword [ecx + 0x36c]
push dword [0x1009fce0]
push eax
call fcn.100178a0
add esp, 8
jmp 0x10048409
cmp dword [esi + 0xd4], 0
je 0x10048396
mov ecx, dword [edi + 0x44]
mov eax, dword [edi + 0x40]
cmp eax, ecx
je 0x100482e2
mov esi, ecx
cmovge ecx, eax
cmovl esi, eax
jmp 0x100482e7
mov ecx, dword [edi + 4]
xor esi, esi
mov eax, dword [edi + 0x14]
mov dword [ebp - 0xbc], ecx
mov dword [ebp - 0xd0], esi
lea edx, [eax + ecx*2]
lea ecx, [eax + esi*2]
call fcn.100188a0
mov ecx, dword [0x1009fce4]
inc eax
mov dword [ebp - 0xd4], eax
test ecx, ecx
je 0x10048318
inc dword [ecx + 0x36c]
push dword [0x1009fce0]
push eax
call fcn.10017880
mov esi, dword [edi + 0x14]
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xf4], eax
lea ecx, [esi + ecx*2]
push ecx
mov ecx, dword [ebp - 0xd0]
lea ecx, [esi + ecx*2]
mov esi, eax
push ecx
mov ecx, esi
call fcn.10018830
mov eax, dword [0x1009fce4]
add esp, 0x10
mov ecx, dword [eax + 0xd4]
test ecx, ecx
je 0x10048373
push esi
push dword [eax + 0xd8]
call ecx
mov eax, dword [0x1009fce4]
add esp, 8
test esi, esi
je 0x10048381
test eax, eax
je 0x10048381
dec dword [eax + 0x36c]
push dword [0x1009fce0]
push esi
call fcn.100178a0
mov al, byte [ebp - 0xbd]
add esp, 8
test al, al
je 0x10048409
mov eax, dword [edi + 0x40]
lea esi, [edi + 0x3c]
cmp eax, dword [edi + 0x44]
jne 0x100483b8
mov eax, dword [edi + 4]
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], eax
mov dword [esi], eax
mov byte [edi + 0x52], 0
mov byte [edi + 0xe6c], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10048409
mov edx, esi
mov ecx, edi
call fcn.10045240
mov byte [esi + 0x16], 0
jmp 0x10048409
movzx eax, al
lea edx, [edi + 0x3c]
xor eax, 1
mov ecx, edi
add eax, 0x20000a
push eax
call fcn.100452d0
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0xe68], 0xbe99999a
mov byte [edi + 0xe6c], 1
add esp, 4
mov cl, byte [ebp - 0xb5]
mov eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x44]
je 0x10048424
cmp byte [ebp - 0xc1], 0
je 0x10048424
mov al, 1
jmp 0x10048426
xor al, al
or byte [ebp - 0xf8], al
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe0]
cmp dword [esi + 0x1bd0], eax
jne 0x10048734
mov dword [ebp - 0x104], 0
mov dword [ebp - 0xc8], 0
test cl, cl
je 0x1004881b
cmp byte [ebp - 0x108], 0
jne 0x10048613
mov ecx, dword [edi + 0x2c]
mov eax, dword [ebp - 0xe8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10048496
test dl, dl
je 0x10048492
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10048496
add eax, 2
add ecx, 2
test dl, dl
jne 0x10048476
xor eax, eax
jmp 0x1004849b
sbb eax, eax
or eax, 1
test eax, eax
je 0x10048613
mov ecx, dword [edi + 0x24]
xor eax, eax
mov edx, dword [edi + 0x2c]
dec ecx
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x104], edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], eax
mov dword [ebp - 4], eax
test ecx, ecx
jle 0x10048545
lea edx, [ecx + edx]
mov ecx, dword [ebp - 0x104]
call fcn.10018730
lea ecx, [eax + 1]
mov dword [ebp - 0xbc], ecx
test ecx, ecx
jle 0x1004850e
mov edx, 8
mov eax, ecx
cmp ecx, edx
lea ecx, [ebp - 0x13c]
cmovl eax, edx
push eax
call fcn.1002b7f0
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc8]
mov edx, ecx
add eax, dword [ebp - 0x104]
push 0
push eax
push dword [ebp - 0x104]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0x134]
call fcn.100186c0
mov esi, dword [ebp - 0xe4]
add esp, 0xc
mov eax, dword [ebp - 0xbc]
lea ecx, [eax - 1]
xor eax, eax
cmp dword [ebp - 0xc8], eax
cmovle ecx, eax
mov eax, dword [edi + 4]
push ecx
mov dword [ebp - 0xbc], ecx
xor edx, edx
push eax
lea ecx, [edi + 0x5c]
mov dword [ebp - 0xd4], eax
call fcn.100460c0
add esp, 8
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x100485a6
mov edx, dword [ebp - 0xd4]
xor ecx, ecx
test edx, edx
jle 0x100485a6
mov esi, eax
nop dword [eax]
mov eax, dword [edi + 0x14]
mov ax, word [eax + ecx*2]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edx
jl 0x10048590
mov esi, dword [ebp - 0xe4]
push dword [edi + 4]
xor edx, edx
mov ecx, edi
call fcn.10044d50
mov eax, dword [ebp - 0xbc]
add esp, 4
test eax, eax
jle 0x100485e3
push eax
push dword [ebp - 0x134]
xor edx, edx
mov ecx, edi
call fcn.10044db0
add esp, 8
test al, al
je 0x100485e3
mov eax, dword [ebp - 0xbc]
mov dword [edi + 0x3c], eax
mov byte [edi + 0x52], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x134]
test eax, eax
je 0x10048613
mov ecx, dword [0x1009fce4]
test ecx, ecx
je 0x10048604
dec dword [ecx + 0x36c]
push dword [0x1009fce0]
push eax
call fcn.100178a0
add esp, 8
cmp byte [ebp - 0xb7], 0
mov eax, dword [ebx + 0x14]
je 0x10048627
test al, 0x20
jne 0x1004881e
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x104]
test edx, edx
je 0x10048716
cmp byte [ebp - 0x128], 0
je 0x100486d8
mov dword [ebp - 0xb0], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xa0], eax
lea eax, [ecx + 1]
cmp dword [ebx + 0xc], eax
movlpd qword [ebp - 0xa8], xmm0
cmovge eax, dword [ebx + 0xc]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xb4]
push eax
xor eax, eax
movlpd qword [ebp - 0x94], xmm0
movlpd qword [ebp - 0x8c], xmm0
mov dword [ebp - 0xb4], 0x40000
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xac], 0
call eax
mov eax, dword [ebp - 0xa0]
add esp, 4
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0xc], eax
lea ecx, [eax - 1]
cmp dword [ebp - 0x9c], ecx
cmovl ecx, dword [ebp - 0x9c]
lea eax, [ecx + 1]
mov ecx, dword [ebx + 0xc]
cmp eax, ecx
cmovl ecx, eax
mov dword [ebx + 0xc], ecx
cmp ecx, 1
jb 0x1004870f
jbe 0x10048704
lea eax, [ecx - 1]
push eax
push edx
push dword [ebp - 0xe8]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov ecx, dword [ebx + 0xc]
add esp, 0xc
mov eax, dword [ebp - 0xe8]
mov byte [ecx + eax - 1], 0
mov byte [ebp - 0xd9], 1
mov dword [edi + 0xe70], 0
mov dword [edi + 0xe74], 0
mov dword [edi + 0xe78], 0
cmp byte [ebp - 0xc9], 0
mov ecx, dword [ebp - 0xe0]
je 0x10048756
cmp dword [esi + 0x1bd0], ecx
jne 0x10048756
call fcn.1001a850
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
test dl, dl
jne 0x10048b99
mov edx, ecx
lea ecx, [ebp - 0x54]
push 1
call fcn.10019970
movss xmm1, dword [0x10093af0]
add esp, 4
mov ecx, 7
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.10018da0
movss xmm2, dword [esi + 0x155c]
mov dl, 1
mov ecx, eax
call fcn.10019760
movss xmm0, dword [ebp - 0x54]
add esp, 0x10
movss xmm2, dword [ebp - 0x50]
movaps xmm1, xmm0
movss xmm3, dword [ebp - 0x12c]
movaps xmm6, xmm2
addss xmm6, dword [ebp - 0x10c]
mov edx, dword [ebp - 0xd8]
addss xmm1, xmm3
movss dword [ebp - 0x24], xmm0
addss xmm0, dword [esi + 0x1554]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x114], xmm6
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 0x138], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x1558]
movss dword [ebp - 0x18], xmm6
movss dword [ebp - 0x134], xmm0
jmp 0x10048bfc
mov eax, dword [ebx + 0x14]
cmp byte [ebp - 0x108], 0
jne 0x1004888e
mov eax, dword [edi + 0xc]
lea ecx, [edi + 0x18]
mov byte [edi + 0x30], 1
lea edx, [eax*4 + 1]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xbc], edx
cmp edx, eax
jle 0x10048879
test eax, eax
je 0x1004885b
cdq
sub eax, edx
mov edx, dword [ebp - 0xbc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edi + 0x1c]
jmp 0x10048860
mov ecx, 8
cmp ecx, edx
mov eax, edx
cmovg eax, ecx
lea ecx, [edi + 0x18]
push eax
call fcn.1002b770
mov edx, dword [ebp - 0xbc]
lea ecx, [edi + 0x18]
mov dword [ecx], edx
mov ecx, dword [edi + 0x20]
push 0
push dword [edi + 0x14]
call fcn.10018830
mov eax, dword [ebx + 0x14]
add esp, 8
test eax, 0x801c0
je 0x10048b42
test al, 0x40
je 0x100488be
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x100488bb
call fcn.1001eb40
test al, al
je 0x100488bb
mov eax, 0x40
xor ecx, ecx
jmp 0x1004892f
mov eax, dword [ebx + 0x14]
test al, al
jns 0x10048903
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100488e1
call fcn.1001eb40
test al, al
je 0x100488e1
mov eax, 0x80
lea ecx, [eax - 0x7d]
jmp 0x1004892f
mov eax, dword [0x1009fce4]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10048900
call fcn.1001eb40
test al, al
je 0x10048900
mov eax, 0x80
lea ecx, [eax - 0x7c]
jmp 0x1004892f
mov eax, dword [ebx + 0x14]
test eax, 0x80000
je 0x1004891a
cmp byte [edi + 0xe6e], 0
je 0x1004891a
mov eax, 0x80000
jmp 0x1004892a
test eax, 0x100
je 0x10048b42
mov eax, 0x100
mov ecx, 0x16
mov esi, dword [edi + 0x14]
xor edx, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x80], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0x34]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x3c]
mov word [ebp - 0x63], dx
mov byte [ebp - 0x61], dl
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x74], ecx
mov ecx, esi
mov byte [ebp - 0x64], dl
lea edx, [esi + eax*2]
mov dword [ebp - 0x78], 0
call fcn.100188a0
mov ecx, dword [ebp - 0x120]
mov edi, eax
mov dword [ebp - 0x60], edi
mov ecx, dword [ecx + 0x40]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100188a0
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 0x44]
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.100188a0
mov esi, eax
lea eax, [ebp - 0x84]
push eax
xor eax, eax
mov dword [ebp - 0x58], esi
call eax
mov cl, byte [ebp - 0x64]
add esp, 4
mov edx, dword [ebp - 0x60]
mov byte [ebp - 0xbd], cl
cmp edx, edi
jne 0x100489d1
test cl, cl
je 0x100489f6
mov ecx, dword [ebp - 0x70]
add edx, ecx
call fcn.10018730
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0x60]
mov cl, byte [ebp - 0xbd]
mov dword [edi + 0x3c], eax
mov byte [edi + 0xe6c], 1
jmp 0x100489fc
mov edi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0xd4]
jne 0x10048a0b
test cl, cl
je 0x10048a2d
cmp eax, edx
jne 0x10048a14
mov ecx, dword [edi + 0x3c]
jmp 0x10048a24
mov ecx, dword [ebp - 0x70]
lea edx, [eax + ecx]
call fcn.10018730
mov ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [edi + 0x40], ecx
mov cl, byte [ebp - 0xbd]
mov edx, dword [ebp - 0x58]
cmp edx, esi
jne 0x10048a3c
test cl, cl
je 0x10048b39
cmp edx, eax
jne 0x10048a45
mov eax, dword [edi + 0x40]
jmp 0x10048a4f
mov ecx, dword [ebp - 0x70]
add edx, ecx
call fcn.10018730
cmp byte [ebp - 0xbd], 0
mov dword [edi + 0x44], eax
je 0x10048b39
mov esi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x100]
cmp esi, ecx
jle 0x10048aae
cmp byte [ebp - 0x128], 0
je 0x10048aae
mov eax, dword [edi + 0x10]
sub esi, ecx
add esi, dword [edi + 0xc]
cmp esi, eax
jle 0x10048aab
test eax, eax
je 0x10048a94
cdq
sub eax, edx
lea edx, [edi + 0xc]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x10048a9c
mov ecx, 8
lea edx, [edi + 0xc]
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.1002b7f0
mov dword [edi + 0xc], esi
mov eax, dword [ebp - 0x70]
mov ecx, dword [edi + 0x14]
mov esi, ecx
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0xc]
dec eax
mov dword [ebp - 0xd0], ecx
lea eax, [ecx + eax*2]
mov dword [ebp - 0xbc], eax
cmp ecx, eax
jae 0x10048b1d
mov edi, dword [ebp - 0xd4]
nop dword [eax]
cmp byte [edi], 0
je 0x10048b11
push 0
mov edx, edi
lea ecx, [ebp - 0xd4]
call fcn.10018560
add edi, eax
add esp, 4
mov eax, dword [ebp - 0xd4]
test eax, eax
je 0x10048b11
mov word [esi], ax
add esi, 2
cmp esi, dword [ebp - 0xbc]
jb 0x10048ae0
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xd0]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x6c]
sar esi, 1
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov dword [edi + 0xe68], 0xbe99999a
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebx + 0x14]
cmp byte [ebp - 0x108], 0
jne 0x10048627
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edi + 0x20]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10048b78
test dl, dl
je 0x10048b74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10048b78
add eax, 2
add ecx, 2
test dl, dl
jne 0x10048b58
xor eax, eax
jmp 0x10048b7d
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebx + 0x14]
je 0x10048627
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x104], ecx
mov ecx, dword [edi + 8]
jmp 0x1004862d
movss xmm0, dword [ebp - 0x54]
movss xmm3, dword [ebp - 0x12c]
movss xmm1, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x11c]
movss dword [ebp - 0x24], xmm0
addss xmm0, xmm3
movss dword [ebp - 0x20], xmm1
movss dword [ebp - 0x1c], xmm0
movss dword [ebp - 0xf4], xmm0
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x10c]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx + 0xd0]
mov ecx, dword [ecx + 0xd4]
movss dword [ebp - 0x114], xmm0
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], ecx
cmp byte [ebp - 0xea], 0
lea eax, [ebp - 0x138]
movss xmm0, dword [eax]
movss dword [ebp - 0xf0], xmm0
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x28], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xbc], xmm0
movss dword [ebp - 0xd0], xmm0
je 0x10048c44
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0xe8], ecx
jmp 0x10048c4a
mov ecx, dword [ebp - 0xe8]
cmp byte [ebp - 0xc1], 0
jne 0x10048d54
cmp byte [ebp - 0xf8], 0
jne 0x10048d54
test dl, dl
je 0x10048cc9
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x10048c92
nop dword [eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x10048c80
mov al, byte [edi - 1]
dec edi
cmp al, 0xa
je 0x10048c9f
cmp al, 0xd
je 0x10048c9f
inc ecx
movd xmm0, ecx
mov ecx, dword [ebp - 0xe8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi + 0x1934]
movss dword [ebp - 0xd0], xmm0
movaps xmm0, xmm3
movss dword [ebp - 0xbc], xmm0
jmp 0x10048d07
mov eax, dword [ebp - 0xe0]
cmp dword [esi + 0x1bd0], eax
jne 0x10048cde
mov edi, dword [edi + 8]
add edi, ecx
jmp 0x10048cf8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10048ce1
mov edi, dword [ebp - 0xe8]
sub ecx, edx
add edi, ecx
mov ecx, dword [ebp - 0xe8]
mov eax, edi
sub eax, ecx
cmp eax, 0x200000
jge 0x10049837
movss xmm1, dword [0x10093af0]
lea eax, [ebp - 0x24]
xor edx, edx
cmp byte [ebp - 0xd8], dl
cmovne eax, edx
push eax
push ecx
mov dword [esp], edx
push edi
push ecx
xor ecx, ecx
call fcn.10018da0
movss xmm2, dword [esi + 0x1934]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x11c]
push dword [esi + 0x1930]
mov ecx, dword [eax + 0x240]
call fcn.10036a30
jmp 0x10049837
mov eax, dword [edi + 8]
xor edx, edx
mov dword [ebp - 0x154], eax
xorps xmm7, xmm7
add eax, ecx
movss dword [ebp - 0xd4], xmm0
mov ecx, dword [edi + 0x14]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x118], 0xfffffc18
mov dword [ebp - 0x104], 0xfffffc18
cmp byte [ebp - 0xc1], dl
je 0x10048dc6
mov eax, dword [edi + 0x3c]
mov edx, 1
mov dword [ebp - 0x118], 0xffffffff
lea eax, [ecx + eax*2]
mov dword [ebp - 0xe0], eax
cmp byte [ebp - 0xf8], 0
je 0x10048df9
mov ecx, dword [edi + 0x44]
cmp dword [edi + 0x40], ecx
mov eax, dword [ebp - 0xc8]
cmovl ecx, dword [edi + 0x40]
inc edx
mov dword [ebp - 0x104], 0xffffffff
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x140], eax
mov esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd8]
movzx eax, al
add edx, eax
xor eax, eax
movzx esi, word [esi]
test si, si
mov dword [ebp - 0x128], eax
mov esi, dword [ebp - 0xe4]
je 0x10048e93
mov edi, dword [ebp - 0xc8]
movzx esi, word [edi]
mov edi, dword [ebp - 0x118]
nop
cmp si, 0xa
jne 0x10048e6d
inc eax
mov dword [ebp - 0x128], eax
cmp edi, 0xffffffff
jne 0x10048e51
cmp ecx, dword [ebp - 0xe0]
jb 0x10048e51
dec edx
mov edi, eax
test edx, edx
jle 0x10048e81
cmp dword [ebp - 0x104], 0xffffffff
jne 0x10048e6d
cmp ecx, dword [ebp - 0x140]
jb 0x10048e6d
dec edx
mov dword [ebp - 0x104], eax
test edx, edx
jle 0x10048e81
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
mov eax, dword [ebp - 0x128]
jne 0x10048e30
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x118], edi
mov edi, dword [ebp - 0x120]
mov edx, dword [ebp - 0xc8]
inc eax
cmp dword [ebp - 0x118], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x128], eax
cmovne ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x104]
cmp eax, 0xffffffff
mov dword [ebp - 0x150], ecx
cmove eax, dword [ebp - 0x128]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xe0]
mov ecx, eax
cmp eax, edx
jbe 0x10048ee6
cmp word [ecx - 2], 0xa
je 0x10048ee6
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10048ed8
movaps xmm2, xmm0
mov eax, dword [0x1009fce4]
movaps xmm5, xmm0
mov edx, dword [eax + 0x1930]
movss xmm3, dword [eax + 0x1934]
divss xmm3, dword [edx + 0x10]
cmp ecx, dword [ebp - 0xe0]
jae 0x10048f72
nop dword [eax]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x118], eax
mov esi, eax
cmp eax, 0xa
jne 0x10048f2c
maxss xmm2, xmm5
movaps xmm5, xmm0
jmp 0x10048f5e
cmp esi, 0xd
je 0x10048f5e
movzx eax, ax
cmp eax, dword [edx]
jge 0x10048f4b
mov esi, dword [ebp - 0x118]
mov eax, dword [edx + 8]
movzx edi, si
movss xmm1, dword [eax + edi*4]
jmp 0x10048f50
movss xmm1, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm5, xmm0
xorps xmm0, xmm0
cmp ecx, dword [ebp - 0xe0]
jb 0x10048f10
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xe4]
cmp dword [ebp - 0x104], 0
maxss xmm5, xmm2
movd xmm6, dword [ebp - 0x150]
movss xmm4, dword [esi + 0x1934]
cvtdq2ps xmm6, xmm6
movss dword [ebp - 0xe0], xmm5
mulss xmm6, xmm4
movss dword [ebp - 0x134], xmm6
jl 0x10049061
mov eax, dword [ebp - 0x140]
mov ecx, eax
cmp eax, dword [ebp - 0xc8]
jbe 0x10048fda
mov esi, dword [ebp - 0xc8]
cmp word [ecx - 2], 0xa
je 0x10048fce
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10048fc0
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0x140]
movaps xmm1, xmm0
movaps xmm7, xmm0
cmp ecx, eax
jae 0x10049046
mov esi, dword [ebp - 0x140]
nop word [eax + eax]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x10049004
maxss xmm1, xmm7
movaps xmm7, xmm0
jmp 0x10049036
cmp eax, 0xd
je 0x10049036
mov dword [ebp - 0x150], eax
cmp eax, dword [edx]
jge 0x10049023
mov eax, dword [edx + 8]
mov edi, dword [ebp - 0x150]
movss xmm2, dword [eax + edi*4]
jmp 0x10049028
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm7, xmm0
xorps xmm0, xmm0
cmp ecx, esi
jb 0x10048ff0
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xe4]
movd xmm0, dword [ebp - 0x104]
maxss xmm7, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm4
movss dword [ebp - 0xd4], xmm0
mov edx, dword [ebp - 0xd8]
test dl, dl
je 0x10049097
movd xmm3, dword [ebp - 0x128]
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm4
movss xmm4, dword [ebp - 0x12c]
movaps xmm0, xmm4
movss dword [ebp - 0xd0], xmm3
movss dword [ebp - 0xbc], xmm0
jmp 0x100490a7
movss xmm3, dword [ebp - 0xd0]
movss xmm4, dword [ebp - 0x12c]
cmp byte [ebp - 0xc1], 0
je 0x100491df
cmp byte [edi + 0xe6c], 0
je 0x100491df
test dword [ebx + 0x14], 0x1000
jne 0x10049116
movss xmm2, dword [edi + 0x38]
movaps xmm0, xmm4
comiss xmm2, xmm5
mulss xmm0, dword [0x10093a70]
movaps xmm1, xmm5
subss xmm4, dword [esi + 0x1554]
jbe 0x10049107
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x38], xmm0
jmp 0x1004911d
subss xmm1, xmm4
comiss xmm1, xmm2
jb 0x1004911d
addss xmm0, xmm1
jmp 0x100490f5
mov dword [edi + 0x38], 0
xorps xmm2, xmm2
test dl, dl
je 0x100491b1
movss xmm4, dword [ebp - 0x148]
movaps xmm0, xmm6
subss xmm0, dword [esi + 0x1934]
movss xmm5, dword [ebp - 0x10c]
comiss xmm4, xmm0
jbe 0x10049151
xorps xmm4, xmm4
maxss xmm4, xmm0
jmp 0x1004916d
movaps xmm0, xmm6
subss xmm0, xmm5
comiss xmm0, xmm4
jb 0x1004916d
movss xmm4, dword [esi + 0x1558]
addss xmm4, xmm4
addss xmm4, xmm0
comiss xmm2, xmm4
movss xmm1, dword [esi + 0x1558]
jbe 0x1004917f
xorps xmm1, xmm1
jmp 0x10049193
addss xmm1, xmm1
addss xmm1, xmm3
subss xmm1, xmm5
maxss xmm1, xmm2
minss xmm1, xmm4
mov eax, dword [ebp - 0x11c]
movss xmm0, dword [eax + 0x5c]
subss xmm0, xmm1
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x28], xmm0
movss dword [eax + 0x5c], xmm1
mov byte [edi + 0xe6c], 0
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0xf0], xmm0
cmp byte [ebp - 0xf8], 0
movss xmm4, dword [edi + 0x38]
movss dword [ebp - 0x12c], xmm4
je 0x1004951c
mov edx, dword [edi + 0x44]
mov eax, edx
mov ecx, dword [edi + 0x40]
cmp ecx, edx
mov esi, dword [ebp - 0xc8]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xc1], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xc8]
lea edx, [eax + edx*2]
mov dword [ebp - 0xf8], edx
je 0x10049234
movss xmm1, dword [0x10093af0]
jmp 0x1004923c
movss xmm1, dword [0x10093aa0]
mov ecx, 0x2f
call fcn.10018da0
cmp byte [ebp - 0xd8], 0
xorps xmm2, xmm2
mov dword [ebp - 0x150], eax
je 0x1004926a
movss dword [ebp - 0x128], xmm2
movss dword [ebp - 0x118], xmm2
jmp 0x1004928a
movss xmm0, dword [0x10093d28]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [0x10093b60]
movss dword [ebp - 0x118], xmm0
movss xmm4, dword [ebp - 0x28]
movss xmm6, dword [ebp - 0xf0]
addss xmm7, xmm6
addss xmm4, dword [ebp - 0xd4]
subss xmm7, dword [ebp - 0x12c]
subss xmm4, xmm2
movss dword [ebp - 0xd4], xmm4
cmp esi, edx
jae 0x10049506
movss xmm3, dword [ebp - 0x114]
movss xmm1, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0x150]
nop dword [eax + eax]
movss xmm6, dword [ecx + 0x1934]
movaps xmm0, xmm3
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x10049315
comiss xmm1, xmm4
jbe 0x1004933c
cmp esi, edx
jae 0x100494bf
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100494bf
cmp esi, edx
jb 0x10049301
movss xmm6, dword [ebp - 0xf0]
movss xmm4, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
jmp 0x10049524
movaps xmm5, xmm2
mov eax, dword [0x1009fce4]
movaps xmm1, xmm2
mov edx, dword [eax + 0x1930]
movss xmm3, dword [eax + 0x1934]
divss xmm3, dword [edx + 0x10]
cmp esi, dword [ebp - 0xf8]
jae 0x100493af
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x1004939c
cmp eax, 0xd
je 0x10049392
mov ecx, eax
cmp ecx, dword [edx]
jge 0x10049382
mov eax, dword [edx + 8]
movss xmm2, dword [eax + ecx*4]
jmp 0x10049387
movss xmm2, dword [edx + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, dword [ebp - 0xf8]
jb 0x10049362
jmp 0x100493a6
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xe4]
xorps xmm2, xmm2
maxss xmm1, xmm5
comiss xmm2, xmm1
jb 0x100493e8
mov eax, dword [ecx + 0x1930]
cmp dword [eax], 0x20
jle 0x100493d0
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100493d5
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x10093a98]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm0, dword [ebp - 0x118]
addss xmm1, xmm7
movss xmm3, dword [ebp - 0x114]
addss xmm7, xmm2
movss xmm2, dword [ebp - 0x128]
addss xmm0, xmm4
movss xmm5, dword [ebp - 0xf4]
subss xmm2, xmm6
minss xmm1, xmm5
maxss xmm7, dword [ebp - 0x24]
minss xmm0, xmm3
addss xmm2, xmm4
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x3c], xmm7
comiss xmm0, dword [ebp - 0x20]
maxss xmm2, dword [ebp - 0x20]
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x38], xmm2
jbe 0x100494b1
comiss xmm3, xmm2
jbe 0x100494b1
comiss xmm1, dword [ebp - 0x24]
jbe 0x100494b1
comiss xmm5, xmm7
jbe 0x100494b1
push 0
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x34]
push edi
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x240]
call fcn.100360f0
movss xmm3, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x2c]
movss xmm4, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe4]
movss dword [ebp - 0x114], xmm3
movss dword [ebp - 0xf4], xmm0
movss dword [ebp - 0xf0], xmm1
movss xmm1, dword [ebp - 0x20]
xorps xmm2, xmm2
mov edx, dword [ebp - 0xf8]
movss xmm6, dword [ebp - 0xf0]
movaps xmm7, xmm6
addss xmm4, dword [ecx + 0x1934]
subss xmm7, dword [ebp - 0x12c]
movss dword [ebp - 0xd4], xmm4
cmp esi, edx
jb 0x100492e0
movss xmm4, dword [ebp - 0x12c]
mov edi, dword [ebp - 0x120]
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
jmp 0x10049524
movss xmm4, dword [ebp - 0x12c]
mov esi, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xd8]
jmp 0x10049524
movss xmm6, dword [ebp - 0xf0]
test dl, dl
jne 0x10049538
cmp dword [ebp - 0x154], 0x200000
jge 0x1004967a
mov eax, dword [0x1009fce4]
xorps xmm5, xmm5
movups xmm1, xmmword [eax + 0x15e0]
comiss xmm5, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [eax + 0x1518]
movups xmmword [ebp - 0x3c], xmm1
jbe 0x10049564
xorps xmm0, xmm0
jmp 0x10049570
movss xmm0, dword [0x10093af0]
minss xmm0, xmm1
movss xmm3, dword [0x10093c80]
movss xmm7, dword [0x10093a98]
movss xmm1, dword [ebp - 0x38]
comiss xmm5, xmm1
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x1004959b
xorps xmm0, xmm0
jmp 0x100495a7
movss xmm0, dword [0x10093af0]
minss xmm0, xmm1
movss xmm1, dword [ebp - 0x34]
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm1
jbe 0x100495c7
xorps xmm0, xmm0
jmp 0x100495d3
movss xmm0, dword [0x10093af0]
minss xmm0, xmm1
mulss xmm0, xmm3
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x100495ee
xorps xmm1, xmm1
jmp 0x100495fa
movss xmm1, dword [0x10093af0]
minss xmm1, xmm2
movss xmm0, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
mulss xmm1, xmm3
subss xmm6, xmm4
test dl, dl
mov dword [ebp - 0x154], 0
movss xmm2, dword [esi + 0x1934]
subss xmm0, xmm5
cmovne eax, dword [ebp - 0x154]
push eax
addss xmm1, xmm7
movss dword [ebp - 0x110], xmm6
push ecx
mov dword [esp], 0
push dword [ebp - 0x100]
movss dword [ebp - 0x10c], xmm0
push dword [ebp - 0xe8]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ecx
push eax
lea eax, [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x11c]
push dword [esi + 0x1930]
mov ecx, dword [eax + 0x240]
call fcn.10036a30
cmp byte [ebp - 0xc1], 0
je 0x10049831
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [edi + 0xe68]
movss dword [edi + 0xe68], xmm0
cmp byte [esi + 0xb2], 0
je 0x100496ec
xorps xmm1, xmm1
comiss xmm1, xmm0
jae 0x100496ec
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x110], xmm0
fld qword [ebp - 0x110]
fld qword [0x10093b58]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
movss xmm0, dword [0x10093ac4]
fstp qword [ebp - 0x110]
movsd xmm1, qword [ebp - 0x110]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x100496ec
xor cl, cl
jmp 0x100496ee
mov cl, 1
movss xmm0, dword [ebp - 0xe0]
movss xmm5, dword [0x10093af0]
addss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x12c]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x134]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x10093a14]
movss dword [ebp - 0x154], xmm1
movaps xmm4, xmm1
movss dword [ebp - 0x3c], xmm1
addss xmm4, xmm5
cvttss2si eax, xmm0
movss dword [ebp - 0x34], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xf4], xmm0
movaps xmm2, xmm0
movaps xmm3, xmm0
subss xmm2, dword [esi + 0x1934]
subss xmm3, dword [0x10093b28]
addss xmm2, dword [0x10093a98]
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x38], xmm2
test cl, cl
je 0x10049804
comiss xmm3, dword [ebp - 0x20]
jbe 0x10049804
movss xmm0, dword [ebp - 0x18]
comiss xmm0, xmm2
jbe 0x100497fc
comiss xmm4, dword [ebp - 0x24]
jbe 0x100497fc
movss xmm0, dword [ebp - 0x1c]
comiss xmm0, xmm1
jbe 0x100497fc
sub esp, 8
movss dword [ebp - 0x110], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x10c], xmm3
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.10018da0
add esp, 4
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax + 0x240]
call fcn.10035ef0
movss xmm1, dword [ebp - 0x154]
movss xmm5, dword [0x10093af0]
movss xmm0, dword [ebp - 0xf4]
cmp byte [ebp - 0x108], 0
mov edi, dword [ebp - 0x100]
jne 0x10049837
subss xmm0, dword [esi + 0x1934]
subss xmm1, xmm5
movss dword [esi + 0x2f10], xmm0
movss dword [esi + 0x2f0c], xmm1
jmp 0x10049837
mov edi, dword [ebp - 0x100]
cmp byte [ebp - 0x14c], 0
je 0x10049845
call fcn.100240a0
cmp byte [ebp - 0xd8], 0
je 0x100498f6
mov ecx, dword [0x1009fce4]
movss xmm1, dword [ebp - 0xd0]
addss xmm1, dword [esi + 0x1558]
movss xmm3, dword [ebp - 0xbc]
mov eax, dword [ecx + 0x1b98]
movss dword [ebp - 0x110], xmm3
movss dword [ebp - 0x10c], xmm1
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x1b98]
cmp byte [eax + 0x8f], 0
jne 0x100498ec
movss xmm0, dword [eax + 0xd4]
lea ecx, [ebp - 0x110]
movss xmm2, dword [eax + 0xd0]
addss xmm1, xmm0
addss xmm3, xmm2
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x38], xmm0
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [0x10093d28]
movss dword [ebp - 0x34], xmm3
call fcn.10024570
push 0
push 0
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.100246a0
add esp, 8
call fcn.1001ef90
call fcn.10024c90
cmp byte [esi + 0x2f64], 0
je 0x10049933
cmp byte [ebp - 0x14c], 0
jne 0x10049933
mov eax, dword [0x1009fce4]
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0xe8]
push edi
mov dword [eax + 0x2f7c], 0x1008faac
mov dword [eax + 0x2f80], 0x10087c3c
call fcn.10029b40
add esp, 4
movss xmm0, dword [ebp - 0x158]
comiss xmm0, dword [0x10093a14]
jbe 0x1004998c
movss xmm0, dword [ebp - 0x4c]
xor edx, edx
addss xmm0, dword [esi + 0x156c]
mov ecx, dword [ebp - 0x144]
movss dword [ebp - 0x110], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [esi + 0x1558]
movss dword [ebp - 0x10c], xmm0
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push 1
call fcn.10018f50
add esp, 0xc
mov dl, byte [ebp - 0xd9]
mov ecx, dword [ebx + 0x14]
test dl, dl
je 0x100499b6
test ecx, 0x8000000
jne 0x100499b6
mov eax, dword [0x1009fce4]
or dword [eax + 0x1c40], 4
mov word [eax + 0x1be0], 0x101
test cl, 0x20
movzx eax, dl
movzx ecx, byte [ebp - 0xb7]
cmovne eax, ecx
jmp 0x10046aea