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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
mov eax, dword [0x100b7018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [0x10124700]
mov ebx, esi
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xec], eax
mov eax, dword [ebx + 0x199c]
push edi
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x158], ecx
mov byte [eax + 0x7c], 1
mov edi, dword [ebx + 0x199c]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0x110], edi
cmp byte [edi + 0x7f], 0
jne 0x100559f9
mov edx, dword [ebp + 0x14]
mov eax, edx
shr eax, 0xe
mov ecx, edx
and eax, 0xffffff01
shr ecx, 0x14
mov dword [ebp - 0xf4], eax
and ecx, 0xffffff01
mov eax, edx
mov dword [ebp - 0xd4], ecx
shr eax, 0xf
and eax, 0xffffff01
mov dword [ebp - 0x148], eax
mov eax, edx
shr eax, 0x10
not al
and eax, 0xffffff01
mov dword [ebp - 0x104], eax
mov eax, edx
shr eax, 0x12
and eax, 0xffffff01
mov dword [ebp - 0x138], eax
test cl, cl
je 0x10055680
call fcn.10017c50
mov esi, dword [0x10124700]
mov ecx, dword [edi + 0x1c4]
xor edx, edx
mov eax, dword [edi + 0x1cc]
mov edi, dword [ebp - 0x158]
push dword [eax + ecx*4 - 4]
mov ecx, edi
call fcn.1000c9a0
add esp, 4
mov dword [ebp - 0xcc], eax
cmp dword [esi + 0x19bc], eax
jne 0x100556b6
mov dword [esi + 0x19c4], eax
cmp dword [esi + 0x19c0], eax
jne 0x100556c5
mov byte [esi + 0x19d0], 1
mov ecx, edi
cmp edi, 0xffffffff
jae 0x100556e6
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x100556e6
cmp dl, 0x23
jne 0x100556e0
cmp byte [ecx + 1], dl
je 0x100556e6
inc ecx
cmp ecx, 0xffffffff
jb 0x100556d0
movss xmm0, dword [0x100aae18]
movss xmm4, dword [esi + 0x18bc]
movss dword [ebp - 0x14c], xmm0
cmp edi, ecx
jne 0x1005570f
xorps xmm7, xmm7
movss dword [ebp - 0x154], xmm7
jmp 0x10055766
movss xmm3, dword [0x100aadf4]
lea eax, [ebp - 0x118]
push 0
push ecx
push edi
push ecx
mov ecx, dword [esi + 0x18b8]
movaps xmm2, xmm4
mov dword [esp], 0xbf800000
push eax
call fcn.10048ca0
movss xmm0, dword [ebp - 0x118]
xorps xmm7, xmm7
addss xmm0, dword [0x100aac9c]
movss xmm4, dword [ebp - 0x114]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x154], xmm0
cmp byte [ebp - 0xd4], 0
je 0x1005577f
movss xmm4, dword [esi + 0x18bc]
mulss xmm4, dword [0x100aad50]
mov edi, dword [esi + 0x199c]
movss xmm2, dword [edi + 0x170]
comiss xmm7, xmm2
jbe 0x10055800
movss xmm3, dword [edi + 0xc8]
movss xmm1, dword [edi + 0x218]
mov ebx, dword [edi + 0x1c0]
subss xmm3, dword [edi + 0xc]
subss xmm1, dword [edi + 0xc]
test ebx, ebx
je 0x100557e6
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 ebx, dword [ebp - 0xbc]
subss xmm1, xmm3
addss xmm1, xmm2
movss xmm2, dword [0x100aaca4]
maxss xmm2, xmm1
movss xmm5, dword [ebx + 0x1548]
xorps xmm1, xmm1
cvttss2si eax, xmm2
movaps xmm3, xmm5
xorps xmm2, xmm2
addss xmm3, xmm5
movd xmm6, eax
mov eax, dword [ebp + 0x10]
addss xmm3, xmm4
cvtdq2ps xmm6, xmm6
movss xmm4, dword [eax]
comiss xmm7, xmm4
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x134], xmm4
movss dword [ebp - 0x144], xmm0
ja 0x1005584a
comiss xmm7, xmm0
jbe 0x100558b0
movss xmm1, dword [edi + 0x218]
movss xmm2, dword [edi + 0x21c]
mov ebx, dword [edi + 0x1c0]
subss xmm1, dword [edi + 0xc]
subss xmm2, dword [edi + 0x10]
test ebx, ebx
je 0x1005589e
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 ebx, dword [ebp - 0xbc]
mov eax, edi
addss xmm1, dword [eax + 0xc]
addss xmm2, dword [eax + 0x10]
comiss xmm7, xmm4
movss xmm0, dword [0x100aad34]
jb 0x100558ee
ucomiss xmm4, xmm7
lahf
test ah, 0x44
jp 0x100558d3
movaps xmm4, xmm6
movss dword [ebp - 0x134], xmm4
jmp 0x100558ee
subss xmm1, dword [edi + 0xc8]
maxss xmm1, xmm0
addss xmm1, xmm4
movaps xmm4, xmm1
movss dword [ebp - 0x134], xmm1
movss xmm6, dword [ebp - 0x144]
comiss xmm7, xmm6
jb 0x10055921
ucomiss xmm6, xmm7
lahf
test ah, 0x44
jp 0x10055909
movaps xmm6, xmm3
jmp 0x10055919
subss xmm2, dword [edi + 0xcc]
maxss xmm2, xmm0
addss xmm6, xmm2
movss dword [ebp - 0x144], xmm6
mov esi, dword [ebp - 0x110]
movaps xmm0, xmm4
movss xmm2, dword [ebp - 0x154]
comiss xmm2, xmm7
movss xmm4, dword [esi + 0xcc]
movss xmm3, dword [esi + 0xc8]
movaps xmm1, xmm4
addss xmm0, xmm3
movss dword [ebp - 0x4c], xmm3
addss xmm1, xmm6
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x40], xmm1
jbe 0x10055970
addss xmm2, dword [ebx + 0x155c]
jmp 0x10055973
xorps xmm2, xmm2
cmp byte [ebp - 0xd4], 0
addss xmm0, xmm2
addss xmm1, xmm7
movss dword [ebp - 0x2c], xmm3
movss dword [ebp - 0x28], xmm4
mov dword [ebp - 0x100], esi
movss dword [ebp - 0x24], xmm0
movss dword [ebp - 0x20], xmm1
je 0x10055a8c
mov edi, dword [ebp - 0xcc]
lea eax, [ebp - 0x4c]
push eax
mov edx, edi
lea ecx, [ebp - 0x2c]
call fcn.1000f4a0
add esp, 4
test al, al
jne 0x10055a0c
movss xmm0, dword [ebp - 0x24]
lea ecx, [ebp - 0x118]
subss xmm0, dword [ebp - 0x2c]
movss xmm1, dword [ebx + 0x1548]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x114], xmm0
call fcn.1000f390
call fcn.10017d80
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006e641
mov esp, ebp
pop ebp
ret
movss xmm0, dword [ebp - 0x44]
lea edx, [ebp - 0x118]
subss xmm0, dword [ebp - 0x4c]
push 0
mov ecx, edi
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x114], xmm0
call fcn.10012070
add esp, 4
test al, al
jne 0x10055a4d
call fcn.10011eb0
jmp 0x100559f4
mov ecx, dword [0x10124700]
movss xmm0, dword [ebp - 0x134]
mov eax, dword [ecx + 0x199c]
mov byte [eax + 0x7c], 1
mov ecx, dword [ecx + 0x199c]
mov dword [ebp - 0x100], ecx
subss xmm0, dword [ecx + 0x70]
mov eax, dword [ecx + 0x134]
or dword [ecx + 0x13c], eax
movss dword [ebp - 0x134], xmm0
jmp 0x10055acf
subss xmm1, xmm4
subss xmm0, xmm3
lea ecx, [ebp - 0x118]
movss dword [ebp - 0x114], xmm1
movaps xmm1, xmm5
movss dword [ebp - 0x118], xmm0
call fcn.1000f390
mov edx, dword [ebp - 0xcc]
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000f4a0
add esp, 4
test al, al
je 0x100559f9
mov edx, dword [ebp - 0xcc]
lea ecx, [ebp - 0x4c]
call fcn.1000f730
mov byte [ebp - 0xc0], al
test al, al
je 0x10055af1
mov dword [ebx + 0x1d04], 1
lea edi, [ebx + 0x1dc4]
xor eax, eax
cmp dword [edi], edx
mov ebx, edi
mov ecx, esi
cmovne ebx, eax
mov dword [ebp - 0x108], ebx
call fcn.1000f8a0
mov edx, dword [ebp - 0xbc]
mov byte [ebp - 0xe1], al
test al, al
je 0x10055b93
cmp dword [edx + 0x1bb8], esi
jne 0x10055b93
mov ecx, dword [edx + 0x1bc0]
cmp ecx, dword [esi + 0x164]
jne 0x10055b93
mov byte [ebp - 0xb5], 1
mov byte [ebp - 0xc7], 0
cmp byte [ebp - 0xc0], 0
je 0x10055b5a
cmp byte [edx + 0x3d8], 0
mov byte [ebp - 0xb4], 1
jne 0x10055b61
mov byte [ebp - 0xb4], 0
mov esi, dword [edx + 0x19bc]
mov eax, dword [ebp - 0xcc]
cmp esi, eax
je 0x10055bae
cmp dword [edx + 0x1ac0], eax
je 0x10055b8a
cmp dword [edx + 0x1ab4], eax
jne 0x10055bae
cmp dword [edx + 0x1ad4], 3
jne 0x10055bae
mov byte [ebp - 0xb2], 1
jmp 0x10055bb5
mov byte [ebp - 0xb5], 0
test al, al
je 0x10055b3a
mov byte [ebp - 0xc7], 1
mov byte [ebp - 0xb5], 0
jmp 0x10055b41
mov byte [ebp - 0xb2], 0
mov eax, dword [ebp - 0xd4]
test al, al
je 0x10055c09
test ebx, ebx
je 0x10055c09
test esi, esi
jne 0x10055c09
mov eax, dword [ebp - 0x100]
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.1000c9a0
mov ecx, dword [ebp - 0xbc]
add esp, 4
cmp dword [ecx + 0x19c0], eax
jne 0x10055c03
mov byte [ebp - 0xb1], 1
jmp 0x10055c1f
mov eax, dword [ebp - 0xd4]
mov byte [ebp - 0xb1], 0
test al, al
je 0x10055c4c
mov byte [ebp - 0xb1], 0
test ebx, ebx
je 0x10055c4c
mov eax, dword [ebp - 0x100]
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.1000c9a0
add esp, 4
cmp esi, eax
jne 0x10055c4c
mov al, 1
jmp 0x10055c4e
xor al, al
mov edx, dword [ebp - 0xcc]
mov cl, byte [ebp - 0xb2]
mov byte [ebp - 0xb3], al
mov byte [ebp - 0xfc], 0
cmp esi, edx
je 0x10055c85
test byte [ebp + 0x14], 0x10
jne 0x10055c75
test cl, cl
je 0x10055c85
cmp byte [ebp - 0xd4], 0
mov byte [ebp - 0xe8], 1
je 0x10055c8c
mov byte [ebp - 0xe8], 0
cmp byte [ebp - 0xe1], 0
mov dword [ebp - 0x10c], 1
jne 0x10055cca
cmp byte [ebp - 0xb4], 0
jne 0x10055cca
cmp byte [ebp - 0xb1], 0
jne 0x10055cca
test cl, cl
jne 0x10055cca
mov byte [ebp - 0xb1], cl
test al, al
jne 0x10055cd1
mov byte [ebp - 0xc8], al
jmp 0x10055f18
mov byte [ebp - 0xb1], 1
mov byte [ebp - 0xc8], 1
mov dword [ebp - 0x108], ebx
cmp esi, edx
je 0x10055f18
mov ecx, dword [ebp - 0xc4]
mov ebx, edi
mov dword [ebp - 0x108], ebx
mov dword [ebx + 0xe60], 0xbe99999a
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10055d01
mov edi, dword [ebx + 0x28]
lea eax, [ebx + 0x24]
sub ecx, edx
lea esi, [ecx + 1]
cmp esi, edi
jle 0x10055d40
test edi, edi
je 0x10055d28
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10055d2d
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x24]
push eax
call fcn.100204f0
lea eax, [ebx + 0x24]
push esi
push dword [ebp - 0xc4]
mov dword [eax], esi
push dword [ebx + 0x2c]
call fcn.10070330
mov edi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov esi, dword [eax + 4]
inc edi
add esp, 0xc
cmp edi, esi
jle 0x10055d8b
test esi, esi
je 0x10055d73
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, esi
jmp 0x10055d78
mov ecx, 8
cmp ecx, edi
mov eax, edi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.100207c0
lea eax, [ebx + 0xc]
mov dword [eax], edi
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
jns 0x10055dad
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.100204f0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc4]
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 - 0xd0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x10055e25
cmp byte [edi], 0
je 0x10055e1f
push 0
mov edx, edi
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x10055e19
cmp eax, 0x10000
jae 0x10055e06
mov word [esi], ax
add esi, 2
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xd0]
dec eax
lea eax, [ecx + eax*2]
cmp esi, eax
jb 0x10055dd6
jmp 0x10055e1f
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov eax, dword [ebp - 0xcc]
sar esi, 1
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
cmp dword [ebx], eax
jne 0x10055e64
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 0x10055edc
mov ecx, dword [ebp - 0xd4]
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 0x10055ee2
mov ecx, dword [ebp - 0xe8]
cmp byte [ebp - 0xb5], 0
movzx ecx, cl
cmovne ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0xd4]
test dword [ebp + 0x14], 0x2000
je 0x10055eef
mov byte [ebx + 0x48], 1
test cl, cl
jne 0x10055f18
cmp byte [ebp - 0xc7], cl
jne 0x10055f11
cmp byte [ebp - 0xb4], cl
je 0x10055f18
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0xf8], cl
je 0x10055f18
mov byte [ebp - 0xe8], 1
mov edx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
cmp dword [edx + 0x19bc], esi
je 0x10055f93
cmp byte [ebp - 0xb1], 0
je 0x10055f8b
mov edi, dword [ebp - 0x110]
mov ecx, esi
mov edx, edi
call fcn.1000f1d0
call fcn.1000f280
mov ecx, edi
call fcn.10016dc0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp + 0x14]
mov dword [edx + 0x19d8], 2
test eax, 0x440
je 0x10055f74
mov dword [edx + 0x19d8], 0x20002
cmp byte [ebp - 0xd4], 0
jne 0x10055f8b
test al, al
js 0x10055f8b
mov dword [edx + 0x19d4], 0xc
cmp dword [edx + 0x19bc], esi
jne 0x10055fa2
test ebx, ebx
jne 0x10055fa2
call fcn.1000f330
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x19bc]
cmp eax, esi
jne 0x10055fdb
cmp byte [edx + 0x3d8], 0
je 0x10055fdb
cmp byte [ebp - 0xc8], 0
jne 0x10055fdb
mov ecx, dword [ebp - 0xfc]
cmp byte [ebp - 0xb1], 0
movzx ecx, cl
cmove ecx, dword [ebp - 0x10c]
mov dword [ebp - 0xfc], ecx
cmp byte [ebp - 0xf4], 0
je 0x100560fd
test ebx, ebx
je 0x100560fd
cmp eax, esi
je 0x10056001
cmp byte [ebp - 0xb3], 0
jne 0x10056001
xor cl, cl
jmp 0x10056003
mov cl, 1
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x1005600f
test cl, cl
jne 0x10056017
test cl, cl
je 0x100560fd
mov esi, dword [ebp + 0xc]
lea eax, [ebx + 0xc]
mov edi, dword [eax + 4]
inc esi
cmp esi, edi
jle 0x1005604e
test edi, edi
je 0x10056036
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1005603b
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.100207c0
lea eax, [ebx + 0xc]
mov edx, dword [ebp - 0xc4]
mov edi, edx
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd0], ecx
lea eax, [ecx + eax*2]
cmp ecx, eax
jae 0x100560be
nop dword [eax]
cmp byte [edi], 0
je 0x100560b8
push 0
mov edx, edi
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
add edi, eax
add esp, 4
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x100560b2
cmp eax, 0x10000
jae 0x100560a0
mov word [esi], ax
add esi, 2
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp + 0xc]
lea eax, [ecx + edx*2]
cmp esi, eax
jb 0x10056070
jmp 0x100560b8
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xc4]
xor eax, eax
sub edi, edx
mov word [esi], ax
sub esi, ecx
mov edx, dword [ebp - 0xbc]
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 dword [ebx + 0x44], esi
mov dword [ebx + 8], edi
cmovl esi, dword [ebx + 0x44]
mov dword [ebx + 0x44], esi
mov esi, dword [ebp - 0xcc]
mov dword [ebx + 0x40], ecx
mov ecx, dword [edx + 0x19bc]
cmp ecx, esi
je 0x1005611d
test ebx, ebx
je 0x10056114
cmp byte [ebp - 0xb3], 0
jne 0x1005611d
mov byte [ebp - 0xb4], 0
jmp 0x10056124
mov byte [ebp - 0xb4], 1
test ebx, ebx
je 0x10056151
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
mov al, byte [ebp - 0xb4]
je 0x10056157
test al, al
je 0x10056157
mov byte [ebp - 0xaf], 1
mov byte [ebp - 0xb0], 0
mov byte [ebp - 0xad], 0
jmp 0x1005617a
mov al, byte [ebp - 0xb4]
mov byte [ebp - 0xb0], 0
mov byte [ebp - 0xad], 0
mov byte [ebp - 0xaf], 0
test al, al
jne 0x1005617a
mov byte [ebp - 0xaf], al
cmp ecx, esi
jne 0x10056191
cmp byte [ebp - 0xf4], 0
jne 0x10056191
test ebx, ebx
je 0x10056191
cmp byte [ebx + 0x30], 0
je 0x10056191
mov al, 1
jmp 0x10056193
xor al, al
cmp dword [ebp - 0x13c], 0
mov byte [ebp - 0xe1], al
je 0x100561ba
test al, al
je 0x100561ab
mov eax, dword [ebx + 0x20]
jmp 0x100561b1
mov eax, dword [ebp - 0xc4]
cmp byte [eax], 0
jne 0x100561ba
mov al, 1
jmp 0x100561bc
xor al, al
cmp byte [ebp - 0x148], 0
mov byte [ebp - 0xb5], al
je 0x10056277
test al, al
jne 0x10056277
mov esi, dword [edx + 0x18b8]
cmp dword [esi + 0x14], 0x2a
jg 0x100561e8
mov edi, dword [esi + 0x2c]
jmp 0x10056207
mov eax, dword [esi + 0x1c]
mov ecx, 0xffff
movzx eax, word [eax + 0x54]
cmp ax, cx
jne 0x100561fe
mov edi, dword [esi + 0x2c]
jmp 0x10056207
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x28]
lea edi, [eax + ecx*8]
mov eax, dword [esi + 0x10]
add edx, 0x2c38
mov esi, dword [ebp - 0xbc]
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.10017190
mov esi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xf8], 0
cmp dword [edx + 0x19bc], esi
jne 0x100565bb
mov eax, dword [ebx + 8]
mov dword [ebp - 0xf8], 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 + 0xe6c], eax
mov eax, dword [ebp - 0xec]
mov dword [ebx + 0xe70], eax
cmp byte [edx + 0xe8], 0
mov dword [edx + 0x2f28], 1
sete al
cmp byte [ebp - 0xd4], 0
mov byte [edx + 0x19cd], al
movss xmm7, dword [edx + 0xe0]
subss xmm7, dword [ebp - 0x4c]
subss xmm7, dword [edx + 0x1544]
addss xmm7, dword [ebx + 0x38]
je 0x1005631a
mov eax, dword [ebp - 0x100]
movss xmm2, dword [edx + 0xe4]
subss xmm2, dword [eax + 0xcc]
subss xmm2, dword [edx + 0x1548]
jmp 0x1005632a
movss xmm2, dword [edx + 0x18bc]
mulss xmm2, dword [0x100aac68]
cmp byte [ebp - 0xe8], 0
mov al, byte [edx + 0xad]
mov byte [ebp - 0xd5], al
jne 0x100564a2
mov cl, byte [ebp - 0xc0]
test cl, cl
je 0x1005635d
test al, al
jne 0x100563bf
cmp byte [edx + 0x3dd], al
jne 0x100564a2
cmp byte [edx + 0x3d8], 0
lea esi, [ebx + 0xe65]
mov al, byte [esi]
je 0x10056419
test al, al
jne 0x10056419
test cl, cl
je 0x100563b8
cmp byte [ebx + 0x4c], al
je 0x10056397
push 0
mov edx, ebx
lea ecx, [ebp - 0x1c]
call fcn.10053b80
movss xmm2, dword [ebp - 0x10]
add esp, 4
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10053e90
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
mov ecx, esi
jmp 0x100564bf
cmp byte [edx + 0x3dd], 0
je 0x1005635d
push 0x1000c
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10054280
add esp, 4
mov byte [ebx + 0xe64], 1
lea edx, [ebx + 0x3c]
mov dword [ebx + 0xe60], 0xbe99999a
mov ecx, ebx
push 0x3000d
call fcn.10054280
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
lea ecx, [ebx + 0xe65]
jmp 0x100564bf
cmp byte [edx + 0xe8], 0
mov ecx, esi
je 0x100564bf
test al, al
jne 0x100564bf
movss xmm0, dword [edx + 0x374]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10056455
movss xmm0, dword [edx + 0x378]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100564bf
cmp byte [ebx + 0x4c], 0
je 0x1005646f
push 0
mov edx, ebx
lea ecx, [ebp - 0x1c]
call fcn.10053b80
movss xmm2, dword [ebp - 0x10]
add esp, 4
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x1005647d
mov eax, dword [ebx + 0x3c]
mov dword [ebx + 0x40], eax
movaps xmm1, xmm7
mov ecx, ebx
call fcn.10053e90
mov dword [ebx + 0x44], eax
mov ecx, esi
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x100564bf
mov eax, dword [ebx + 4]
lea ecx, [ebx + 0xe65]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ecx], 1
cmp byte [ecx], 0
mov edx, dword [ebp - 0xbc]
je 0x100564d6
cmp byte [edx + 0xe8], 0
jne 0x100564d6
mov byte [ecx], 0
cmp dword [edx + 0x1500], 0
lea edi, [edx + 0x1500]
jle 0x100565bb
cmp byte [edx + 0xf8], 0
je 0x100564ff
cmp byte [edx + 0xfa], 0
je 0x10056590
cmp byte [ebp - 0xd5], 0
je 0x10056511
cmp byte [edx + 0xfb], 0
jne 0x10056590
cmp byte [ebp - 0xf4], 0
jne 0x10056590
cmp byte [ebp - 0xb2], 0
jne 0x10056590
xor esi, esi
nop word [eax + eax]
mov eax, dword [edx + 0x1508]
lea ecx, [ebp - 0xd0]
push dword [ebp - 0xec]
mov edx, dword [ebp + 0x14]
push dword [ebp - 0xf0]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0xd0], eax
call fcn.100553d0
add esp, 8
test al, al
je 0x10056585
push dword [ebp - 0xd0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10054280
add esp, 4
mov byte [ebx + 0xe64], 1
mov dword [ebx + 0xe60], 0xbe99999a
mov edx, dword [ebp - 0xbc]
inc esi
cmp esi, dword [edi]
jl 0x10056530
mov ecx, dword [edi + 4]
test ecx, ecx
jns 0x100565af
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
mov ecx, edi
call fcn.100207c0
mov edx, dword [ebp - 0xbc]
mov dword [edi], 0
mov edi, dword [ebp - 0xcc]
mov byte [ebp - 0xae], 0
cmp dword [edx + 0x19bc], edi
jne 0x10057199
cmp byte [edx + 0x19cc], 0
jne 0x10057199
cmp byte [ebp - 0xfc], 0
jne 0x10057199
mov dh, byte [edx + 0xf9]
xor esi, esi
mov ecx, dword [ebp - 0xbc]
mov eax, 0x20000
test dh, dh
mov byte [ebp - 0xbf], dh
cmovne esi, eax
mov ah, byte [ecx + 0xad]
mov al, byte [ecx + 0xf8]
mov byte [ebp - 0xc6], ah
test ah, ah
je 0x10056644
cmp byte [ecx + 0xfb], 0
lea edi, [ecx + 0xfb]
je 0x1005663c
test al, al
jne 0x1005663c
mov ecx, 1
jmp 0x1005663e
xor ecx, ecx
test ecx, ecx
je 0x1005666e
jmp 0x10056655
add ecx, 0xfb
test al, al
je 0x1005666c
cmp byte [ecx], 0
jne 0x1005666c
mov edi, ecx
mov ecx, dword [ebp - 0xbc]
cmp byte [ecx + 0xfa], 0
jne 0x1005666e
test dh, dh
jne 0x1005666e
mov ch, 1
jmp 0x10056670
mov edi, ecx
xor ch, ch
mov byte [ebp - 0xb3], ch
mov cl, al
test ah, ah
je 0x100566d1
mov ebx, dword [ebp - 0xbc]
cmp byte [ebx + 0xfb], 0
mov ebx, dword [ebp - 0x108]
je 0x100566d1
test dh, dh
je 0x100566d1
mov ebx, dword [ebp - 0xbc]
mov dl, byte [ebx + 0xf8]
mov ebx, dword [ebp - 0x108]
mov cl, dl
mov byte [ebp - 0xbd], dl
test dl, dl
jne 0x100566d1
mov ebx, dword [ebp - 0xbc]
cmp byte [ebx + 0xfa], 0
mov ebx, dword [ebp - 0x108]
jne 0x100566d1
mov byte [ebp - 0xc0], 1
jmp 0x100566e8
mov byte [ebp - 0xbd], cl
mov dl, cl
mov byte [ebp - 0xc0], 0
test ah, ah
je 0x100567ac
cmp byte [edi], 0
mov eax, dword [ebp - 0xbc]
mov al, byte [eax + 0xfa]
mov byte [ebp - 0xbe], al
je 0x100567c1
test dl, dl
jne 0x100567c1
test al, al
jne 0x100567c1
mov ah, 1
mov byte [ebp - 0xbe], al
mov cl, ah
mov byte [ebp - 0xc8], cl
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xb2], 0
test dh, dh
je 0x10056806
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xbe], al
mov byte [ebp - 0xb2], 0
test dl, dl
jne 0x10056806
mov byte [ebp - 0xb2], dl
mov edx, dword [ebp - 0xbc]
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xbe], al
cmp byte [edx + 0xfa], 0
jne 0x10056806
cmp byte [edi], 0
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xbe], al
mov byte [ebp - 0xb2], 0
jne 0x10056806
mov byte [ebp - 0xc5], 1
mov byte [ebp - 0xb1], cl
mov byte [ebp - 0xbe], al
mov byte [ebp - 0xb2], 0
jmp 0x1005680d
mov al, dl
mov byte [ebp - 0xc0], 0
mov byte [ebp - 0xbe], al
mov byte [ebp - 0xbd], dl
xor ah, ah
mov byte [ebp - 0xb1], ah
test dl, dl
je 0x10056715
test dh, dh
jne 0x10056715
mov ebx, dword [ebp - 0xbc]
cmp byte [ebx + 0xfa], dh
mov ebx, dword [ebp - 0x108]
jne 0x10056715
cmp byte [edi], dh
jne 0x10056715
mov byte [ebp - 0xb2], 1
mov byte [ebp - 0xc8], dh
mov byte [ebp - 0xc5], 0
mov eax, dword [0x10124700]
test ch, ch
je 0x1005682b
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x1005682b
call fcn.10011a60
test al, al
jne 0x10056844
mov eax, dword [0x10124700]
cmp byte [ebp - 0xc5], 0
je 0x10056870
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10056870
call fcn.10011a60
test al, al
je 0x10056870
cmp byte [ebp - 0xf4], 0
jne 0x10056870
cmp byte [ebp - 0x148], 0
jne 0x10056870
cmp byte [ebp - 0xd4], 0
je 0x10056867
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x10056870
mov byte [ebp - 0xc7], 1
jmp 0x10056877
mov byte [ebp - 0xc7], 0
cmp byte [ebp - 0xb3], 0
mov eax, dword [0x10124700]
je 0x1005689a
mov ecx, dword [eax + 0x74]
test ecx, ecx
js 0x1005689a
call fcn.10011a60
test al, al
jne 0x100568b3
mov eax, dword [0x10124700]
cmp byte [ebp - 0xb2], 0
je 0x100568d6
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x100568d6
call fcn.10011a60
test al, al
je 0x100568d6
cmp byte [ebp - 0x148], 0
jne 0x100568d6
cmp byte [ebp - 0xd4], 0
je 0x100568cd
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
je 0x100568d6
mov byte [ebp - 0xb2], 1
jmp 0x100568dd
mov byte [ebp - 0xb2], 0
cmp byte [ebp - 0xb3], 0
mov eax, dword [0x10124700]
je 0x10056900
mov ecx, dword [eax + 0x78]
test ecx, ecx
js 0x10056900
call fcn.10011a60
test al, al
jne 0x10056919
mov eax, dword [0x10124700]
cmp byte [ebp - 0xc5], 0
je 0x10056929
mov ecx, dword [eax + 0x58]
test ecx, ecx
js 0x10056929
call fcn.10011a60
test al, al
je 0x10056929
cmp byte [ebp - 0xf4], 0
mov byte [ebp - 0xd5], 1
je 0x10056930
mov byte [ebp - 0xd5], 0
mov al, byte [ebp - 0xb3]
test al, al
je 0x10056974
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x84]
test ecx, ecx
js 0x10056974
call fcn.10011a60
test al, al
je 0x1005696e
cmp byte [ebp - 0xf4], 0
jne 0x1005696e
cmp byte [ebp - 0x104], 0
je 0x1005696e
mov byte [ebp - 0xc5], 1
jmp 0x1005697f
mov al, byte [ebp - 0xb3]
mov byte [ebp - 0xc5], 0
test al, al
je 0x10056997
mov eax, dword [0x10124700]
mov ecx, dword [eax + 0x80]
test ecx, ecx
js 0x1005699c
call fcn.10011a60
test al, al
jne 0x100569b8
mov eax, dword [0x10124700]
cmp byte [ebp - 0xc0], 0
je 0x100569d1
mov ecx, dword [eax + 0x84]
test ecx, ecx
js 0x100569d1
call fcn.10011a60
test al, al
je 0x100569d1
cmp byte [ebp - 0xf4], 0
jne 0x100569d1
cmp byte [ebp - 0x104], 0
mov byte [ebp - 0xc0], 1
jne 0x100569d8
mov byte [ebp - 0xc0], 0
mov eax, dword [0x10124700]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x10056a38
call fcn.10011a60
test al, al
je 0x10056a33
cmp byte [ebp - 0xc8], 0
je 0x10056a0d
mov eax, 0x10004
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10054280
jmp 0x10057185
cmp byte [ebp - 0xbe], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000c
mov eax, 0x10000
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10054280
jmp 0x10057185
mov eax, dword [0x10124700]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x10056a93
call fcn.10011a60
test al, al
je 0x10056a8e
cmp byte [ebp - 0xc8], 0
je 0x10056a68
mov eax, 0x10005
lea edx, [ebx + 0x3c]
or eax, esi
mov ecx, ebx
push eax
call fcn.10054280
jmp 0x10057185
cmp byte [ebp - 0xbe], 0
lea edx, [ebx + 0x3c]
mov ecx, 0x1000d
mov eax, 0x10001
cmovne eax, ecx
mov ecx, ebx
or eax, esi
push eax
call fcn.10054280
jmp 0x10057185
mov eax, dword [0x10124700]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10056b17
call fcn.10011a60
test al, al
je 0x10056b17
cmp byte [ebp - 0xd4], 0
je 0x10056b17
cmp byte [ebp - 0xbd], 0
je 0x10056af7
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xbc]
movss xmm1, dword [edx + 0x5c]
movaps xmm0, xmm1
subss xmm0, dword [ecx + 0x18bc]
addss xmm1, dword [edx + 0xe4]
maxss xmm0, dword [0x100aabec]
subss xmm1, xmm0
movss dword [edx + 0x5c], xmm0
movss dword [edx + 0xe4], xmm1
jmp 0x10057199
movzx eax, byte [ebp - 0xb1]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10002]
or eax, esi
push eax
call fcn.10054280
jmp 0x10057185
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x44]
test ecx, ecx
js 0x10056bce
call fcn.10011a60
test al, al
je 0x10056bce
cmp byte [ebp - 0xd4], 0
je 0x10056bce
cmp byte [ebp - 0xbd], 0
je 0x10056bae
mov eax, dword [0x10124700]
mov edx, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [eax + 0x199c]
movss xmm3, dword [edx + 0x5c]
movaps xmm2, xmm3
addss xmm2, dword [ecx + 0x18bc]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [eax + 0x74]
movss xmm1, dword [eax + 0x30]
addss xmm3, dword [edx + 0xe4]
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
minss xmm2, xmm0
subss xmm3, xmm2
movss dword [edx + 0x5c], xmm2
movss dword [edx + 0xe4], xmm3
jmp 0x10057199
movzx eax, byte [ebp - 0xb1]
lea edx, [ebx + 0x3c]
mov ecx, ebx
lea eax, [eax*4 + 0x10003]
or eax, esi
push eax
call fcn.10054280
jmp 0x10057185
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x50]
test ecx, ecx
js 0x10056c0b
call fcn.10011a60
test al, al
je 0x10056c0b
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x10006
or esi, 0x10004
cmp byte [ebp - 0xbd], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10054280
jmp 0x10057185
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x54]
test ecx, ecx
js 0x10056c48
call fcn.10011a60
test al, al
je 0x10056c48
mov eax, esi
lea edx, [ebx + 0x3c]
or eax, 0x10007
or esi, 0x10005
cmp byte [ebp - 0xbd], 0
mov ecx, ebx
cmovne esi, eax
push esi
call fcn.10054280
jmp 0x10057185
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x5c]
test ecx, ecx
js 0x10056c7d
call fcn.10011a60
test al, al
je 0x10056c7d
cmp byte [ebp - 0xf4], 0
jne 0x10056c7d
or esi, 0x10008
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10054280
jmp 0x10057185
mov ecx, dword [0x10124700]
mov ecx, dword [ecx + 0x60]
test ecx, ecx
js 0x10056d1b
call fcn.10011a60
test al, al
je 0x10056d1b
cmp byte [ebp - 0xf4], 0
jne 0x10056d1b
mov eax, dword [ebx + 0x40]
cmp eax, dword [ebx + 0x44]
jne 0x10056d05
cmp byte [ebp - 0xbe], 0
je 0x10056cbc
push 0x3000c
jmp 0x10056ce7
cmp byte [ebp - 0xc6], 0
je 0x10056d05
cmp byte [edi], 0
je 0x10056d05
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0xfa], 0
jne 0x10056d05
cmp byte [ebp - 0xbd], 0
jne 0x10056d05
push 0x30004
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10054280
mov dword [ebx + 0xe60], 0xbe99999a
add esp, 4
mov byte [ebx + 0xe64], 1
or esi, 0x10009
lea edx, [ebx + 0x3c]
push esi
mov ecx, ebx
call fcn.10054280
jmp 0x10057185
mov esi, dword [0x10124700]
mov ecx, dword [esi + 0x68]
test ecx, ecx
js 0x10056dc6
call fcn.10011a60
test al, al
je 0x10056dc6
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 0xb
and al, 1
cmp byte [ebp - 0xd4], 0
je 0x10056d59
test al, al
je 0x10056d6d
cmp byte [ebp - 0xbd], 0
jne 0x10056d76
mov dh, 1
mov byte [ebp - 0xfc], 1
mov byte [ebp - 0xad], dh
jmp 0x1005719f
cmp byte [ebp - 0xbd], 0
jne 0x10056d59
cmp byte [ebp - 0xf4], 0
jne 0x10057199
mov dword [ebp - 0xd0], 0xa
mov edx, ecx
push dword [ebp - 0xec]
lea ecx, [ebp - 0xd0]
push dword [ebp - 0xf0]
call fcn.100553d0
add esp, 8
test al, al
je 0x10057199
push dword [ebp - 0xd0]
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.10054280
jmp 0x10057185
test dword [ebp + 0x14], 0x400
je 0x10056e1b
mov ecx, dword [esi + 0x34]
test ecx, ecx
js 0x10056e1b
call fcn.10011a60
test al, al
je 0x10056e1b
cmp byte [ebp - 0xbd], 0
jne 0x10056e1b
cmp byte [ebp - 0xbf], 0
jne 0x10056e1b
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0xfa], 0
jne 0x10056e1b
cmp byte [ebp - 0xf4], 0
jne 0x10056e1b
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0xd0], 9
jmp 0x10056d8f
mov ecx, dword [esi + 0x6c]
test ecx, ecx
js 0x10056e3e
call fcn.10011a60
test al, al
je 0x10056e3e
mov dh, byte [ebp - 0xad]
mov cl, 1
mov byte [ebp - 0xfc], cl
jmp 0x100571a5
mov al, byte [ebp - 0xc5]
test al, al
jne 0x10057166
cmp byte [ebp - 0xc0], al
jne 0x10057166
cmp byte [ebp - 0xb3], al
je 0x10056e89
mov ecx, dword [esi + 0x70]
test ecx, ecx
js 0x10056e89
call fcn.10011a60
test al, al
je 0x10056e89
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 0x10057192
mov al, byte [ebp - 0xc7]
test al, al
jne 0x1005703e
cmp byte [ebp - 0xb2], al
jne 0x1005703e
cmp byte [ebp - 0xd5], al
je 0x10057199
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x10056ed0
push dword [esi + 0xd0]
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x10057199
jmp 0x10056ed5
mov esi, 0x1009c568
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10056ee0
mov eax, dword [0x10124700]
sub ecx, edx
test eax, eax
je 0x10056ef8
inc dword [eax + 0x370]
lea eax, [ecx*2 + 2]
push eax
call fcn.10078c13
add esp, 4
mov dword [ebp - 0xdc], eax
xor edi, edi
cmp byte [esi], 0
je 0x10056f83
mov ebx, eax
nop word [eax + eax]
push 0
mov edx, esi
lea ecx, [ebp - 0x104]
call fcn.1000ccc0
add esi, eax
add esp, 4
mov eax, dword [ebp - 0x104]
test eax, eax
je 0x10056f77
cmp eax, 0x10000
jae 0x10056f72
push dword [ebp - 0xec]
mov edx, dword [ebp + 0x14]
lea ecx, [ebp - 0x104]
push dword [ebp - 0xf0]
call fcn.100553d0
add esp, 8
test al, al
je 0x10056f72
mov ax, word [ebp - 0x104]
mov word [ebx + edi*2], ax
inc edi
cmp byte [esi], 0
jne 0x10056f20
mov ebx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov word [eax + edi*2], cx
test edi, edi
jle 0x1005701c
mov edx, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
mov eax, dword [ebx + 4]
cmp ecx, edx
je 0x10056fb7
cmp ecx, eax
jle 0x10056fa7
mov dword [ebx + 0x40], eax
mov ecx, eax
cmp edx, eax
jle 0x10056fb0
mov dword [ebx + 0x44], eax
mov edx, eax
cmp ecx, edx
jne 0x10056fb7
mov dword [ebx + 0x3c], ecx
cmp dword [ebx + 0x3c], eax
jle 0x10056fbf
mov dword [ebx + 0x3c], eax
lea edx, [ebx + 0x3c]
mov ecx, ebx
call fcn.100541f0
mov edx, dword [ebx + 0x3c]
mov ecx, ebx
push edi
push dword [ebp - 0xdc]
call fcn.10053d60
add esp, 8
test al, al
je 0x10056ffb
mov edx, dword [ebx + 0x3c]
lea ecx, [ebx + 0x54]
push edi
push 0
call fcn.10054f40
add esp, 8
mov byte [ebx + 0x4b], 0
add dword [ebx + 0x3c], edi
jmp 0x1005700f
movzx eax, word [ebx + 0xe52]
test ax, ax
je 0x1005700f
dec eax
mov word [ebx + 0xe52], ax
mov eax, dword [ebp - 0xdc]
mov byte [ebx + 0xe64], 1
test eax, eax
je 0x10057030
mov ecx, dword [0x10124700]
test ecx, ecx
je 0x10057030
dec dword [ecx + 0x370]
push eax
call fcn.10078b01
add esp, 4
jmp 0x10057199
mov ecx, dword [ebp - 0xbc]
cmp dword [ecx + 0xcc], 0
je 0x10057126
mov edi, dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
cmp eax, edi
je 0x10057065
mov ecx, edi
cmovge edi, eax
cmovl ecx, eax
jmp 0x1005706a
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 - 0xd0], ecx
lea edx, [eax + edi*2]
lea ecx, [eax + ecx*2]
call fcn.1000cf80
inc eax
mov dword [ebp - 0x124], eax
test esi, esi
je 0x100570b3
inc dword [esi + 0x370]
push eax
call fcn.10078c13
mov esi, dword [ebx + 0x14]
add esp, 4
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xd0]
lea ecx, [esi + edi*2]
push ecx
lea ecx, [esi + eax*2]
mov esi, dword [ebp - 0x110]
push ecx
mov ecx, esi
call fcn.1000ce50
mov eax, dword [0x10124700]
add esp, 8
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x10057109
push esi
push dword [eax + 0xd0]
call ecx
mov eax, dword [0x10124700]
add esp, 8
test esi, esi
je 0x10057117
test eax, eax
je 0x10057117
dec dword [eax + 0x370]
push esi
call fcn.10078b01
mov al, byte [ebp - 0xc7]
add esp, 4
test al, al
je 0x10057199
mov eax, dword [ebx + 0x40]
lea esi, [ebx + 0x3c]
cmp eax, dword [ebx + 0x44]
jne 0x10057148
mov eax, dword [ebx + 4]
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], eax
mov dword [esi], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe64], 1
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x10057199
mov edx, esi
mov ecx, ebx
call fcn.100541f0
mov byte [esi + 0xf], 0
jmp 0x10057199
movzx eax, al
lea edx, [ebx + 0x3c]
xor eax, 1
mov ecx, ebx
add eax, 0x1000a
push eax
call fcn.10054280
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 dh, byte [ebp - 0xad]
mov cl, byte [ebp - 0xae]
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xcc]
cmp dword [eax + 0x19bc], esi
jne 0x10057854
xor eax, eax
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe8], eax
test cl, cl
je 0x100572f5
cmp byte [ebp - 0xf4], al
jne 0x10057229
mov esi, dword [ebx + 0x2c]
mov ecx, esi
mov eax, dword [ebp - 0xc4]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10057210
test dl, dl
je 0x1005720c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10057210
add eax, 2
add ecx, 2
test dl, dl
jne 0x100571f0
xor eax, eax
jmp 0x10057215
sbb eax, eax
or eax, 1
test eax, eax
je 0x10057229
mov eax, dword [ebx + 0x24]
dec eax
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp + 0x14]
test dh, dh
je 0x10057238
test al, 0x20
jne 0x100572f8
mov edi, dword [ebp - 0xc4]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
test esi, esi
je 0x10057830
cmp dword [ebp - 0xf8], ecx
je 0x100577f8
cmp byte [ebp - 0x138], 0
je 0x100577f8
mov dword [ebp - 0xa8], eax
xorps xmm0, xmm0
lea eax, [ecx + 1]
movlpd qword [ebp - 0xa0], xmm0
cmp dword [ebp + 0xc], eax
movlpd qword [ebp - 0x8c], xmm0
cmovge eax, dword [ebp + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xac]
push eax
movlpd qword [ebp - 0x84], xmm0
mov dword [ebp - 0xac], 0x40000
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x94], ecx
call dword [ebp - 0xf0]
mov edi, dword [ebp - 0x90]
add esp, 4
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0xc4], edx
lea ecx, [edi - 1]
cmp dword [ebp - 0x94], ecx
cmovl ecx, dword [ebp - 0x94]
jmp 0x10057801
mov eax, dword [ebp + 0x14]
cmp byte [ebp - 0xf4], 0
jne 0x10057359
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 0x10057342
test edi, edi
je 0x1005732a
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1005732f
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0x18]
push eax
call fcn.100204f0
lea eax, [ebx + 0x18]
mov dword [eax], esi
mov edx, esi
mov ecx, dword [ebx + 0x20]
push 0
push dword [ebx + 0x14]
call fcn.1000ce50
mov eax, dword [ebp + 0x14]
add esp, 8
test eax, 0x1c0
je 0x100577a5
xor esi, esi
test al, 0x40
mov eax, dword [0x10124700]
lea edi, [esi + 0x15]
je 0x10057391
mov ecx, dword [eax + 0x34]
test ecx, ecx
js 0x10057391
call fcn.10011a60
test al, al
je 0x1005738c
mov eax, dword [ebp + 0x14]
lea esi, [edi + 0x2b]
xor edi, edi
jmp 0x100573e6
mov eax, dword [0x10124700]
test byte [ebp + 0x14], 0x80
je 0x100573d6
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x100573b9
call fcn.10011a60
test al, al
je 0x100573b4
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7d]
jmp 0x100573e6
mov eax, dword [0x10124700]
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x100573d6
call fcn.10011a60
test al, al
je 0x100573d6
mov eax, dword [ebp + 0x14]
mov esi, 0x80
lea edi, [esi - 0x7c]
jmp 0x100573e6
mov eax, dword [ebp + 0x14]
mov ecx, 0x100
test eax, 0x100
cmovne esi, ecx
test esi, esi
je 0x100577a5
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov eax, dword [ebp - 0xec]
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.1000cf80
mov ecx, dword [ebx + 0x40]
mov edi, eax
mov dword [ebp - 0x58], edi
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000cf80
mov ecx, dword [ebx + 0x44]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x54], eax
lea edx, [esi + ecx*2]
mov ecx, esi
call fcn.1000cf80
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x7c]
push eax
call dword [ebp - 0xf0]
mov edx, dword [ebp - 0x58]
add esp, 4
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x11c], ecx
cmp edx, edi
je 0x10057542
mov ah, byte [ebp - 0xaf]
lea edi, [edx + ecx]
xor edx, edx
mov esi, ecx
mov ch, byte [ebp - 0xb0]
mov dword [ebp - 0xe0], edx
test edi, edi
je 0x100574ac
cmp esi, edi
jae 0x10057532
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc6], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x10057532
push edi
mov edx, esi
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc6]
add esp, 4
mov edx, dword [ebp - 0x124]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x1005752c
cmp edx, 0x10000
mov edx, dword [ebp - 0xe0]
jae 0x10057517
inc edx
mov dword [ebp - 0xe0], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x100574a0
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x11c]
mov dword [ebx + 0x3c], edx
mov byte [ebx + 0xe64], 1
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0xd0]
je 0x1005760b
lea edi, [eax + ecx]
xor edx, edx
mov ah, byte [ebp - 0xaf]
mov esi, ecx
mov ch, byte [ebp - 0xb0]
mov dword [ebp - 0xe0], edx
nop word [eax + eax]
test edi, edi
je 0x1005757c
cmp esi, edi
jae 0x10057602
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc6], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x10057602
push edi
mov edx, esi
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc6]
add esp, 4
mov edx, dword [ebp - 0x124]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x100575fc
cmp edx, 0x10000
mov edx, dword [ebp - 0xe0]
jae 0x100575e7
inc edx
mov dword [ebp - 0xe0], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x10057570
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x11c]
mov dword [ebx + 0x40], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x110]
je 0x100576c8
lea edi, [eax + ecx]
xor edx, edx
mov ah, byte [ebp - 0xaf]
mov esi, ecx
mov ch, byte [ebp - 0xb0]
mov dword [ebp - 0xe0], edx
test edi, edi
je 0x1005763f
cmp esi, edi
jae 0x100576c5
cmp byte [esi], 0
mov al, ch
mov cl, ah
mov byte [ebp - 0xc6], al
mov byte [ebp - 0xbf], cl
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], al
je 0x100576c5
push edi
mov edx, esi
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
mov cl, byte [ebp - 0xbf]
add esi, eax
mov al, byte [ebp - 0xc6]
add esp, 4
mov edx, dword [ebp - 0x124]
mov byte [ebp - 0xaf], cl
mov byte [ebp - 0xb0], al
test edx, edx
je 0x100576bf
cmp edx, 0x10000
mov edx, dword [ebp - 0xe0]
jae 0x100576aa
inc edx
mov dword [ebp - 0xe0], edx
mov ah, cl
mov ch, al
mov byte [ebp - 0xaf], ah
mov byte [ebp - 0xb0], ch
jmp 0x10057633
mov edx, dword [ebp - 0xe0]
mov dword [ebx + 0x44], edx
cmp byte [ebp - 0x5c], 0
je 0x100577a2
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0xf8]
cmp esi, ecx
jle 0x1005772a
cmp byte [ebp - 0x138], 0
je 0x1005772a
mov edi, dword [ebx + 0x10]
lea eax, [ebx + 0xc]
sub esi, ecx
add esi, dword [eax]
cmp esi, edi
jle 0x10057728
test edi, edi
je 0x10057707
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x1005770c
mov ecx, 8
cmp ecx, esi
mov eax, esi
cmovg eax, ecx
lea ecx, [ebx + 0xc]
push eax
call fcn.100207c0
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x11c], eax
lea eax, [ebx + 0xc]
mov dword [eax], esi
mov ecx, dword [ebx + 0x14]
mov esi, ecx
mov edi, dword [ebx + 0xc]
dec edi
mov dword [ebp - 0xd0], ecx
lea edi, [ecx + edi*2]
cmp ecx, edi
jae 0x10057786
mov ebx, dword [ebp - 0x11c]
cmp byte [ebx], 0
je 0x1005777a
push 0
mov edx, ebx
lea ecx, [ebp - 0x124]
call fcn.1000ccc0
add ebx, eax
add esp, 4
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x1005777a
cmp eax, 0x10000
jae 0x10057776
mov word [esi], ax
add esi, 2
cmp esi, edi
jb 0x10057746
mov ebx, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xd0]
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 - 0xf4], 0
mov edi, dword [ebp - 0xc4]
jne 0x1005723e
mov esi, dword [ebx + 0x20]
mov ecx, edi
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100577e0
test dl, dl
je 0x100577dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100577e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100577c0
xor eax, eax
jmp 0x100577e5
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp + 0x14]
je 0x1005723e
mov ecx, dword [ebx + 8]
jmp 0x1005724a
mov edx, dword [ebp - 0xc4]
mov edi, dword [ebp + 0xc]
lea eax, [ecx + 1]
cmp eax, edi
cmovl edi, eax
cmp edi, 1
jb 0x10057829
jbe 0x10057824
lea eax, [edi - 1]
push eax
push esi
push edx
call fcn.1007a1a0
mov edx, dword [ebp - 0xc4]
add esp, 0xc
mov byte [edi + edx - 1], 0
mov byte [ebp - 0xb0], 1
mov esi, dword [ebp - 0xcc]
mov dword [ebx + 0xe68], 0
mov dword [ebx + 0xe6c], 0
mov dword [ebx + 0xe70], 0
cmp byte [ebp - 0xfc], 0
je 0x10057870
mov ecx, dword [ebp - 0xbc]
cmp dword [ecx + 0x19bc], esi
jne 0x10057870
call fcn.1000f330
cmp byte [ebp - 0xd4], 0
jne 0x10057937
push 1
mov edx, esi
lea ecx, [ebp - 0x4c]
call fcn.1000e720
movss xmm1, dword [0x100aaca4]
add esp, 4
mov ecx, 7
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
call fcn.1000d160
mov ecx, dword [ebp - 0xbc]
mov dl, 1
movss xmm2, dword [ecx + 0x154c]
mov ecx, eax
call fcn.1000df70
movss xmm7, dword [ebp - 0x4c]
add esp, 0x10
mov eax, dword [ebp - 0xbc]
movaps xmm0, xmm7
movss xmm5, dword [ebp - 0x48]
movss xmm4, dword [ebp - 0x134]
movaps xmm1, xmm5
addss xmm1, dword [ebp - 0x144]
addss xmm0, dword [eax + 0x1544]
movaps xmm2, xmm4
movss dword [ebp - 0x3c], xmm7
addss xmm2, xmm7
movss dword [ebp - 0x38], xmm5
movss dword [ebp - 0xe0], xmm1
movss dword [ebp - 0x24], xmm0
movaps xmm0, xmm5
addss xmm0, dword [eax + 0x1548]
movss dword [ebp - 0x124], xmm2
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x104], xmm2
movss dword [ebp - 0x20], xmm0
jmp 0x100579a0
movss xmm0, dword [ebp - 0x4c]
movss xmm1, dword [ebp - 0x48]
movss xmm4, dword [ebp - 0x134]
movaps xmm2, xmm1
mov ecx, dword [ebp - 0x100]
movaps xmm3, xmm4
addss xmm2, dword [ebp - 0x144]
addss xmm3, xmm0
movss dword [ebp - 0x3c], xmm0
movss dword [ebp - 0x38], xmm1
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
movss dword [ebp - 0xe0], xmm2
movaps xmm1, xmm2
movaps xmm0, xmm3
movss dword [ebp - 0x104], xmm3
movss dword [ebp - 0x124], xmm0
movss dword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
cmp byte [ebp - 0xe1], 0
lea eax, [ebp - 0x24]
movss xmm0, dword [eax]
xorps xmm6, xmm6
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0xf0], xmm0
movss dword [ebp - 0x114], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xec], eax
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x10c], xmm1
movss dword [ebp - 0x110], xmm0
movss dword [ebp - 0xd0], xmm6
je 0x100579ff
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xc4], eax
mov dh, byte [ebp - 0xb5]
mov dword [ebp - 0xcc], 0
test dh, dh
je 0x10057a3c
mov edi, dword [ebp - 0x13c]
mov ecx, edi
mov dword [ebp - 0xc4], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057a24
sub ecx, edx
mov dh, byte [ebp - 0xb5]
lea eax, [ecx + edi]
mov dword [ebp - 0xcc], eax
mov ch, byte [ebp - 0xb4]
mov cl, byte [ebp - 0xaf]
test ch, ch
jne 0x10057c9d
test cl, cl
jne 0x10057c9d
cmp byte [ebp - 0xd4], cl
je 0x10057ac2
mov eax, dword [ebp - 0xc4]
xor ecx, ecx
mov dl, byte [eax]
lea ebx, [eax + 1]
test dl, dl
je 0x10057a83
cmp dl, 0xa
lea eax, [ecx + 1]
mov dl, byte [ebx]
cmovne eax, ecx
inc ebx
mov ecx, eax
test dl, dl
jne 0x10057a71
mov al, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xcc], ebx
cmp al, 0xa
je 0x10057a96
cmp al, 0xd
je 0x10057a96
inc ecx
mov esi, dword [ebp - 0xbc]
movaps xmm0, xmm4
movd xmm7, ecx
add esi, 0x18bc
cvtdq2ps xmm7, xmm7
movss dword [ebp - 0x110], xmm0
mulss xmm7, dword [esi]
movss dword [ebp - 0xd0], xmm7
jmp 0x10057b2e
mov ecx, dword [ebp - 0xbc]
test dh, dh
jne 0x10057b0f
cmp dword [ecx + 0x19bc], esi
jne 0x10057ae5
mov ebx, dword [ebx + 8]
add ebx, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], ebx
jmp 0x10057b15
mov ebx, dword [ebp - 0xc4]
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057af0
sub ecx, edx
mov dh, byte [ebp - 0xb5]
add ebx, ecx
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xcc], ebx
jmp 0x10057b15
mov ebx, dword [ebp - 0xcc]
mov eax, ebx
sub eax, dword [ebp - 0xc4]
cmp eax, 0x200000
jge 0x100587fb
lea esi, [ecx + 0x18bc]
movss xmm1, dword [0x100aaca4]
movzx ecx, dh
call fcn.1000d160
movss xmm2, dword [esi]
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x100]
mov edi, dword [eax + 0x26c]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 0x18b8]
xor eax, eax
cmp byte [ebp - 0xd4], al
mov dword [ebp - 0xf8], ecx
cmovne edx, eax
test dword [ebp - 0x13c], 0xff000000
mov eax, esi
je 0x10058749
cmp dword [ebp - 0xcc], 0
jne 0x10057baf
mov ecx, dword [ebp - 0xc4]
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10057b98
sub ecx, ebx
mov ebx, dword [ebp - 0xc4]
add ebx, ecx
mov ecx, dword [ebp - 0xf8]
mov eax, esi
cmp dword [ebp - 0xc4], ebx
je 0x10058749
test ecx, ecx
jne 0x10057bcd
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0xf8], eax
ucomiss xmm2, dword [0x100aabec]
lahf
test ah, 0x44
jp 0x10057be2
mov eax, dword [edi + 0x28]
movss xmm2, dword [eax + 0xc]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x44]
shl ecx, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [ebp - 0x130], xmm0
test edx, edx
je 0x10057c5c
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x130]
comiss xmm0, xmm1
jae 0x10057c14
movss dword [ebp - 0x130], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x12c]
comiss xmm0, xmm1
jae 0x10057c2e
movss dword [ebp - 0x12c], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0x128]
ja 0x10057c44
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 0x124]
ja 0x10057c5a
movss dword [ebp - 0x124], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0xf8]
lea eax, [ebp - 0x130]
mov dword [esp], 0
push ebx
push dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xec]
push dword [ebp - 0x13c]
push dword [eax + 4]
push dword [eax]
push edi
call fcn.10048e70
mov eax, esi
jmp 0x10058749
test dh, dh
jne 0x10057cb0
mov eax, dword [ebx + 8]
add eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
mov esi, dword [ebx + 0x14]
mov edi, 0xfffffc18
xor edx, edx
mov dword [ebp - 0xe8], esi
movss dword [ebp - 0x13c], xmm6
movaps xmm7, xmm6
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xfc], edi
test ch, ch
je 0x10057cfb
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 0x10057d1d
mov ecx, dword [ebx + 0x44]
cmp dword [ebx + 0x40], ecx
mov dword [ebp - 0xfc], 0xffffffff
cmovl ecx, dword [ebx + 0x40]
inc edx
lea eax, [esi + ecx*2]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd4]
xor esi, esi
movzx eax, al
add edx, eax
mov eax, dword [ebp - 0xe8]
mov ecx, eax
movzx eax, word [eax]
test ax, ax
je 0x10057d97
mov esi, eax
xor ebx, ebx
nop
cmp si, 0xa
jne 0x10057d77
inc ebx
cmp edi, 0xffffffff
jne 0x10057d5b
cmp ecx, dword [ebp - 0xf8]
jb 0x10057d5b
dec edx
mov edi, ebx
test edx, edx
jle 0x10057d85
cmp dword [ebp - 0xfc], 0xffffffff
jne 0x10057d77
cmp ecx, dword [ebp - 0xdc]
jb 0x10057d77
dec edx
mov dword [ebp - 0xfc], ebx
test edx, edx
jle 0x10057d85
movzx eax, word [ecx + 2]
add ecx, 2
mov esi, eax
test ax, ax
jne 0x10057d40
mov dword [ebp - 0x11c], ebx
mov ebx, dword [ebp - 0x108]
mov esi, dword [ebp - 0x11c]
inc esi
cmp edi, 0xffffffff
mov eax, esi
mov dword [ebp - 0x11c], esi
cmovne eax, edi
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0x138], eax
mov ecx, edi
mov eax, dword [ebp - 0xfc]
cmp eax, 0xffffffff
cmove eax, esi
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0xfc], eax
cmp edi, esi
jbe 0x10057dde
cmp word [ecx - 2], 0xa
je 0x10057dde
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10057dd0
mov eax, dword [0x10124700]
movaps xmm1, xmm6
movaps xmm4, xmm6
mov edx, dword [eax + 0x18b8]
movss xmm2, dword [eax + 0x18bc]
divss xmm2, dword [edx + 0x10]
cmp ecx, edi
jae 0x10057e42
movzx eax, word [ecx]
add ecx, 2
mov esi, eax
cmp eax, 0xa
jne 0x10057e16
maxss xmm1, xmm4
movaps xmm4, xmm6
jmp 0x10057e38
cmp esi, 0xd
je 0x10057e38
mov esi, eax
cmp esi, dword [edx]
jge 0x10057e2b
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x10057e30
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm4, xmm0
cmp ecx, edi
jb 0x10057e00
mov esi, dword [ebp - 0xe8]
movd xmm5, dword [ebp - 0x138]
maxss xmm4, xmm1
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xfc]
cvtdq2ps xmm5, xmm5
movss xmm3, dword [ecx + 0x18bc]
mulss xmm5, xmm3
movss dword [ebp - 0x150], xmm4
movss dword [ebp - 0x15c], xmm5
test edi, edi
js 0x10057f14
mov eax, dword [ebp - 0xdc]
mov ecx, eax
cmp eax, esi
jbe 0x10057ea4
nop dword [eax]
cmp word [ecx - 2], 0xa
je 0x10057e9e
add ecx, 0xfffffffe
cmp ecx, esi
ja 0x10057e90
mov eax, dword [ebp - 0xdc]
movaps xmm1, xmm6
cmp ecx, eax
jae 0x10057ef7
mov ebx, dword [ebp - 0xdc]
movzx eax, word [ecx]
add ecx, 2
cmp eax, 0xa
jne 0x10057ec5
maxss xmm1, xmm7
movaps xmm7, xmm6
jmp 0x10057ee7
cmp eax, 0xd
je 0x10057ee7
mov esi, eax
cmp esi, dword [edx]
jge 0x10057eda
mov eax, dword [edx + 8]
movss xmm0, dword [eax + esi*4]
jmp 0x10057edf
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm7, xmm0
cmp ecx, ebx
jb 0x10057eb1
mov ebx, dword [ebp - 0x108]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xbc]
maxss xmm7, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x13c], xmm0
mov edx, dword [ebp - 0xd4]
test dl, dl
je 0x10057f4d
movd xmm6, dword [ebp - 0x11c]
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm3
movss xmm3, dword [ebp - 0x134]
movaps xmm0, xmm3
movss dword [ebp - 0xd0], xmm6
xorps xmm6, xmm6
movss dword [ebp - 0x110], xmm0
jmp 0x10057f55
movss xmm3, dword [ebp - 0x134]
cmp byte [ebp - 0xb4], 0
je 0x1005802a
cmp byte [ebx + 0xe64], 0
je 0x1005802a
test dword [ebp + 0x14], 0x1000
jne 0x10057fbc
movss xmm2, dword [ebx + 0x38]
movaps xmm0, xmm3
comiss xmm2, xmm4
mulss xmm0, dword [0x100aac54]
movaps xmm1, xmm4
jbe 0x10057f9d
subss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
jmp 0x10057faa
subss xmm1, xmm3
comiss xmm1, xmm2
jb 0x10057fc3
addss xmm0, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x38], xmm0
jmp 0x10057fc3
mov dword [ebx + 0x38], 0
test dl, dl
je 0x10058023
mov eax, dword [ebp - 0x100]
movaps xmm1, xmm5
subss xmm1, dword [ecx + 0x18bc]
movss xmm6, dword [eax + 0x5c]
comiss xmm6, xmm1
jbe 0x10057feb
xorps xmm0, xmm0
maxss xmm0, xmm1
jmp 0x10057ffa
movaps xmm0, xmm5
subss xmm0, dword [ebp - 0x144]
maxss xmm0, xmm6
subss xmm6, xmm0
movss dword [eax + 0x5c], xmm0
addss xmm6, dword [eax + 0xcc]
movss dword [ebp - 0xf0], xmm6
movss dword [eax + 0xcc], xmm6
movss dword [ebp - 0x114], xmm6
mov byte [ebx + 0xe64], 0
cmp byte [ebp - 0xaf], 0
movss xmm4, dword [ebx + 0x38]
movss dword [ebp - 0xdc], xmm4
je 0x1005830e
mov edx, dword [ebx + 0x44]
mov eax, edx
mov ecx, dword [ebx + 0x40]
cmp ecx, edx
cmovl eax, ecx
cmovge edx, ecx
cmp byte [ebp - 0xb4], 0
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0xe8]
lea edi, [eax + edx*2]
je 0x10058073
movss xmm1, dword [0x100aaca4]
jmp 0x1005807b
movss xmm1, dword [0x100aac70]
mov ecx, 0x2a
call fcn.1000d160
cmp byte [ebp - 0xd4], 0
mov dword [ebp - 0xf8], eax
je 0x100580a9
xorps xmm0, xmm0
movss dword [ebp - 0x14c], xmm0
movss dword [ebp - 0x138], xmm0
jmp 0x100580bc
movss xmm0, dword [0x100aacfc]
movss dword [ebp - 0x138], xmm0
xorps xmm0, xmm0
movss xmm6, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
movaps xmm4, xmm6
addss xmm4, dword [ebp - 0x13c]
movss xmm3, dword [ecx]
addss xmm3, xmm7
subss xmm4, xmm0
subss xmm3, dword [ebp - 0xdc]
movss dword [ebp - 0x13c], xmm4
cmp esi, edi
jae 0x1005836f
movss xmm7, dword [ebp - 0x10c]
mov ebx, dword [0x10124700]
mov edx, dword [ebp - 0xbc]
nop dword [eax]
movss xmm6, dword [edx + 0x18bc]
movaps xmm0, xmm7
addss xmm0, xmm6
comiss xmm4, xmm0
ja 0x10058300
movss xmm0, dword [ebp - 0x48]
comiss xmm0, xmm4
jbe 0x10058159
cmp esi, edi
jae 0x100582dc
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
cmp ax, 0xa
je 0x100582dc
cmp esi, edi
jb 0x10058140
jmp 0x100582dc
mov edx, dword [ebx + 0x18b8]
xorps xmm0, xmm0
movss xmm2, dword [ebx + 0x18bc]
xorps xmm5, xmm5
xorps xmm1, xmm1
divss xmm2, dword [edx + 0x10]
cmp esi, edi
jae 0x100581c6
nop dword [eax]
movzx eax, word [esi]
add esi, 2
cmp eax, 0xa
je 0x100581b3
cmp eax, 0xd
je 0x100581ad
mov ecx, eax
cmp ecx, dword [edx]
jge 0x100581a0
mov eax, dword [edx + 8]
movss xmm0, dword [eax + ecx*4]
jmp 0x100581a5
movss xmm0, dword [edx + 0xc]
mulss xmm0, xmm2
addss xmm1, xmm0
cmp esi, edi
jb 0x10058180
jmp 0x100581bd
xorps xmm5, xmm5
maxss xmm5, xmm1
xorps xmm1, xmm1
mov ecx, dword [ebp - 0xec]
xorps xmm0, xmm0
mov edx, dword [ebp - 0xbc]
maxss xmm1, xmm5
comiss xmm0, xmm1
jb 0x10058205
mov eax, dword [edx + 0x18b8]
cmp dword [eax], 0x20
jle 0x100581ed
mov eax, dword [eax + 8]
movss xmm0, dword [eax + 0x80]
jmp 0x100581f2
movss xmm0, dword [eax + 0xc]
mulss xmm0, dword [0x100aac68]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss xmm2, dword [ebp - 0x14c]
addss xmm1, xmm3
movss xmm0, dword [ebp - 0x138]
subss xmm2, xmm6
addss xmm3, dword [0x100aabec]
movss xmm5, dword [ebp - 0x124]
addss xmm0, xmm4
minss xmm1, xmm5
addss xmm2, xmm4
maxss xmm3, dword [ebp - 0x4c]
minss xmm0, xmm7
movss dword [ebp - 0xc], xmm1
maxss xmm2, dword [ebp - 0x48]
movss dword [ebp - 0x14], xmm3
comiss xmm0, dword [ebp - 0x48]
movss dword [ebp - 0x10], xmm2
movss dword [ebp - 8], xmm0
jbe 0x100582dc
comiss xmm7, xmm2
jbe 0x100582dc
comiss xmm1, dword [ebp - 0x4c]
jbe 0x100582dc
comiss xmm5, xmm3
jbe 0x100582dc
push 0xf
push ecx
mov dword [esp], 0
lea eax, [ebp - 0xc]
push dword [ebp - 0xf8]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x26c]
call fcn.10046040
movss xmm0, dword [ebp - 0x104]
movss xmm4, dword [ebp - 0x13c]
movss xmm7, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xec]
mov ebx, dword [0x10124700]
mov edx, dword [ebp - 0xbc]
movss dword [ebp - 0x104], xmm0
movss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xe0], xmm0
movss xmm3, dword [ecx]
addss xmm4, dword [edx + 0x18bc]
subss xmm3, dword [ebp - 0xdc]
movss dword [ebp - 0x13c], xmm4
cmp esi, edi
jb 0x10058110
movss xmm4, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0x108]
movss xmm6, dword [ebp - 0xf0]
cmp byte [ebp - 0xd4], 0
mov edx, dword [ebp - 0xcc]
jne 0x10058338
mov eax, edx
sub eax, dword [ebp - 0xc4]
cmp eax, 0x200000
jge 0x10058597
movzx eax, byte [ebp - 0xb5]
xorps xmm5, xmm5
mov ecx, dword [0x10124700]
add eax, eax
movups xmm2, xmmword [ecx + eax*8 + 0x15b8]
comiss xmm5, xmm2
movaps xmm1, xmm2
shufps xmm1, xmm2, 0xff
mulss xmm1, dword [ecx + 0x1510]
movups xmmword [ebp - 0x14], xmm2
jbe 0x10058379
xorps xmm0, xmm0
jmp 0x10058385
movss xmm4, dword [ebp - 0xdc]
jmp 0x10058316
movss xmm0, dword [0x100aaca4]
minss xmm0, xmm2
movss xmm2, dword [0x100aadb0]
movss xmm7, dword [0x100aac68]
movss xmm3, dword [ebp - 0x10]
comiss xmm5, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si ecx, xmm0
jbe 0x100583b0
xorps xmm0, xmm0
jmp 0x100583bc
movss xmm0, dword [0x100aaca4]
minss xmm0, xmm3
movss xmm3, dword [ebp - 0xc]
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm5, xmm3
jbe 0x100583dc
xorps xmm0, xmm0
jmp 0x100583e8
movss xmm0, dword [0x100aaca4]
minss xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, xmm7
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm5, xmm1
jbe 0x10058403
xorps xmm0, xmm0
jmp 0x1005840f
movss xmm0, dword [0x100aaca4]
minss xmm0, xmm1
mov eax, dword [ebp - 0x100]
mulss xmm0, xmm2
mov dword [ebp - 0x14c], 0
mov esi, dword [eax + 0x26c]
mov eax, dword [ebp - 0xbc]
addss xmm0, xmm7
movss xmm2, dword [eax + 0x18bc]
cvttss2si edi, xmm0
shl edi, 0x18
or edi, ecx
mov ecx, dword [eax + 0x18b8]
mov eax, dword [ebp - 0xec]
cmp byte [ebp - 0xd4], 0
mov dword [ebp - 0x10c], ecx
movss xmm0, dword [eax]
mov eax, edx
subss xmm0, xmm4
mov dword [ebp - 0x124], eax
lea edx, [ebp - 0x3c]
cmovne edx, dword [ebp - 0x14c]
movss dword [ebp - 0x140], xmm0
movaps xmm0, xmm6
subss xmm0, xmm5
movss dword [ebp - 0x13c], xmm0
test edi, 0xff000000
je 0x1005859a
cmp dword [ebp - 0xcc], 0
jne 0x100584d3
mov ecx, dword [ebp - 0xc4]
lea eax, [ecx + 1]
mov dword [ebp - 0x124], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100584b2
sub ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xc4]
add eax, ecx
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0xc4], eax
je 0x1005859a
test ecx, ecx
jne 0x100584ef
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10c], eax
ucomiss xmm2, xmm5
lahf
test ah, 0x44
jp 0x10058500
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 - 0x14], xmm0
test edx, edx
je 0x1005855f
movss xmm1, dword [edx]
movss xmm0, dword [ebp - 0x14]
comiss xmm0, xmm1
jae 0x10058529
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [edx + 4]
movss xmm0, dword [ebp - 0x10]
comiss xmm0, xmm1
jae 0x1005853d
movss dword [ebp - 0x10], xmm1
movss xmm0, dword [edx + 8]
comiss xmm0, dword [ebp - 0xc]
ja 0x1005854d
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [edx + 0xc]
comiss xmm0, dword [ebp - 8]
ja 0x1005855d
movss dword [ebp - 8], xmm0
test edx, edx
setne al
movzx eax, al
push eax
push ecx
mov ecx, dword [ebp - 0x10c]
lea eax, [ebp - 0x14]
mov dword [esp], 0
push dword [ebp - 0x124]
push dword [ebp - 0xc4]
push eax
push edi
push dword [ebp - 0x13c]
push dword [ebp - 0x140]
push esi
call fcn.10048e70
xorps xmm5, xmm5
cmp byte [ebp - 0xb4], 0
mov edi, dword [ebp - 0xbc]
lea eax, [edi + 0x18bc]
je 0x10058749
movss xmm0, dword [edi + 0x18]
addss xmm0, dword [ebx + 0xe60]
movss dword [ebx + 0xe60], xmm0
cmp byte [edi + 0xae], 0
je 0x10058615
comiss xmm5, xmm0
jae 0x10058615
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x128], xmm0
fld qword [ebp - 0x128]
fld qword [0x100aacf0]
call fcn.1008b280
movss xmm0, dword [0x100aac8c]
fstp qword [ebp - 0x128]
movsd xmm1, qword [ebp - 0x128]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jae 0x10058615
xor al, al
jmp 0x10058617
mov al, 1
movss xmm3, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
movss xmm6, dword [0x100aaca4]
addss xmm3, dword [ebp - 0x15c]
movss xmm4, dword [ecx]
addss xmm4, dword [ebp - 0x150]
subss xmm3, dword [0x100aabec]
subss xmm4, dword [ebp - 0xdc]
movss dword [ebp - 0xf0], xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
subss xmm0, dword [edi + 0x18bc]
movss dword [ebp - 0x150], xmm4
movaps xmm2, xmm4
movss dword [ebp - 0x14], xmm4
addss xmm2, xmm6
subss xmm1, dword [0x100aacd0]
addss xmm0, dword [0x100aac68]
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 8], xmm1
movss dword [ebp - 0x10], xmm0
test al, al
je 0x10058718
comiss xmm1, dword [ebp - 0x48]
jbe 0x10058718
movss xmm5, dword [ebp - 0xe0]
comiss xmm5, xmm0
jbe 0x10058718
comiss xmm2, dword [ebp - 0x4c]
jbe 0x10058718
movss xmm0, dword [ebp - 0x104]
comiss xmm0, xmm4
jbe 0x10058718
sub esp, 8
movss dword [ebp - 0x20], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x24], xmm4
xor ecx, ecx
mov dword [esp + 4], 0x3f800000
call fcn.1000d160
add esp, 4
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 0x26c]
call fcn.10045e40
movss xmm3, dword [ebp - 0xf0]
movss xmm4, dword [ebp - 0x150]
movss xmm6, dword [0x100aaca4]
cmp byte [ebp - 0xf4], 0
lea eax, [edi + 0x18bc]
jne 0x10058749
subss xmm3, dword [edi + 0x18bc]
subss xmm4, xmm6
lea eax, [edi + 0x18bc]
movss dword [edi + 0x2cd4], xmm3
movss dword [edi + 0x2cd0], xmm4
cmp byte [ebp - 0xd4], 0
je 0x100587f5
mov ecx, dword [0x10124700]
xorps xmm5, xmm5
movss xmm4, dword [ebp - 0xd0]
addss xmm4, dword [eax]
movss xmm0, dword [ebp - 0x110]
mov eax, dword [ecx + 0x199c]
addss xmm0, xmm5
mov byte [eax + 0x7c], 1
mov eax, dword [ecx + 0x199c]
cmp byte [eax + 0x7f], 0
jne 0x100587eb
movss xmm3, dword [eax + 0xc8]
lea ecx, [ebp - 0x24]
movss xmm1, dword [eax + 0xcc]
movaps xmm2, xmm3
addss xmm2, xmm0
movss dword [ebp - 0x10], xmm1
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm3
addss xmm0, xmm4
movss dword [ebp - 0xc], xmm2
subss xmm2, xmm3
movss dword [ebp - 8], xmm0
subss xmm0, xmm1
xorps xmm1, xmm1
movss dword [ebp - 0x24], xmm2
movss dword [ebp - 0x20], xmm0
call fcn.1000f390
push 0
xor edx, edx
lea ecx, [ebp - 0x14]
call fcn.1000f4a0
add esp, 4
call fcn.10011eb0
call fcn.10017d80
mov ebx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x148]
mov cl, byte [ebp - 0xb5]
test dl, dl
je 0x10058820
test cl, cl
jne 0x10058820
call fcn.100172b0
mov cl, byte [ebp - 0xb5]
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0xbc]
cmp byte [eax + 0x2d0c], 0
je 0x10058852
test dl, dl
je 0x10058837
test cl, cl
je 0x10058852
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x118]
push ebx
call fcn.1001d620
mov eax, dword [ebp - 0xbc]
add esp, 4
movss xmm0, dword [ebp - 0x154]
comiss xmm0, dword [0x100aabec]
jbe 0x100588ab
movss xmm0, dword [ebp - 0x44]
xor edx, edx
addss xmm0, dword [eax + 0x155c]
mov ecx, dword [ebp - 0x158]
movss dword [ebp - 0x118], xmm0
movss xmm0, dword [ebp - 0x48]
addss xmm0, dword [eax + 0x1548]
movss dword [ebp - 0x114], xmm0
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push 1
call fcn.1000dbb0
add esp, 0xc
mov cl, byte [ebp - 0xb0]
test cl, cl
je 0x100588ce
mov eax, dword [0x10124700]
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.1006e641
mov esp, ebp
pop ebp
ret