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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x100b60c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x10123f50]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x15c], ecx
mov ecx, esi
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xf0], eax
mov eax, dword [ecx + 0x199c]
push edi
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xb8], ecx
mov byte [eax + 0x7c], 1
mov edi, dword [ecx + 0x199c]
mov dword [ebp - 0xe8], edi
cmp byte [edi + 0x7f], 0
jne 0x10054634
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xe
mov ebx, ecx
and eax, 0xffffff01
shr ebx, 0x14
mov dword [ebp - 0xec], eax
and ebx, 0xffffff01
mov eax, ecx
mov dword [ebp - 0xd0], ebx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x134], eax
mov eax, ecx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x124], eax
mov eax, ecx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x114], eax
test bl, bl
je 0x100542c0
call fcn.10016fd0
mov esi, dword [0x10123f50]
mov ecx, dword [edi + 0x1c4]
xor edx, edx
mov eax, dword [edi + 0x1cc]
mov edi, dword [ebp - 0x15c]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.1000c1a0
add esp, 4
mov dword [ebp - 0xc4], eax
cmp dword [esi + 0x19bc], eax
jne 0x100542f6
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x10054305
mov byte [esi + 0x19d0], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x10054326
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10054326
cmp dl, 0x23
jne 0x10054320
cmp byte [ecx + 1], dl
je 0x10054326
inc ecx
cmp ecx, 0xffffffff
jb 0x10054310
movss xmm0, dword [0x100a9d38]
movss xmm4, dword [esi + 0x18bc]
movss dword [ebp - 0x154], xmm0
cmp edi, ecx
jne 0x1005434f
xorps xmm6, xmm6
movss dword [ebp - 0x150], xmm6
jmp 0x100543a6
movss xmm3, dword [0x100a9d10]
lea eax, [ebp - 0x10c]
push 0
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x18b8]
movaps xmm2, xmm4
mov dword [esp], 0xbf800000
push eax
call fcn.100478f0
movss xmm0, dword [ebp - 0x10c]
xorps xmm6, xmm6
addss xmm0, dword [0x100a9bc4]
movss xmm4, dword [ebp - 0x108]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x150], xmm0
test bl, bl
je 0x100543ba
movss xmm4, dword [esi + 0x18bc]
mulss xmm4, dword [0x100a9c78]
mov edi, dword [esi + 0x199c]
movss xmm2, dword [edi + 0x170]
comiss xmm6, xmm2
jbe 0x10054435
movss xmm3, dword [edi + 0xc8]
mov ebx, dword [edi + 0x1c0]
movss xmm1, dword [edi + 0x218]
subss xmm3, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x10054421
mov edx, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x18]
subss xmm1, dword [ebx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [ebx + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [ebx + 0x14]
subss xmm1, dword [edi + 0x3c]
subss xmm1, xmm3
addss xmm1, xmm2
movss xmm2, dword [0x100a9bcc]
maxss xmm2, xmm1
mov edx, dword [ebp - 0xb8]
xorps xmm1, xmm1
cvttss2si eax, xmm2
movss xmm3, dword [edx + 0x1548]
xorps xmm2, xmm2
addss xmm3, xmm3
movd xmm5, eax
mov eax, dword [ebp + 0x10]
addss xmm3, xmm4
cvtdq2ps xmm5, xmm5
movss xmm4, dword [eax]
comiss xmm6, xmm4
movss xmm7, dword [eax + 4]
movss dword [ebp - 0x118], xmm4
movss dword [ebp - 0x104], xmm7
ja 0x10054482
comiss xmm6, xmm7
jbe 0x100544e2
movss xmm2, dword [edi + 0x21c]
mov ebx, dword [edi + 0x1c0]
movss xmm1, dword [edi + 0x218]
subss xmm2, dword [edi + 0x10]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x100544d6
mov edx, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x18]
subss xmm1, dword [ebx + 0x14]
lea eax, [edx + 1]
test eax, eax
cmovns edx, eax
mov eax, dword [ebx + 0x34]
lea ecx, [edx*8]
sub ecx, edx
mulss xmm1, dword [eax + ecx*4]
addss xmm1, dword [ebx + 0x14]
subss xmm1, dword [edi + 0x3c]
mov eax, edi
addss xmm1, dword [eax + 0xc]
addss xmm2, dword [eax + 0x10]
comiss xmm6, xmm4
movss xmm0, dword [0x100a9c5c]
jb 0x10054520
ucomiss xmm4, xmm6
lahf
test ah, 0x44
jp 0x10054505
movaps xmm4, xmm5
movss dword [ebp - 0x118], xmm4
jmp 0x10054520
subss xmm1, dword [edi + 0xc8]
maxss xmm1, xmm0
addss xmm1, xmm4
movaps xmm4, xmm1
movss dword [ebp - 0x118], xmm1
comiss xmm6, xmm7
jb 0x10054556
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jp 0x1005453b
movaps xmm7, xmm3
movss dword [ebp - 0x104], xmm7
jmp 0x10054556
subss xmm2, dword [edi + 0xcc]
maxss xmm2, xmm0
addss xmm2, xmm7
movaps xmm7, xmm2
movss dword [ebp - 0x104], xmm2
mov esi, dword [ebp - 0xe8]
movss xmm2, dword [ebp - 0x150]
comiss xmm2, xmm6
mov edi, dword [ebp - 0xb8]
movss xmm3, dword [esi + 0xc8]
movaps xmm0, xmm3
movss dword [ebp - 0x4c], xmm3
addss xmm0, xmm4
movss xmm4, dword [esi + 0xcc]
movaps xmm1, xmm4
movss dword [ebp - 0x48], xmm4
addss xmm1, xmm7
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x40], xmm1
jbe 0x100545ab
addss xmm2, dword [edi + 0x155c]
jmp 0x100545ae
xorps xmm2, xmm2
cmp byte [ebp - 0xd0], 0
addss xmm0, xmm2
addss xmm1, xmm6
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x10], xmm4
mov dword [ebp - 0xfc], esi
movss dword [ebp - 0xc], xmm0
movss dword [ebp - 8], xmm1
je 0x100546d3
mov ebx, dword [ebp - 0xc4]
lea eax, [ebp - 0x4c]
push eax
mov edx, ebx
lea ecx, [ebp - 0x14]
call fcn.1000eb40
add esp, 4
test al, al
jne 0x10054647
movss xmm0, dword [ebp - 0xc]
lea ecx, [ebp - 0x10c]
subss xmm0, dword [ebp - 0x14]
movss xmm1, dword [edi + 0x1548]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 8]
subss xmm0, dword [ebp - 0x10]
movss dword [ebp - 0x108], xmm0
call fcn.1000ea30
call fcn.10017100
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006cde1
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x44]
lea edx, [ebp - 0x10c]
subss xmm0, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x48]
mov ecx, ebx
push 0
movss dword [ebp - 0x13c], xmm1
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, xmm1
movss dword [ebp - 0x108], xmm0
call fcn.10011550
add esp, 4
test al, al
jne 0x10054694
call fcn.10011390
jmp 0x1005462f
mov ecx, dword [0x10123f50]
movss xmm0, dword [ebp - 0x118]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x7c], 1
mov ebx, dword [ecx + 0x199c]
mov dword [ebp - 0xfc], ebx
subss xmm0, dword [ebx + 0x70]
mov eax, dword [ebx + 0x134]
or dword [ebx + 0x13c], eax
movss dword [ebp - 0x118], xmm0
jmp 0x10054728
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x10c]
movss dword [ebp - 0x108], xmm1
movss xmm1, dword [edi + 0x1548]
movss dword [ebp - 0x10c], xmm0
call fcn.1000ea30
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x14]
call fcn.1000eb40
add esp, 4
test al, al
je 0x10054634
movss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x13c], xmm0
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x4c]
call fcn.1000ece0
mov byte [ebp - 0xbc], al
test al, al
je 0x1005474a
mov dword [edi + 0x1d04], 1
lea ebx, [edi + 0x1dc4]
xor eax, eax
cmp dword [ebx], edx
mov ecx, esi
cmovne ebx, eax
mov dword [ebp - 0x120], ebx
call fcn.1000ee50
mov byte [ebp - 0xdd], al
test al, al
je 0x100547e4
cmp dword [edi + 0x1bb8], esi
jne 0x100547e4
mov ecx, dword [edi + 0x1bc0]
cmp ecx, dword [esi + 0x164]
jne 0x100547e4
mov byte [ebp - 0xbb], 1
mov byte [ebp - 0xc9], 0
cmp byte [ebp - 0xbc], 0
je 0x100547ab
cmp byte [edi + 0x3d8], 0
mov byte [ebp - 0xb1], 1
jne 0x100547b2
mov byte [ebp - 0xb1], 0
mov eax, dword [edi + 0x19bc]
mov ecx, dword [ebp - 0xc4]
cmp eax, ecx
je 0x100547ff
cmp dword [edi + 0x1ac0], ecx
je 0x100547db
cmp dword [edi + 0x1ab4], ecx
jne 0x100547ff
cmp dword [edi + 0x1ad4], 3
jne 0x100547ff
mov byte [ebp - 0xb2], 1
jmp 0x10054806
mov byte [ebp - 0xbb], 0
test al, al
je 0x1005478b
mov byte [ebp - 0xc9], 1
mov byte [ebp - 0xbb], 0
jmp 0x10054792
mov byte [ebp - 0xb2], 0
cmp byte [ebp - 0xd0], 0
je 0x1005484d
test ebx, ebx
je 0x1005484d
test eax, eax
jne 0x1005484d
mov eax, dword [ebp - 0xfc]
xor edx, edx
mov ecx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000c1a0
add esp, 4
cmp dword [edi + 0x19c0], eax
jne 0x1005484d
mov byte [ebp - 0xb9], 1
jmp 0x10054868
cmp byte [ebp - 0xd0], 0
mov byte [ebp - 0xb9], 0
je 0x10054899
mov byte [ebp - 0xb9], 0
test ebx, ebx
je 0x10054899
mov eax, dword [ebp - 0xfc]
xor edx, edx
mov ecx, dword [eax + 0x1c4]
mov eax, dword [eax + 0x1cc]
push dword [eax + ecx*4 - 4]
mov ecx, str.SCROLLY
call fcn.1000c1a0
add esp, 4
cmp dword [edi + 0x19bc], eax
jne 0x10054899
mov al, 1
jmp 0x1005489b
xor al, al
mov ecx, dword [ebp - 0xc4]
cmp dword [edi + 0x19bc], ecx
mov cl, byte [ebp - 0xb2]
mov byte [ebp - 0xba], al
mov byte [ebp - 0xf4], 0
je 0x100548d6
test byte [ebp + 0x14], 0x10
jne 0x100548c6
test cl, cl
je 0x100548d6
cmp byte [ebp - 0xd0], 0
mov byte [ebp - 0xd4], 1
je 0x100548dd
mov byte [ebp - 0xd4], 0
cmp byte [ebp - 0xdd], 0
jne 0x10054911
cmp byte [ebp - 0xb1], 0
jne 0x10054911
cmp byte [ebp - 0xb9], 0
jne 0x10054911
test cl, cl
jne 0x10054911
mov byte [ebp - 0xb9], cl
test al, al
jne 0x10054918
mov byte [ebp - 0xbe], al
jmp 0x10054b73
mov byte [ebp - 0xb9], 1
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 0xbe], 1
mov dword [ebp - 0x120], ebx
cmp dword [edi + 0x19bc], ecx
je 0x10054bd2
mov ecx, dword [ebp - 0xc8]
lea ebx, [edi + 0x1dc4]
mov dword [ebp - 0x120], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054956
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x10054995
test edi, edi
je 0x1005497d
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10054982
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.1001f6d0
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xc8]
mov dword [eax], esi
push dword [ebx + 0x2c]
call fcn.1006ed50
mov edi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edi
add esp, 0xc
cmp edi, esi
jle 0x100549e0
test esi, esi
je 0x100549c8
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x100549cd
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001f9a0
lea eax, [ebx + 0xc]
mov dword [eax], edi
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x10054a02
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, [ebx + 0x18]
call fcn.1001f6d0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc8]
dec eax
mov dword [ebx + 0x18], 0
mov edi, edx
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov byte [ebx + 0x30], 0
mov dword [ebp - 0xd8], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10054a79
nop dword [eax + eax]
cmp byte [edi], 0
je 0x10054a73
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.1000c4c0
add edi, eax
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x10054a6d
cmp eax, 0x10000
jae 0x10054a5a
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xd8]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x10054a30
jmp 0x10054a73
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xc4]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x10054ab8
cmp dword [ebx + 0x3c], esi
mov ecx, esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp dword [ebx + 0x44], esi
mov dword [ebx + 0x40], ecx
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
jmp 0x10054b31
mov ecx, dword [ebp - 0xd0]
mov dword [ebx], eax
mov al, cl
xor al, 1
mov dword [ebx + 0x38], 0
mov dword [ebx + 0xe52], 0x630000
mov dword [ebx + 0xe58], 0
mov dword [ebx + 0xe5c], 0x3e7
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x48], 0x10000
mov dword [ebx + 0x50], 0
mov byte [ebx + 0x4c], al
test cl, cl
jne 0x10054b37
mov ecx, dword [ebp - 0xd4]
mov eax, 1
cmp byte [ebp - 0xbb], 0
movzx ecx, cl
cmovne ecx, eax
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0xd0]
test dword [ebp + 0x14], 0x2000
je 0x10054b44
mov byte [ebx + 0x48], 1
mov edi, dword [ebp - 0xb8]
test cl, cl
jne 0x10054b6d
cmp byte [ebp - 0xc9], cl
jne 0x10054b66
cmp byte [ebp - 0xb1], cl
je 0x10054b6d
cmp byte [edi + 0xf8], cl
je 0x10054b6d
mov byte [ebp - 0xd4], 1
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xc4]
cmp dword [edi + 0x19bc], ecx
je 0x10054bd2
cmp byte [ebp - 0xb9], 0
je 0x10054bd2
mov edx, esi
call fcn.1000e860
call fcn.1000e910
mov ecx, esi
call fcn.10016150
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x19d8], 2
test eax, 0x440
je 0x10054bbb
mov dword [edi + 0x19d8], 0x20002
cmp byte [ebp - 0xd0], 0
jne 0x10054bd2
test al, al
js 0x10054bd2
mov dword [edi + 0x19d4], 0xc
mov esi, dword [ebp - 0xc4]
cmp dword [edi + 0x19bc], esi
jne 0x10054be9
test ebx, ebx
jne 0x10054be9
call fcn.1000e9d0
mov eax, dword [edi + 0x19bc]
cmp eax, esi
jne 0x10054c23
cmp byte [edi + 0x3d8], 0
je 0x10054c23
cmp byte [ebp - 0xbe], 0
jne 0x10054c23
mov ecx, dword [ebp - 0xf4]
mov edx, 1
cmp byte [ebp - 0xb9], 0
movzx ecx, cl
cmove ecx, edx
mov dword [ebp - 0xf4], ecx
cmp byte [ebp - 0xec], 0
je 0x10054d3d
test ebx, ebx
je 0x10054d3d
cmp eax, esi
je 0x10054c49
cmp byte [ebp - 0xba], 0
jne 0x10054c49
xor cl, cl
jmp 0x10054c4b
mov cl, 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10054c57
test cl, cl
jne 0x10054c5f
test cl, cl
je 0x10054d3d
mov esi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov edi, dword [eax + 4]
inc esi
cmp esi, edi
jle 0x10054c96
test edi, edi
je 0x10054c7e
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10054c83
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001f9a0
lea eax, [ebx + 0xc]
mov edx, dword [ebp - 0xc8]
mov edi, edx
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd8], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10054cfd
cmp byte [edi], 0
je 0x10054cf7
push 0
mov edx, edi
lea ecx, [ebp - 8]
call fcn.1000c4c0
add edi, eax
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x10054cf1
cmp eax, 0x10000
jae 0x10054cdf
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp + 0xc]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x10054cb5
jmp 0x10054cf7
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc8]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebx + 0x44]
sar esi, 1
cmp dword [ebx + 0x3c], esi
mov ecx, esi
mov dword [ebx + 4], esi
cmovl ecx, dword [ebx + 0x3c]
cmp dword [ebx + 0x40], esi
mov dword [ebx + 0x3c], ecx
mov ecx, esi
cmovl ecx, dword [ebx + 0x40]
cmp eax, esi
mov dword [ebx + 8], edi
mov edi, dword [ebp - 0xb8]
cmovl esi, eax
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xc4]
mov dword [ebx + 0x40], ecx
mov ecx, dword [edi + 0x19bc]
cmp ecx, esi
je 0x10054d58
test ebx, ebx
je 0x10054d54
cmp byte [ebp - 0xba], 0
jne 0x10054d58
xor dl, dl
jmp 0x10054d5a
mov dl, 1
mov byte [ebp - 0xb9], dl
test ebx, ebx
je 0x10054d87
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10054d87
test dl, dl
je 0x10054d87
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xb0], 0
mov byte [ebp - 0xad], 0
jmp 0x10054daa
xor dh, dh
mov byte [ebp - 0xb0], 0
mov byte [ebp - 0xad], dh
mov byte [ebp - 0xaf], dh
test dl, dl
jne 0x10054daa
mov byte [ebp - 0xaf], dl
cmp ecx, esi
jne 0x10054dc1
cmp byte [ebp - 0xec], 0
jne 0x10054dc1
test ebx, ebx
je 0x10054dc1
cmp byte [ebx + 0x30], 0
je 0x10054dc1
mov al, 1
jmp 0x10054dc3
xor al, al
mov edx, dword [ebp - 0xf8]
mov byte [ebp - 0xdd], al
test edx, edx
je 0x10054deb
test al, al
je 0x10054ddc
mov eax, dword [ebx + 0x20]
jmp 0x10054de2
mov eax, dword [ebp - 0xc8]
cmp byte [eax], 0
jne 0x10054deb
mov al, 1
jmp 0x10054ded
xor al, al
cmp byte [ebp - 0x134], 0
mov byte [ebp - 0xbb], al
je 0x10054eaa
test al, al
jne 0x10054eaa
mov esi, dword [edi + 0x18b8]
cmp dword [esi + 0x14], 0x2a
jg 0x10054e19
mov edi, dword [esi + 0x2c]
jmp 0x10054e38
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x10054e2f
mov edi, dword [esi + 0x2c]
jmp 0x10054e38
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb8]
add edx, 0x2c38
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x44]
mov dword [edx + 0x44], eax
mov eax, dword [esi + 0x18b8]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [edx + 0x30], ecx
mov ecx, edx
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x48]
mov dword [edx + 0x48], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x4c]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x18b8]
mov eax, dword [eax + 0x38]
mov dword [edx + 0x38], eax
mov dword [edx + 0x2c], edi
mov eax, dword [edi + 4]
mov dword [edx + 0xc], eax
call fcn.10016510
mov edi, esi
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0x110], 0
cmp dword [edi + 0x19bc], esi
jne 0x1005520a
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0xe68], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebx + 0xe70], eax
mov dword [ebx + 0xe6c], edx
cmp byte [edi + 0xe8], 0
mov dword [edi + 0x2f28], 1
sete al
cmp byte [ebp - 0xd0], 0
mov byte [edi + 0x19cd], al
movss xmm7, dword [edi + 0xe0]
subss xmm7, dword [ebp - 0x4c]
subss xmm7, dword [edi + 0x1544]
addss xmm7, dword [ebx + 0x38]
je 0x10054f4d
mov eax, dword [ebp - 0xfc]
movss xmm2, dword [edi + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edi + 0x1548]
jmp 0x10054f5d
movss xmm2, dword [edi + 0x18bc]
mulss xmm2, dword [0x100a9b90]
cmp byte [ebp - 0xd4], 0
mov al, byte [edi + 0xad]
mov byte [ebp - 0xb1], al
jne 0x100550e2
mov cl, byte [ebp - 0xbc]
test cl, cl
je 0x10054f90
test al, al
jne 0x10054ff8
cmp byte [edi + 0x3dd], al
jne 0x100550e2
cmp byte [edi + 0x3d8], 0
je 0x10055052
cmp byte [ebx + 0xe65], 0
jne 0x10055052
test cl, cl
je 0x10055103
cmp byte [ebx + 0x4c], 0
je 0x10054fcc
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.10052760
movss xmm2, dword [ebp - 0x20]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10052a90
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov byte [ebx + 0x4b], 0
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x100550fd
cmp byte [edi + 0x3dd], 0
je 0x10054f90
push 0x1000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x3000d
call fcn.10052e80
mov edx, dword [ebp - 0xdc]
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x100550fd
cmp byte [edi + 0xe8], 0
je 0x10055103
cmp byte [ebx + 0xe65], 0
jne 0x1005510c
movss xmm0, dword [edi + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10055091
movss xmm0, dword [edi + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10055103
cmp byte [ebx + 0x4c], 0
je 0x100550ab
push 0
mov edx, ebx
lea ecx, [ebp - 0x2c]
call fcn.10052760
movss xmm2, dword [ebp - 0x20]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x100550b9
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10052a90
mov edx, dword [ebp - 0xdc]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x100550fd
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
mov al, byte [ebp - 0xb1]
cmp byte [ebx + 0xe65], 0
je 0x1005511c
cmp byte [edi + 0xe8], 0
jne 0x1005511c
mov byte [ebx + 0xe65], 0
cmp dword [edi + 0x1500], 0
jle 0x1005520a
cmp byte [edi + 0xf8], 0
je 0x1005513f
cmp byte [edi + 0xfa], 0
je 0x100551da
test al, al
je 0x10055150
cmp byte [edi + 0xfb], 0
jne 0x100551da
cmp byte [ebp - 0xec], 0
jne 0x100551da
cmp byte [ebp - 0xb2], 0
jne 0x100551da
mov eax, dword [ebp - 0xb8]
xor edi, edi
xor esi, esi
mov eax, dword [eax + 0x1508]
lea ecx, [ebp - 0xd8]
push dword [ebp - 0xf0]
push edx
movzx eax, word [esi + eax]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0xd8], eax
call fcn.10054010
add esp, 8
test al, al
je 0x100551c0
push dword [ebp - 0xd8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov eax, dword [ebp - 0xb8]
inc edi
mov edx, dword [ebp - 0xdc]
add esi, 2
cmp edi, dword [eax + 0x1500]
jl 0x10055170
mov edi, eax
mov ecx, dword [edi + 0x1504]
test ecx, ecx
jns 0x10055200
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 + 0x1500]
call fcn.1001f9a0
mov dword [edi + 0x1500], 0
mov eax, dword [ebp - 0xc4]
mov byte [ebp - 0xae], 0
cmp dword [edi + 0x19bc], eax
jne 0x10055db3
cmp byte [edi + 0x19cc], 0
jne 0x10055db3
cmp byte [ebp - 0xf4], 0
jne 0x10055db3
mov cl, byte [edi + 0xf9]
xor esi, esi
mov dl, byte [edi + 0xad]
test cl, cl
mov eax, 0x20000
mov byte [ebp - 0xbf], dl
cmovne esi, eax
test dl, dl
je 0x100552b2
cmp byte [edi + 0xfb], 0
je 0x10055278
cmp byte [edi + 0xf8], 0
jne 0x10055278
mov eax, 1
jmp 0x1005527a
xor eax, eax
test eax, eax
jne 0x100552c4
xor ah, ah
mov byte [ebp - 0xb1], ah
test dl, dl
je 0x100552d5
cmp byte [edi + 0xfb], 0
je 0x100552d5
test cl, cl
je 0x100552d5
cmp byte [edi + 0xf8], 0
jne 0x100552d5
cmp byte [edi + 0xfa], 0
jne 0x100552d5
mov byte [ebp - 0xbe], 1
jmp 0x100552e4
cmp byte [edi + 0xf8], 0
je 0x1005527e
cmp byte [edi + 0xfb], 0
jne 0x1005527e
cmp byte [edi + 0xfa], 0
jne 0x1005527e
test cl, cl
jne 0x1005527e
mov ah, 1
jmp 0x10055280
mov byte [ebp - 0xbe], 0
test dl, dl
je 0x10055370
cmp byte [edi + 0xfb], 0
mov dl, byte [edi + 0xfa]
mov byte [ebp - 0xba], dl
je 0x1005537d
cmp byte [edi + 0xf8], 0
jne 0x1005537d
test dl, dl
jne 0x1005537d
mov cl, byte [edi + 0xf8]
mov byte [ebp - 0xbd], 1
cmp byte [edi + 0xf9], 0
mov byte [ebp - 0xb2], 0
je 0x100553f8
mov byte [ebp - 0xb2], 0
test cl, cl
jne 0x100553f8
mov byte [ebp - 0xb2], cl
cmp byte [edi + 0xfa], cl
jne 0x100553f8
mov byte [ebp - 0xb2], cl
cmp byte [edi + 0xfb], cl
jne 0x100553f8
mov byte [ebp - 0xbc], 1
mov byte [ebp - 0xb2], cl
jmp 0x100553ff
mov dl, byte [edi + 0xf8]
mov byte [ebp - 0xbe], 0
mov cl, byte [edi + 0xf8]
mov al, dl
mov byte [ebp - 0xba], al
mov byte [ebp - 0xbd], 0
test cl, cl
je 0x10055317
cmp byte [edi + 0xf9], 0
mov byte [ebp - 0xba], al
mov byte [ebp - 0xbd], 0
jne 0x10055317
cmp byte [edi + 0xfa], 0
mov byte [ebp - 0xba], al
mov byte [ebp - 0xbd], 0
jne 0x10055317
cmp byte [edi + 0xfb], 0
mov byte [ebp - 0xba], al
mov byte [ebp - 0xbd], 0
jne 0x10055317
mov byte [ebp - 0xb2], 1
mov byte [ebp - 0xba], al
mov byte [ebp - 0xbd], 0
mov byte [ebp - 0xbc], 0
mov edi, dword [0x10123f50]
test ah, ah
je 0x10055419
mov ecx, dword [edi + 0x7c]
test ecx, ecx
js 0x10055419
call fcn.10010f30
test al, al
jne 0x10055432
cmp byte [ebp - 0xbc], 0
je 0x1005545e
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x1005545e
call fcn.10010f30
test al, al
je 0x1005545e
cmp byte [ebp - 0xec], 0
jne 0x1005545e
cmp byte [ebp - 0x134], 0
jne 0x1005545e
cmp byte [ebp - 0xd0], 0
je 0x10055455
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1005545e
mov byte [ebp - 0xc9], 1
jmp 0x10055465
mov byte [ebp - 0xc9], 0
cmp byte [ebp - 0xb1], 0
je 0x1005547e
mov ecx, dword [edi + 0x74]
test ecx, ecx
js 0x1005547e
call fcn.10010f30
test al, al
jne 0x10055497
cmp byte [ebp - 0xb2], 0
je 0x100554ba
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x100554ba
call fcn.10010f30
test al, al
je 0x100554ba
cmp byte [ebp - 0x134], 0
jne 0x100554ba
cmp byte [ebp - 0xd0], 0
je 0x100554b1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x100554ba
mov byte [ebp - 0xb2], 1
jmp 0x100554c1
mov byte [ebp - 0xb2], 0
cmp byte [ebp - 0xb1], 0
je 0x100554da
mov ecx, dword [edi + 0x78]
test ecx, ecx
js 0x100554da
call fcn.10010f30
test al, al
jne 0x100554f3
cmp byte [ebp - 0xbc], 0
je 0x10055503
mov ecx, dword [edi + 0x58]
test ecx, ecx
js 0x10055503
call fcn.10010f30
test al, al
je 0x10055503
cmp byte [ebp - 0xec], 0
mov byte [ebp - 0xc0], 1
je 0x1005550a
mov byte [ebp - 0xc0], 0
mov al, byte [ebp - 0xb1]
test al, al
je 0x10055548
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x10055548
call fcn.10010f30
test al, al
je 0x10055542
cmp byte [ebp - 0xec], 0
jne 0x10055542
cmp byte [ebp - 0x124], 0
je 0x10055542
mov byte [ebp - 0xbc], 1
jmp 0x10055553
mov al, byte [ebp - 0xb1]
mov byte [ebp - 0xbc], 0
test al, al
je 0x10055566
mov ecx, dword [edi + 0x80]
test ecx, ecx
js 0x10055566
call fcn.10010f30
test al, al
jne 0x10055582
cmp byte [ebp - 0xbe], 0
je 0x1005559b
mov ecx, dword [edi + 0x84]
test ecx, ecx
js 0x1005559b
call fcn.10010f30
test al, al
je 0x1005559b
cmp byte [ebp - 0xec], 0
jne 0x1005559b
cmp byte [ebp - 0x124], 0
mov byte [ebp - 0xbe], 1
jne 0x100555a2
mov byte [ebp - 0xbe], 0
mov ecx, dword [edi + 0x38]
test ecx, ecx
js 0x100555f8
call fcn.10010f30
test al, al
je 0x100555f8
cmp byte [ebp - 0xbd], 0
je 0x100555d2
mov eax, 0x10004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10052e80
jmp 0x10055d99
cmp byte [ebp - 0xba], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10052e80
jmp 0x10055d99
mov ecx, dword [edi + 0x3c]
test ecx, ecx
js 0x1005564e
call fcn.10010f30
test al, al
je 0x1005564e
cmp byte [ebp - 0xbd], 0
je 0x10055628
mov eax, 0x10005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10052e80
jmp 0x10055d99
cmp byte [ebp - 0xba], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10052e80
jmp 0x10055d99
mov ecx, dword [edi + 0x40]
test ecx, ecx
js 0x100556f2
call fcn.10010f30
test al, al
je 0x100556f2
cmp byte [ebp - 0xd0], 0
je 0x100556f2
mov edi, dword [ebp - 0xb8]
cmp byte [edi + 0xf8], 0
je 0x100556be
mov eax, dword [ebp - 0xfc]
movss xmm1, dword [eax + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [edi + 0x18bc]
addss xmm1, dword [eax + 0xe4]
maxss xmm0, dword [0x100a9b10]
subss xmm1, xmm0
movss dword [eax + 0x5c], xmm0
movss dword [eax + 0xe4], xmm1
jmp 0x10055db3
movzx eax, byte [ebp - 0xbd]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10055db3
mov ecx, dword [edi + 0x44]
test ecx, ecx
js 0x100557a4
call fcn.10010f30
test al, al
je 0x100557a4
cmp byte [ebp - 0xd0], 0
je 0x100557a4
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xf8], 0
je 0x10055784
mov eax, dword [edi + 0x199c]
mov ecx, dword [ebp - 0xfc]
mov edi, dword [ebp - 0xb8]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
movss xmm3, dword [ecx + 0x5c]
movaps xmm2, xmm3
addss xmm2, dword [edi + 0x18bc]
addss xmm3, dword [ecx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [ecx + 0x5c], xmm2
movss dword [ecx + 0xe4], xmm3
jmp 0x10055db3
movzx eax, byte [ebp - 0xbd]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.10052e80
jmp 0x10055d99
mov ecx, dword [edi + 0x50]
test ecx, ecx
js 0x100557f5
call fcn.10010f30
test al, al
je 0x100557f5
mov eax, esi
or eax, 0x10006
or esi, 0x10004
mov edi, dword [ebp - 0xb8]
cmp byte [edi + 0xf8], 0
cmovne esi, eax
push esi
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10055db3
mov ecx, dword [edi + 0x54]
test ecx, ecx
js 0x10055814
call fcn.10010f30
test al, al
je 0x10055814
mov eax, esi
or eax, 0x10007
or esi, 0x10005
jmp 0x100557c1
mov ecx, dword [edi + 0x5c]
test ecx, ecx
js 0x10055843
call fcn.10010f30
test al, al
je 0x10055843
cmp byte [ebp - 0xec], 0
jne 0x10055843
or esi, 0x10008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10052e80
jmp 0x10055d99
mov ecx, dword [edi + 0x60]
test ecx, ecx
js 0x10055905
call fcn.10010f30
test al, al
je 0x10055905
cmp byte [ebp - 0xec], 0
jne 0x10055905
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x1005589c
cmp byte [ebp - 0xba], 0
je 0x100558ad
push 0x3000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edi, dword [ebp - 0xb8]
or esi, 0x10009
jmp 0x100557d1
cmp byte [ebp - 0xbf], 0
je 0x1005589c
mov edi, dword [ebp - 0xb8]
cmp byte [edi + 0xfb], 0
je 0x100558a2
cmp byte [edi + 0xfa], 0
jne 0x100558a2
cmp byte [edi + 0xf8], 0
jne 0x100558a2
push 0x30004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
or esi, 0x10009
jmp 0x100557d1
mov ecx, dword [edi + 0x68]
test ecx, ecx
js 0x100559a0
call fcn.10010f30
test al, al
je 0x100559a0
mov edx, dword [ebp + 0x14]
mov eax, edx
mov edi, dword [ebp - 0xb8]
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd0], 0
je 0x10055944
mov cl, byte [edi + 0xf8]
test al, al
je 0x10055958
test cl, cl
jne 0x1005595c
mov dh, 1
mov byte [ebp - 0xf4], 1
mov byte [ebp - 0xad], dh
jmp 0x10055db9
test cl, cl
jne 0x10055944
cmp byte [ebp - 0xec], 0
jne 0x10055db3
push dword [ebp - 0xf0]
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0xa
push dword [ebp - 0xdc]
call fcn.10054010
add esp, 8
test al, al
je 0x10055db3
push dword [ebp - 0xd8]
jmp 0x100557d2
test dword [ebp + 0x14], 0x400
je 0x10055a2b
mov ecx, dword [edi + 0x34]
test ecx, ecx
js 0x10055a2b
call fcn.10010f30
test al, al
je 0x10055a2b
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0xf8], 0
jne 0x10055a2b
cmp byte [eax + 0xf9], 0
jne 0x10055a2b
cmp byte [eax + 0xfa], 0
jne 0x10055a2b
cmp byte [ebp - 0xec], 0
jne 0x10055a2b
push dword [ebp - 0xf0]
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0xd8]
push dword [ebp - 0xdc]
mov dword [ebp - 0xd8], 9
call fcn.10054010
add esp, 8
test al, al
je 0x10055dad
push dword [ebp - 0xd8]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052e80
jmp 0x10055d99
mov ecx, dword [edi + 0x6c]
test ecx, ecx
js 0x10055a54
call fcn.10010f30
test al, al
je 0x10055a54
mov edi, dword [ebp - 0xb8]
mov cl, 1
mov dh, byte [ebp - 0xad]
mov byte [ebp - 0xf4], cl
jmp 0x10055dbf
mov al, byte [ebp - 0xbc]
test al, al
jne 0x10055d7a
cmp byte [ebp - 0xbe], al
jne 0x10055d7a
cmp byte [ebp - 0xb1], al
je 0x10055a9f
mov ecx, dword [edi + 0x70]
test ecx, ecx
js 0x10055a9f
call fcn.10010f30
test al, al
je 0x10055a9f
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
jmp 0x10055da6
mov al, byte [ebp - 0xc9]
test al, al
jne 0x10055c4d
cmp byte [ebp - 0xb2], al
jne 0x10055c4d
cmp byte [ebp - 0xc0], al
je 0x10055dad
mov eax, dword [edi + 0xc8]
test eax, eax
je 0x10055aec
push dword [edi + 0xd0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10055dad
mov edi, dword [0x10123f50]
jmp 0x10055af1
mov esi, 0x1009b566
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055af6
sub ecx, edx
test edi, edi
je 0x10055b09
inc dword [edi + 0x370]
lea eax, [ecx*2 + 2]
push eax
call fcn.100737ad
add esp, 4
mov ecx, eax
xor edi, edi
mov dword [ebp - 0xd4], ecx
cmp byte [esi], 0
je 0x10055b93
mov ebx, eax
nop word [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x100]
call fcn.1000c4c0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x100]
test eax, eax
je 0x10055b87
cmp eax, 0x10000
jae 0x10055b82
push dword [ebp - 0xf0]
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x100]
push dword [ebp - 0xdc]
call fcn.10054010
add esp, 8
test al, al
je 0x10055b82
mov ax, word [ebp - 0x100]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10055b30
mov ebx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xd4]
xor eax, eax
mov word [ecx + edi*2], ax
test edi, edi
jle 0x10055c2c
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x10055bc7
cmp ecx, eax
jle 0x10055bb7
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x10055bc0
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x10055bc7
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x10055bcf
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052df0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0xd4]
call fcn.10052940
add esp, 8
test al, al
je 0x10055c0b
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push edi
push 0
call fcn.10053b90
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], edi
jmp 0x10055c1f
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x10055c1f
dec eax
mov word [ebx + 0xe52], ax
mov ecx, dword [ebp - 0xd4]
mov byte [ebx + 0xe64], 1
test ecx, ecx
je 0x10055c3f
mov eax, dword [0x10123f50]
test eax, eax
je 0x10055c3f
dec dword [eax + 0x370]
push ecx
call fcn.1007369b
add esp, 4
jmp 0x10055dad
mov edi, dword [ebp - 0xb8]
cmp dword [edi + 0xcc], 0
je 0x10055d3b
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x10055c74
mov ecx, edi
cmovge edi, eax
cmovl ecx, eax
jmp 0x10055c79
mov edi, dword [ebx + 4]
xor ecx, ecx
mov al, byte [ebp - 0xaf]
mov byte [ebp - 0xaf], al
mov al, byte [ebp - 0xb0]
mov byte [ebp - 0xb0], al
mov al, byte [ebp - 0xad]
mov byte [ebp - 0xad], al
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xd8], ecx
lea edx, [eax + edi*2]
lea ecx, [eax + ecx*2]
call fcn.1000c780
mov ecx, dword [0x10123f50]
inc eax
mov dword [ebp - 8], eax
test ecx, ecx
je 0x10055cc5
inc dword [ecx + 0x370]
push eax
call fcn.100737ad
mov esi, dword [ebx + 0x14]
add esp, 4
mov edx, dword [ebp - 8]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xd8]
lea ecx, [esi + edi*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x11c]
push ecx
mov ecx, esi
call fcn.1000c650
mov eax, dword [0x10123f50]
add esp, 8
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x10055d18
push esi
push dword [eax + 0xd0]
call ecx
mov eax, dword [0x10123f50]
add esp, 8
test esi, esi
je 0x10055d26
test eax, eax
je 0x10055d26
dec dword [eax + 0x370]
push esi
call fcn.1007369b
mov al, byte [ebp - 0xc9]
add esp, 4
mov edi, dword [ebp - 0xb8]
test al, al
je 0x10055db3
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10055d5b
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10055db3
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10052df0
mov byte [ebx + 0x4b], 0
jmp 0x10055db3
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x1000a
push eax
call fcn.10052e80
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], eax
add esp, 4
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
mov edi, dword [ebp - 0xb8]
mov dh, byte [ebp - 0xad]
mov cl, byte [ebp - 0xae]
mov esi, dword [ebp - 0xc4]
cmp dword [edi + 0x19bc], esi
jne 0x10056458
xor eax, eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd4], eax
test cl, cl
je 0x10055e4e
cmp byte [ebp - 0xec], al
jne 0x10055e39
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xc8]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10055e20
test dl, dl
je 0x10055e1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10055e20
add eax, 2
add ecx, 2
test dl, dl
jne 0x10055e00
xor eax, eax
jmp 0x10055e25
sbb eax, eax
or eax, 1
test eax, eax
je 0x10055e39
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp + 0x14]
test dh, dh
je 0x1005633d
test al, 0x20
je 0x1005633d
jmp 0x10055e51
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xec], 0
jne 0x10055eb2
mov eax, dword [ebx + 0xc]
mov byte [ebx + 0x30], 1
mov edi, dword [ebx + 0x1c]
lea esi, [eax*4 + 1]
lea eax, [ebx + 0x18]
cmp esi, edi
jle 0x10055e9b
test edi, edi
je 0x10055e83
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10055e88
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.1001f6d0
lea eax, [ebx + 0x18]
mov dword [eax], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.1000c650
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x100562e9
xor esi, esi
test al, 0x40
mov eax, dword [0x10123f50]
lea edi, [esi + 0x15]
je 0x10055eea
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10055eea
call fcn.10010f30
test al, al
je 0x10055ee5
mov eax, dword [ebp + 0x14]
lea esi, [edi + 0x2b]
xor edi, edi
jmp 0x10055f3f
mov eax, dword [0x10123f50]
test byte [ebp + 0x14], 0x80
je 0x10055f2f
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10055f12
call fcn.10010f30
test al, al
je 0x10055f0d
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7d]
jmp 0x10055f3f
mov eax, dword [0x10123f50]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10055f2f
call fcn.10010f30
test al, al
je 0x10055f2f
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7c]
jmp 0x10055f3f
mov eax, dword [ebp + 0x14]
mov ecx, 0x100
test eax, 0x100
cmovne esi, ecx
test esi, esi
je 0x100562e9
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x34]
mov dword [ebp - 0x7c], esi
mov esi, dword [ebx + 0x14]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x3c]
mov word [ebp - 0x5b], cx
mov byte [ebp - 0x59], cl
mov byte [ebp - 0x5c], cl
mov ecx, esi
lea edx, [esi + eax*2]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], edi
call fcn.1000c780
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000c780
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000c780
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
call dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x58]
add esp, 4
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x100], edx
cmp ecx, edi
je 0x1005609c
mov ah, byte [ebp - 0xaf]
lea edi, [ecx + edx]
mov ch, byte [ebp - 0xb0]
mov esi, edx
xor edx, edx
mov dword [ebp - 0xe4], edx
nop dword [eax]
test edi, edi
je 0x1005600c
cmp esi, edi
jae 0x1005608c
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc0], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x1005608c
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.1000c4c0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 8]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x10056086
cmp edx, 0x10000
mov edx, dword [ebp - 0xe4]
jae 0x10056071
inc edx
mov dword [ebp - 0xe4], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x10056000
mov edx, dword [ebp - 0xe4]
mov dword [ebx + 0x3c], edx
mov edx, dword [ebp - 0x100]
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x11c]
je 0x10056153
mov ch, byte [ebp - 0xb0]
lea edi, [eax + edx]
mov ah, byte [ebp - 0xaf]
mov esi, edx
xor edx, edx
mov dword [ebp - 0xe4], edx
test edi, edi
je 0x100560d0
cmp esi, edi
jae 0x10056150
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc0], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x10056150
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.1000c4c0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 8]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x1005614a
cmp edx, 0x10000
mov edx, dword [ebp - 0xe4]
jae 0x10056135
inc edx
mov dword [ebp - 0xe4], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x100560c4
mov edx, dword [ebp - 0xe4]
mov dword [ebx + 0x40], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x12c]
je 0x10056210
mov ecx, dword [ebp - 0x100]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0xe4], edx
lea edi, [eax + ecx]
mov ah, byte [ebp - 0xaf]
mov ch, byte [ebp - 0xb0]
test edi, edi
je 0x1005618d
cmp esi, edi
jae 0x1005620d
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc0], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x1005620d
push edi
mov edx, esi
lea ecx, [ebp - 8]
call fcn.1000c4c0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc0]
add esp, 4
mov edx, dword [ebp - 8]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x10056207
cmp edx, 0x10000
mov edx, dword [ebp - 0xe4]
jae 0x100561f2
inc edx
mov dword [ebp - 0xe4], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x10056181
mov edx, dword [ebp - 0xe4]
mov dword [ebx + 0x44], edx
cmp byte [ebp - 0x5c], 0
je 0x100562e6
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x110]
cmp esi, ecx
jle 0x10056272
cmp byte [ebp - 0x114], 0
je 0x10056272
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x10056270
test edi, edi
je 0x1005624f
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10056254
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.1001f9a0
mov ecx, dword [ebp - 0x68]
lea eax, [ebx + 0xc]
mov dword [ebp - 0x100], ecx
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov edi, dword [ebx + 0xc]
dec edi
mov dword [ebp - 0x11c], ecx
lea edi, [ecx + edi*2]
cmp ecx, edi
jae 0x100562ca
mov ebx, dword [ebp - 0x100]
nop
cmp byte [ebx], 0
je 0x100562be
push 0
mov edx, ebx
lea ecx, [ebp - 8]
call fcn.1000c4c0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 8]
test eax, eax
je 0x100562be
cmp eax, 0x10000
jae 0x100562ba
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x10056290
mov ebx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
xor eax, eax
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0x64]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xec], 0
jne 0x10056337
mov esi, dword [ebx + 0x20]
mov eax, esi
mov ecx, dword [ebp - 0xc8]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10056320
test dl, dl
je 0x1005631c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10056320
add eax, 2
add ecx, 2
test dl, dl
jne 0x10056300
xor eax, eax
jmp 0x10056325
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0xb8]
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x1005633d
mov ecx, dword [ebx + 8]
jmp 0x10056349
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xd4]
test esi, esi
je 0x10056434
cmp dword [ebp - 0x110], ecx
je 0x100563f7
cmp byte [ebp - 0x114], 0
je 0x100563f7
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x98], eax
lea eax, [ecx + 1]
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0xa0], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xac]
push eax
movlpd qword [ebp - 0x8c], xmm0
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0x94], ecx
call dword [ebp - 0xdc]
mov edx, dword [ebp - 0x90]
add esp, 4
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xc8], eax
lea ecx, [edx - 1]
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
jmp 0x100563fa
mov edx, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edx
cmovl edx, eax
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x1005642d
jbe 0x10056422
lea eax, [edx - 1]
push eax
push esi
push dword [ebp - 0xc8]
call fcn.10074fc0
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp - 0xc8]
mov byte [edx + eax - 1], 0
mov byte [ebp - 0xb0], 1
mov esi, dword [ebp - 0xc4]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xf4], 0
je 0x1005646e
cmp dword [edi + 0x19bc], esi
jne 0x1005646e
call fcn.1000e9d0
cmp byte [ebp - 0xd0], 0
jne 0x1005651c
push 1
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.1000de70
movss xmm1, dword [0x100a9bcc]
add esp, 4
mov ecx, 7
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.1000c960
movss xmm2, dword [edi + 0x154c]
mov dl, 1
mov ecx, eax
call fcn.1000d770
movss xmm4, dword [ebp - 0x4c]
add esp, 0x10
movss xmm7, dword [ebp - 0x48]
movaps xmm1, xmm4
movss xmm3, dword [ebp - 0x118]
movaps xmm0, xmm7
addss xmm0, dword [ebp - 0x104]
addss xmm1, xmm3
movss dword [ebp - 0x3c], xmm4
movaps xmm6, xmm4
movss dword [ebp - 0x38], xmm7
addss xmm6, dword [edi + 0x1544]
movaps xmm5, xmm7
addss xmm5, dword [edi + 0x1548]
movss dword [ebp - 0x14c], xmm1
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x11c], xmm0
jmp 0x1005657d
movss xmm0, dword [ebp - 0x4c]
movss xmm3, dword [ebp - 0x118]
movss xmm1, dword [ebp - 0x48]
movaps xmm2, xmm3
mov eax, dword [ebp - 0xfc]
addss xmm2, xmm0
movss dword [ebp - 0x38], xmm1
addss xmm1, dword [ebp - 0x104]
movss dword [ebp - 0x3c], xmm0
movss xmm6, dword [eax + 0xc8]
movss xmm5, dword [eax + 0xcc]
movaps xmm0, xmm2
movss dword [ebp - 0x14c], xmm0
movss dword [ebp - 0x34], xmm0
movaps xmm0, xmm1
movss dword [ebp - 8], xmm2
movss dword [ebp - 0x11c], xmm1
cmp byte [ebp - 0xdd], 0
movss dword [ebp - 0x12c], xmm5
movss dword [ebp - 0xf4], xmm5
movss dword [ebp - 0x30], xmm0
movss dword [ebp - 0x100], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x108], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0x130], xmm6
movss dword [ebp - 0xdc], xmm6
movss dword [ebp - 0x10c], xmm6
movss dword [ebp - 0x124], xmm0
movss dword [ebp - 0xd8], xmm5
je 0x100565e2
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc8], eax
mov dh, byte [ebp - 0xbb]
mov dword [ebp - 0xc4], 0
test dh, dh
je 0x10056625
mov eax, dword [ebp - 0xf8]
mov ecx, eax
mov dword [ebp - 0xc8], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10056607
sub ecx, edx
mov edx, dword [ebp - 0xf8]
lea eax, [ecx + edx]
mov dh, byte [ebp - 0xbb]
mov dword [ebp - 0xc4], eax
mov ch, byte [ebp - 0xb9]
mov cl, byte [ebp - 0xaf]
test ch, ch
jne 0x10056a06
test cl, cl
jne 0x10056a06
cmp byte [ebp - 0xd0], cl
je 0x100566af
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov dl, byte [eax]
lea edi, [eax + 1]
test dl, dl
je 0x10056672
nop word [eax + eax]
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [edi]
cmovne eax, ecx
inc edi
mov ecx, eax
test dl, dl
jne 0x10056660
mov al, byte [edi - 1]
dec edi
mov dword [ebp - 0xc4], edi
cmp al, 0xa
je 0x10056685
cmp al, 0xd
je 0x10056685
inc ecx
mov eax, dword [ebp - 0xb8]
movaps xmm0, xmm3
movd xmm7, ecx
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x124], xmm0
mulss xmm7, dword [eax + 0x18bc]
movss dword [ebp - 0xd8], xmm7
jmp 0x10056715
test dh, dh
jne 0x100566fa
cmp dword [edi + 0x19bc], esi
jne 0x100566ce
mov edi, dword [ebx + 8]
mov ebx, dword [ebp - 0xc8]
add edi, ebx
mov dword [ebp - 0xc4], edi
jmp 0x10056706
mov ebx, dword [ebp - 0xc8]
mov ecx, ebx
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100566e0
sub ecx, edx
mov dh, byte [ebp - 0xbb]
lea edi, [ebx + ecx]
mov dword [ebp - 0xc4], edi
jmp 0x10056706
mov edi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xc8]
mov eax, edi
sub eax, ebx
cmp eax, 0x200000
jge 0x10056915
movss xmm1, dword [0x100a9bcc]
movzx ecx, dh
call fcn.1000c960
mov ecx, dword [ebp - 0xb8]
lea edx, [ebp - 0x3c]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 8], eax
mov ebx, dword [ecx + 0x18b8]
movss xmm2, dword [ecx + 0x18bc]
xor ecx, ecx
cmp byte [ebp - 0xd0], cl
mov esi, dword [esi + 0x26c]
cmovne edx, ecx
test eax, 0xff000000
je 0x10056853
cmp dword [ebp - 0xc4], ecx
jne 0x10056786
mov ecx, dword [ebp - 0xc8]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10056772
mov eax, dword [ebp - 0xc8]
sub ecx, edi
lea edi, [eax + ecx]
jmp 0x1005678c
mov eax, dword [ebp - 0xc8]
cmp eax, edi
je 0x10056853
test ebx, ebx
jne 0x1005679e
mov eax, dword [esi + 0x28]
mov ebx, dword [eax + 8]
ucomiss xmm2, dword [0x100a9b10]
lahf
test ah, 0x44
jp 0x100567b3
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x148], xmm0
test edx, edx
je 0x1005681f
movss xmm0, dword [ebp - 0x148]
maxss xmm0, dword [edx]
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ebp - 0x144]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x144], xmm0
movss xmm0, dword [ebp - 0x140]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x13c]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x13c], xmm0
setne al
movzx eax, al
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x148]
push edi
push dword [ebp - 0xc8]
mov ecx, ebx
push eax
push dword [ebp - 8]
push dword [ebp - 0x12c]
push dword [ebp - 0x130]
push esi
call fcn.10047ac0
mov esi, dword [ebp - 0xb8]
cmp byte [ebp - 0xd0], 0
je 0x10056909
mov ecx, dword [0x10123f50]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0xd8]
addss xmm4, dword [esi + 0x18bc]
movss xmm0, dword [ebp - 0x124]
mov eax, dword [ecx + 0x199c]
addss xmm0, xmm5
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7f], 0
jne 0x100568ff
movss xmm3, dword [eax + 0xc8]
lea ecx, [ebp - 0xc]
movss xmm1, dword [eax + 0xcc]
movaps xmm2, xmm3
addss xmm2, xmm0
movss dword [ebp - 0x20], xmm1
movaps xmm0, xmm1
movss dword [ebp - 0x24], xmm3
addss xmm0, xmm4
movss dword [ebp - 0x1c], xmm2
subss xmm2, xmm3
movss dword [ebp - 0x18], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 8], xmm0
call fcn.1000ea30
push 0
xor edx, edx
lea ecx, [ebp - 0x24]
call fcn.1000eb40
add esp, 4
call fcn.10011390
call fcn.10017100
mov ebx, dword [ebp - 0xc8]
mov edi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x134]
mov cl, byte [ebp - 0xbb]
test dl, dl
je 0x1005693a
test cl, cl
jne 0x1005693a
call fcn.10016630
mov cl, byte [ebp - 0xbb]
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xb8]
cmp byte [eax + 0x2d0c], 0
je 0x10056968
test dl, dl
je 0x10056951
test cl, cl
je 0x10056968
push edi
mov edx, ebx
lea ecx, [ebp - 0x10c]
call fcn.1001c780
mov eax, dword [ebp - 0xb8]
add esp, 4
movss xmm0, dword [ebp - 0x150]
comiss xmm0, dword [0x100a9b10]
jbe 0x100569c1
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [eax + 0x155c]
mov ecx, dword [ebp - 0x15c]
movss dword [ebp - 0x10c], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [eax + 0x1548]
movss dword [ebp - 0x108], xmm0
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
push 1
call fcn.1000d3a0
add esp, 0xc
mov cl, byte [ebp - 0xb0]
test cl, cl
je 0x100569e4
mov eax, dword [0x10123f50]
mov byte [eax + 0x19cf], 1
mov eax, dword [eax + 0x199c]
or dword [eax + 0x10c], 4
test byte [ebp + 0x14], 0x20
movzx eax, cl
movzx ecx, byte [ebp - 0xad]
cmovne eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1006cde1
mov esp, ebp
pop ebp
ret
test dh, dh
jne 0x10056a19
mov eax, dword [ebx + 8]
add eax, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
mov esi, dword [ebx + 0x14]
mov edi, 0xfffffc18
xor edx, edx
mov dword [ebp - 0xe8], esi
movss dword [ebp - 0x114], xmm5
movaps xmm7, xmm5
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0xf0], edi
test ch, ch
je 0x10056a64
mov eax, dword [ebx + 0x3c]
or edi, 0xffffffff
lea eax, [esi + eax*2]
mov dword [ebp - 0xf8], eax
lea edx, [edi + 2]
test cl, cl
je 0x10056a86
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0xf0], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xd0]
xor esi, esi
movzx eax, al
add edx, eax
mov dword [ebp - 0xd4], esi
mov eax, dword [ebp - 0xe8]
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x10056b0a
mov ebx, dword [ebp - 0xf8]
mov esi, eax
cmp si, 0xa
jne 0x10056af0
mov esi, dword [ebp - 0xd4]
inc esi
mov dword [ebp - 0xd4], esi
cmp edi, 0xffffffff
jne 0x10056ad4
cmp ecx, ebx
jb 0x10056ad4
dec edx
mov edi, esi
test edx, edx
jle 0x10056b04
cmp dword [ebp - 0xf0], 0xffffffff
jne 0x10056af0
cmp ecx, dword [ebp - 0x110]
jb 0x10056af0
dec edx
mov dword [ebp - 0xf0], esi
test edx, edx
jle 0x10056b04
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x10056ab1
mov esi, dword [ebp - 0xd4]
mov ebx, dword [ebp - 0x120]
mov edx, dword [ebp - 0xe8]
inc esi
cmp edi, 0xffffffff
mov dword [ebp - 0xd4], esi
mov eax, esi
cmovne eax, edi
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x12c], eax
mov ecx, edi
mov eax, dword [ebp - 0xf0]
cmp eax, 0xffffffff
cmove eax, esi
mov dword [ebp - 0xf0], eax
cmp edi, edx
jbe 0x10056b51
cmp word [ecx - 2], 0xa
je 0x10056b51
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10056b43
mov eax, dword [0x10123f50]
movaps xmm4, xmm5
movss dword [ebp - 0xe4], xmm4
movaps xmm1, xmm5
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x10056bda
nop dword [eax + eax]
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10056b96
maxss xmm4, xmm1
movaps xmm1, xmm5
jmp 0x10056bb8
cmp edx, 0xd
je 0x10056bb8
mov edx, eax
cmp edx, dword [esi]
jge 0x10056bab
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10056bb0
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10056b80
comiss xmm1, xmm4
mov edx, dword [ebp - 0xe8]
movss dword [ebp - 0xe4], xmm4
jbe 0x10056bda
movaps xmm4, xmm1
movss dword [ebp - 0xe4], xmm4
cmp dword [ebp - 0xf0], 0
movd xmm3, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xb8]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18bc]
mulss xmm3, xmm0
movss dword [ebp - 0x12c], xmm3
jl 0x10056cb6
mov edi, dword [ebp - 0x110]
mov ecx, edi
cmp edi, edx
jbe 0x10056c26
cmp word [ecx - 2], 0xa
je 0x10056c26
add ecx, 0xfffffffe
cmp ecx, edx
ja 0x10056c18
mov eax, dword [0x10123f50]
movaps xmm1, xmm5
mov esi, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [esi + 0x10]
cmp ecx, edi
jae 0x10056c89
movzx eax, word [ecx]
add ecx, 2
mov edx, eax
cmp eax, 0xa
jne 0x10056c5b
maxss xmm7, xmm1
movaps xmm1, xmm5
jmp 0x10056c7d
cmp edx, 0xd
je 0x10056c7d
mov edx, eax
cmp edx, dword [esi]
jge 0x10056c70
mov eax, dword [esi + 8]
movss xmm0, dword [eax + edx*4]
jmp 0x10056c75
movss xmm0, dword [esi + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp ecx, edi
jb 0x10056c45
comiss xmm1, xmm7
jbe 0x10056c89
movaps xmm7, xmm1
movd xmm3, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xb8]
cvtdq2ps xmm3, xmm3
movss xmm0, dword [ecx + 0x18bc]
mulss xmm3, xmm0
movss dword [ebp - 0x114], xmm3
movss xmm3, dword [ebp - 0x12c]
mov edx, dword [ebp - 0xd0]
test dl, dl
je 0x10056cec
movd xmm5, dword [ebp - 0xd4]
cvtdq2ps xmm5, xmm5
mulss xmm5, xmm0
movss dword [ebp - 0xd8], xmm5
movss xmm5, dword [ebp - 0x118]
movaps xmm0, xmm5
movss dword [ebp - 0x124], xmm0
jmp 0x10056cf4
movss xmm5, dword [ebp - 0x118]
cmp byte [ebp - 0xb9], 0
je 0x10056dc9
cmp byte [ebx + 0xe64], 0
je 0x10056dc9
test dword [ebp + 0x14], 0x1000
jne 0x10056d5b
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm5
comiss xmm2, xmm4
mulss xmm0, dword [0x100a9b7c]
movaps xmm1, xmm4
jbe 0x10056d3c
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10056d49
subss xmm1, xmm5
comiss xmm1, xmm2
jb 0x10056d62
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x10056d62
mov dword [ebx + 0x38], 0
test dl, dl
je 0x10056dc2
mov eax, dword [ebp - 0xfc]
movaps xmm1, xmm3
subss xmm1, dword [ecx + 0x18bc]
movss xmm5, dword [eax + 0x5c]
comiss xmm5, xmm1
jbe 0x10056d8a
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10056d99
movaps xmm0, xmm3
subss xmm0, dword [ebp - 0x104]
maxss xmm0, xmm5
subss xmm5, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm5, dword [eax + 0xcc]
movss dword [ebp - 0xf4], xmm5
movss dword [eax + 0xcc], xmm5
movss dword [ebp - 0x108], xmm5
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0xaf], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0x104], xmm4
je 0x10057074
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
mov edi, dword [ebp - 0xe8]
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb9], 0
lea esi, [edi + eax*2]
lea edi, [edi + edx*2]
je 0x10056e12
movss xmm1, dword [0x100a9bcc]
jmp 0x10056e1a
movss xmm1, dword [0x100a9b98]
mov ecx, 0x2a
call fcn.1000c960
cmp byte [ebp - 0xd0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x110], eax
je 0x10056e43
movss dword [ebp - 0x154], xmm0
xorps xmm6, xmm6
jmp 0x10056e4b
movss xmm6, dword [0x100a9c24]
movss xmm5, dword [ebp - 0xf4]
movss xmm4, dword [ebp - 0xdc]
movss dword [ebp - 0xf8], xmm6
addss xmm4, xmm7
addss xmm5, dword [ebp - 0x114]
subss xmm4, dword [ebp - 0x104]
subss xmm5, xmm0
movss dword [ebp - 0x114], xmm5
cmp esi, edi
jae 0x10057064
movss xmm7, dword [ebp - 0x100]
mov ebx, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xb8]
nop
movaps xmm0, xmm7
addss xmm0, dword [ecx + 0x18bc]
comiss xmm5, xmm0
ja 0x1005705e
movss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm5
jbe 0x10056edf
cmp esi, edi
jae 0x1005702e
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x1005702e
cmp esi, edi
jb 0x10056ec6
jmp 0x1005702e
mov eax, dword [0x10123f50]
xorps xmm0, xmm0
xorps xmm3, xmm3
xorps xmm1, xmm1
mov edx, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x10056f4a
movzx eax, word [esi]
add esi, 2
mov ecx, eax
cmp eax, 0xa
je 0x10056f37
cmp ecx, 0xd
je 0x10056f31
cmp ecx, dword [edx]
jge 0x10056f24
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x10056f29
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x10056f04
jmp 0x10056f41
xorps xmm3, xmm3
maxss xmm3, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xb8]
xorps xmm0, xmm0
maxss xmm1, xmm3
comiss xmm0, xmm1
jb 0x10056f83
mov eax, dword [ecx + 0x18b8]
cmp dword [eax], 0x20
jle 0x10056f6b
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x10056f70
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100a9b90]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x154]
addss xmm1, xmm4
subss xmm2, dword [ecx + 0x18bc]
addss xmm4, dword [0x100a9b10]
movss xmm3, dword [ebp - 0x14c]
movaps xmm0, xmm6
movss xmm6, dword [ebp - 0x4c]
addss xmm0, xmm5
minss xmm1, xmm3
addss xmm2, xmm5
maxss xmm4, xmm6
minss xmm0, xmm7
movss dword [ebp - 0x1c], xmm1
maxss xmm2, dword [ebp - 0x48]
movss dword [ebp - 0x24], xmm4
comiss xmm0, dword [ebp - 0x13c]
movss dword [ebp - 0x20], xmm2
movss dword [ebp - 0x18], xmm0
jbe 0x1005702e
comiss xmm7, xmm2
jbe 0x1005702e
comiss xmm1, xmm6
jbe 0x1005702e
comiss xmm3, xmm4
jbe 0x1005702e
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x1c]
push ebx
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x26c]
call fcn.10044bd0
movss xmm5, dword [ebp - 0x114]
movss xmm7, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xb8]
movss xmm4, dword [ebp - 0xdc]
movss xmm6, dword [ebp - 0xf8]
addss xmm5, dword [ecx + 0x18bc]
subss xmm4, dword [ebp - 0x104]
movss dword [ebp - 0x114], xmm5
cmp esi, edi
jb 0x10056ea0
mov ebx, dword [ebp - 0x120]
movss xmm6, dword [ebp - 0xdc]
movss xmm4, dword [ebp - 0x104]
cmp byte [ebp - 0xd0], 0
mov edx, dword [ebp - 0xc4]
jne 0x10057096
mov eax, edx
sub eax, dword [ebp - 0xc8]
cmp eax, 0x200000
jge 0x100572db
movzx eax, byte [ebp - 0xbb]
xorps xmm5, xmm5
mov ecx, dword [0x10123f50]
add eax, eax
movups xmm1, xmmword [ecx + eax*8 + 0x15b8]
comiss xmm5, xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xff
mulss xmm2, dword [ecx + 0x1510]
movups xmmword [ebp - 0x24], xmm1
jbe 0x100570cd
xorps xmm0, xmm0
jmp 0x100570d9
movss xmm0, dword [0x100a9bcc]
minss xmm0, xmm1
movss xmm1, dword [0x100a9cd8]
movss xmm7, dword [0x100a9b90]
movss xmm3, dword [ebp - 0x20]
comiss xmm5, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x10057104
xorps xmm0, xmm0
jmp 0x10057110
movss xmm0, dword [0x100a9bcc]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0x1c]
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x10057130
xorps xmm0, xmm0
jmp 0x1005713c
movss xmm0, dword [0x100a9bcc]
minss xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm2
jbe 0x10057157
xorps xmm0, xmm0
jmp 0x10057163
movss xmm0, dword [0x100a9bcc]
minss xmm0, xmm2
mov eax, dword [ebp - 0xfc]
mulss xmm0, xmm1
mov dword [ebp - 0x14c], 0
mov esi, dword [eax + 0x26c]
mov eax, dword [ebp - 0xb8]
addss xmm0, xmm7
movss xmm2, dword [eax + 0x18bc]
cvttss2si edi, xmm0
movaps xmm0, xmm6
subss xmm0, xmm4
shl edi, 0x18
or edi, ecx
mov ecx, dword [eax + 0x18b8]
cmp byte [ebp - 0xd0], 0
mov eax, edx
lea edx, [ebp - 0x3c]
mov dword [ebp - 0xf8], ecx
cmovne edx, dword [ebp - 0x14c]
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0xf4]
mov dword [ebp - 0x13c], eax
subss xmm0, xmm5
movss dword [ebp - 0x154], xmm0
test edi, 0xff000000
je 0x100572de
cmp dword [ebp - 0xc4], 0
jne 0x10057225
mov ecx, dword [ebp - 0xc8]
lea eax, [ecx + 1]
mov dword [ebp - 0x13c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057204
sub ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0xc8]
add eax, ecx
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0xc8], eax
je 0x100572de
test ecx, ecx
jne 0x10057241
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xf8], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x10057252
mov eax, dword [esi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [ebp - 0x24], xmm0
test edx, edx
je 0x100572a3
movss xmm0, dword [ebp - 0x24]
maxss xmm0, dword [edx]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x20]
maxss xmm0, dword [edx + 4]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x1c]
minss xmm0, dword [edx + 8]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
minss xmm0, dword [edx + 0xc]
movss dword [ebp - 0x18], xmm0
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0x24]
mov dword [esp], 0
push dword [ebp - 0x13c]
push dword [ebp - 0xc8]
push eax
push edi
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push esi
call fcn.10047ac0
xorps xmm5, xmm5
cmp byte [ebp - 0xb9], 0
je 0x10056853
mov esi, dword [ebp - 0xb8]
movss xmm0, dword [esi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [esi + 0xae], 0
je 0x10057353
comiss xmm5, xmm0
jae 0x10057353
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x140], xmm0
fld qword [ebp - 0x140]
fld qword [0x100a9c18]
call fcn.10089b80
movss xmm0, dword [0x100a9bb4]
fstp qword [ebp - 0x140]
movsd xmm1, qword [ebp - 0x140]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10057353
xor al, al
jmp 0x10057355
mov al, 1
movss xmm3, dword [ebp - 0xf4]
movss xmm4, dword [ebp - 0xdc]
movss xmm6, dword [0x100a9bcc]
addss xmm3, dword [ebp - 0x12c]
addss xmm4, dword [ebp - 0xe4]
subss xmm3, dword [0x100a9b10]
subss xmm4, dword [ebp - 0x104]
movss dword [ebp - 0xf4], xmm3
movaps xmm0, xmm3
movss dword [ebp - 0xdc], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0x24], xmm4
movaps xmm1, xmm3
addss xmm2, xmm6
subss xmm0, dword [esi + 0x18bc]
subss xmm1, dword [0x100a9bf8]
movss dword [ebp - 0x1c], xmm2
addss xmm0, dword [0x100a9b90]
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x20], xmm0
test al, al
je 0x10057451
comiss xmm1, dword [ebp - 0x48]
jbe 0x10057451
movss xmm5, dword [ebp - 0x11c]
comiss xmm5, xmm0
jbe 0x10057451
comiss xmm2, dword [ebp - 0x4c]
jbe 0x10057451
movss xmm0, dword [ebp - 8]
comiss xmm0, xmm4
jbe 0x10057451
sub esp, 8
movss dword [ebp - 8], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0xc], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1000c960
add esp, 4
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 0x26c]
call fcn.100449d0
movss xmm3, dword [ebp - 0xf4]
movss xmm4, dword [ebp - 0xdc]
movss xmm6, dword [0x100a9bcc]
cmp byte [ebp - 0xec], 0
jne 0x10056859
subss xmm3, dword [esi + 0x18bc]
subss xmm4, xmm6
movss dword [esi + 0x2cd4], xmm3
movss dword [esi + 0x2cd0], xmm4
jmp 0x10056859