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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5b0
mov eax, dword [0x100aa00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x100aa088]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x13b8
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0x18]
and edx, 0x200
je 0x1004f61b
mov eax, dword [ebp + 0x18]
or eax, 6
mov dword [ebp + 0x18], eax
mov byte [ebp - 0x2d], 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.1004efe0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x1004f655
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.1004f060
add esp, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x2d], 1
call fcn.1004a100
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1ec]
cmp edx, dword [ebp - 0x64]
je 0x1004f671
mov byte [ebp - 0x39], 1
jmp 0x1004f675
mov byte [ebp - 0x39], 0
mov al, byte [ebp - 0x39]
mov byte [ebp - 0x26], al
movzx ecx, byte [ebp - 0x26]
test ecx, ecx
je 0x1004f68e
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
mov dword [edx + 8], eax
jmp 0x1004f697
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 8]
mov dword [ebp + 0x18], edx
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060d00
movzx eax, al
test eax, eax
jne 0x1004f6c4
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060be0
mov ecx, dword [eax]
mov dword [ebp - 0x114], ecx
jmp 0x1004f6ce
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060b40
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.10049740
add esp, 4
push 1
mov edx, dword [ebp - 0x14]
push edx
call fcn.1004eb00
add esp, 8
mov eax, dword [ebp - 0x64]
sub eax, 1
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x1ec], eax
jne 0x1004f720
mov dword [ebp - 0x118], 1
jmp 0x1004f72a
mov dword [ebp - 0x118], 0
mov dl, byte [ebp - 0x118]
mov byte [ebp - 0x19], dl
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x1004f7d4
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x17a0]
push edx
mov ecx, dword [ebp - 0x18]
add ecx, 0x1794
call fcn.10060e70
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax + 0x90]
cmp edx, dword [ecx]
jne 0x1004f775
mov dword [ebp - 0x6c], 1
jmp 0x1004f77c
mov dword [ebp - 0x6c], 0
movzx eax, byte [ebp - 0x19]
and eax, dword [ebp - 0x6c]
mov byte [ebp - 0x19], al
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x14]
cmp edx, dword [ecx + 4]
jne 0x1004f79a
mov dword [ebp - 0x70], 1
jmp 0x1004f7a1
mov dword [ebp - 0x70], 0
movzx eax, byte [ebp - 0x19]
and eax, dword [ebp - 0x70]
mov byte [ebp - 0x19], al
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x17a0
call fcn.10060db0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov dword [ecx + 0x90], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xa4], 1
jne 0x1004f7e6
mov byte [ebp - 0x3a], 1
jmp 0x1004f7ea
mov byte [ebp - 0x3a], 0
mov dl, byte [ebp - 0x3a]
mov byte [ebp - 0x23], dl
mov byte [ebp - 0x21], 0
mov byte [ebp - 0x24], 0
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x17c8], 0
je 0x1004f948
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xb8]
mov eax, dword [ecx + 0xbc]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], eax
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x1004f833
movzx edx, byte [ebp - 0x23]
test edx, edx
je 0x1004f848
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xa8]
or ecx, 8
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xa8], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [eax + 0xa8]
and edx, dword [ecx + 0x17c8]
je 0x1004f865
mov dword [ebp - 0x74], 1
jmp 0x1004f86c
mov dword [ebp - 0x74], 0
mov al, byte [ebp - 0x74]
mov byte [ebp - 0x21], al
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1004f900
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
lea ecx, [ebp - 0x4c0]
call fcn.10043cd0
push eax
mov edx, dword [ebp - 0x18]
add edx, 0x17ac
push edx
lea eax, [ebp - 0x4c8]
push eax
call fcn.100443f0
add esp, 0xc
push eax
call fcn.10044840
add esp, 4
fstp dword [ebp - 0x1b4]
movss xmm0, dword [0x100a3e94]
comiss xmm0, dword [ebp - 0x1b4]
jbe 0x1004f900
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0xb4], 1
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xa8]
and eax, 0xfffffff1
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xa8], eax
jmp 0x1004f920
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x17c8]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x17ac
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.100539c0
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c0]
mov dword [eax + 0xb8], ecx
mov edx, dword [ebp - 0x1bc]
mov dword [eax + 0xbc], edx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x17c8], 0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x17cc], 0
je 0x1004f9d0
movzx edx, byte [ebp - 0x19]
test edx, edx
je 0x1004f964
movzx eax, byte [ebp - 0x23]
test eax, eax
je 0x1004f979
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xac]
or edx, 8
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xac], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + 0xac]
and eax, dword [edx + 0x17cc]
je 0x1004f996
mov dword [ebp - 0x78], 1
jmp 0x1004f99d
mov dword [ebp - 0x78], 0
mov cl, byte [ebp - 0x78]
mov byte [ebp - 0x24], cl
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x17cc]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x17b4
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.10053b10
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x17cc], 0
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x17d0], 0
je 0x1004fa03
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x17bc]
mov ecx, dword [edx + 0x17c0]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x38], eax
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp - 0x18]
mov dword [eax + 0x17d0], 0
jmp 0x1004fa36
movzx ecx, byte [ebp - 0x26]
test ecx, ecx
je 0x1004fa36
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x4d0]
call fcn.10043cd0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x38], edx
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x17d4], 0
je 0x1004fa95
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x1004fa52
movzx ecx, byte [ebp - 0x23]
test ecx, ecx
je 0x1004fa67
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xb0]
or eax, 8
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xb0], eax
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x17d4]
push eax
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + 0x17c4]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.10053bd0
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x17d4], 0
mov edx, dword [ebp - 0x18]
movzx eax, byte [edx + 0x17f1]
test eax, eax
je 0x1004fab2
call fcn.10053c10
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x17f1], 0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x171c]
sub eax, 1
mov dword [ebp - 0x48], eax
jmp 0x1004facc
mov ecx, dword [ebp - 0x48]
sub ecx, 1
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 0
jle 0x1004faf5
mov edx, dword [ebp - 0x48]
push edx
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060c80
mov eax, dword [eax]
mov ecx, dword [eax + 8]
and ecx, 0x100000
jne 0x1004faf3
jmp 0x1004faf5
jmp 0x1004fac3
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x50], edx
jmp 0x1004fb06
mov eax, dword [ebp - 0x50]
sub eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jle 0x1004fb2e
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060c80
mov edx, dword [eax]
mov eax, dword [edx + 8]
and eax, 0x2100000
jne 0x1004fb2c
jmp 0x1004fb2e
jmp 0x1004fafd
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + 0x260], edx
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060c80
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov dword [ecx + 0x258], edx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x171c
call fcn.10060c80
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov dword [ecx + 0x25c], edx
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x1005228b
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x84], 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x8c], 0
push ecx
movss xmm0, dword [0x100a40c8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a40c8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
lea ecx, [ebp - 0x530]
call fcn.10043d40
push eax
lea ecx, [ebp - 0x224]
call fcn.10044980
mov ecx, dword [ebp - 0x14]
add ecx, 0x1cc
mov edx, dword [ebp - 0x224]
mov dword [ecx], edx
mov eax, dword [ebp - 0x220]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x21c]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x218]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x64]
mov dword [ecx + 0x1ec], edx
push 1
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c0
call fcn.10060ba0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.100687c0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x16dc]
mov eax, dword [edx + 0x44]
push eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x254]
call fcn.10068e50
lea edx, [ebp - 0x214]
push edx
call fcn.1004de10
add esp, 4
mov eax, dword [ebp + 0x18]
and eax, 0x100000
je 0x1004fca4
mov ecx, dword [ebp + 0x18]
and ecx, 0x2800000
jne 0x1004fca4
push 1
mov edx, dword [ebp - 0x2c]
add edx, 0x1d4
push edx
mov eax, dword [ebp - 0x2c]
add eax, 0x1cc
push eax
call fcn.1004be30
add esp, 0xc
jmp 0x1004fcbc
push 1
lea ecx, [ebp - 0x20c]
push ecx
lea edx, [ebp - 0x214]
push edx
call fcn.1004be30
add esp, 0xc
movzx eax, byte [ebp - 0x19]
test eax, eax
jne 0x1004fd27
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xa0], 0xffffffff
mov edx, dword [ebp + 0x18]
and edx, 0x1000
jne 0x1004fcfd
mov eax, dword [ebp + 0x18]
and eax, 0x1100000
je 0x1004fcf1
mov ecx, dword [ebp + 0x18]
and ecx, 0x2000000
je 0x1004fcfd
mov edx, dword [ebp - 0x14]
push edx
call fcn.10053140
add esp, 4
mov eax, dword [ebp + 0x18]
and eax, 0x2000000
je 0x1004fd27
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
jne 0x1004fd27
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp + 0x18]
and eax, 1
jne 0x1004fdda
mov ecx, dword [ebp + 0x18]
and ecx, 0x20
jne 0x1004fdda
lea edx, [ebp - 0x260]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.10045b30
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x172c]
cmp ecx, dword [ebp - 0x14]
jne 0x1004fdd8
push 1
lea edx, [ebp - 0x258]
push edx
lea eax, [ebp - 0x260]
push eax
call fcn.1004d9b0
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x1004fdd8
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + eax + 0x36c]
test edx, edx
je 0x1004fdd8
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
jne 0x1004fda9
mov dword [ebp - 0x7c], 1
jmp 0x1004fdb0
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0x14]
mov al, byte [ebp - 0x7c]
mov byte [edx + 0x87], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x100
jne 0x1004fdcc
call fcn.1004bb80
mov edx, dword [ebp - 0x14]
push edx
call fcn.10053140
add esp, 4
jmp 0x1004fde4
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x87], 0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x38]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jnp 0x1004fe0b
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x38]
movss dword [ebp - 0x84], xmm0
jmp 0x1004fe4a
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x1004fe1d
xorps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
jmp 0x1004fe35
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0xd0]
subss xmm0, dword [edx + 0x18]
movss dword [ebp - 0x80], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [eax + 0x5c]
movss dword [ebp - 0x84], xmm0
cvttss2si ecx, dword [ebp - 0x84]
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x30], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x3c]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jnp 0x1004fe85
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x3c]
movss dword [ebp - 0x8c], xmm0
jmp 0x1004fecd
movzx edx, byte [ebp - 0x2d]
test edx, edx
je 0x1004fe9a
xorps xmm0, xmm0
movss dword [ebp - 0x88], xmm0
jmp 0x1004feb5
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0xd4]
subss xmm0, dword [ecx + 0x1c]
movss dword [ebp - 0x88], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x88]
addss xmm0, dword [edx + 0x60]
movss dword [ebp - 0x8c], xmm0
cvttss2si eax, dword [ebp - 0x8c]
cvtsi2ss xmm0, eax
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x34], xmm0
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0xa4], 0
jle 0x1004ff02
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xa4]
sub ecx, 1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xa4], ecx
mov eax, dword [ebp + 0x18]
and eax, 0x3000000
je 0x1004ffa1
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
jne 0x1004ffa1
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xa4], 1
mov eax, dword [ebp + 0x18]
and eax, 0x40
je 0x1004ffa1
movzx ecx, byte [ebp - 0x24]
test ecx, ecx
jne 0x1004ff76
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x4d8]
call fcn.10043cd0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x498]
call fcn.10043cd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x30], ecx
mov dword [eax + 0x34], edx
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x1004ffdc
mov edx, dword [ebp + 0x18]
and edx, 0x2810080
jne 0x1004ffdc
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x4b0]
call fcn.10043cd0
mov dword [ebp - 0x90], eax
jmp 0x1004fffd
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e8], edx
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x1b8]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x50], eax
mov dword [edx + 0x54], ecx
lea ecx, [ebp - 0x38]
call fcn.10043ca0
mov eax, dword [ebp + 0x18]
and eax, 0x1000000
je 0x1005008f
mov ecx, dword [ebp - 0x20]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x4b8]
call fcn.10043cd0
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x50
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x30
push eax
lea ecx, [ebp - 0x4e0]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
lea edx, [ebp - 0x4e8]
push edx
call fcn.100443f0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
jmp 0x1005018d
mov eax, dword [ebp - 0x18]
add eax, 0x141c
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 4
push ecx
lea edx, [ebp - 0x4f0]
push edx
call fcn.100443f0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x20]
add eax, 0xc
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.10044640
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0xc
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x50
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x30
push eax
lea ecx, [ebp - 0x278]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
lea edx, [ebp - 0x280]
push edx
call fcn.10044730
add esp, 0x14
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x30]
comiss xmm0, dword [ebp - 0x38]
jbe 0x1005013e
mov ecx, dword [ebp + 0x18]
and ecx, 8
jne 0x1005013e
mov edx, dword [ebp + 0x18]
and edx, 0x800
je 0x1005013e
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x4c]
movss dword [ebp - 0x34], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x34]
comiss xmm0, dword [ebp - 0x34]
jbe 0x10050166
mov edx, dword [ebp + 0x18]
and edx, 8
jne 0x10050166
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [eax + 0x4c]
movss dword [ebp - 0x38], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x34]
subss xmm0, dword [ecx + 0x30]
push ecx
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x34]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x87]
test eax, eax
je 0x10050264
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
jle 0x100501ff
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x9c]
test eax, eax
je 0x100501e2
push ecx
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x94]
jmp 0x100501ef
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x94], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x94]
movss dword [edx + 0x28], xmm0
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jle 0x1005025f
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x9c]
test edx, edx
je 0x10050242
push ecx
movss xmm0, dword [ebp - 0x34]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x98]
jmp 0x1005024f
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0x98], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x98]
movss dword [ecx + 0x2c], xmm0
jmp 0x10050380
mov edx, dword [ebp + 0x18]
and edx, 0x40
je 0x10050288
movzx eax, byte [ebp - 0x24]
test eax, eax
jne 0x10050288
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
mov dword [ecx + 0x28], edx
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x2c], eax
jmp 0x10050380
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
jg 0x100502a4
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x98], 0
jle 0x10050380
movzx eax, byte [ebp - 0x24]
test eax, eax
jne 0x10050380
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
jle 0x10050310
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x9c]
test eax, eax
je 0x100502f3
push ecx
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x9c]
jmp 0x10050300
movss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x9c], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x9c]
movss dword [edx + 0x28], xmm0
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jle 0x10050370
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x9c]
test edx, edx
je 0x10050353
push ecx
movss xmm0, dword [ebp - 0x34]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0xa0]
jmp 0x10050360
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0xa0], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xa0]
movss dword [ecx + 0x2c], xmm0
mov edx, dword [ebp + 0x18]
and edx, 0x100
jne 0x10050380
call fcn.1004bb80
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [eax + 0x28]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.1004f3b0
add esp, 0xc
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x87]
test edx, edx
je 0x100503ca
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x540]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10045b30
mov ecx, eax
call fcn.10044a90
mov dword [ebp - 0xa4], eax
jmp 0x100503eb
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], ecx
lea edx, [ebp - 0x1f4]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x20], edx
mov dword [ecx + 0x24], eax
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x10050437
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x10c]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x2c]
add ecx, 0x10c
call fcn.10060b40
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x1005049a
mov edx, dword [ebp + 0x18]
and edx, 0x2000000
jne 0x1005049a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xbc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], edx
mov byte [ebp - 0x22], 0
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0xb4]
test edx, edx
je 0x100504c4
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xa4], 0
jne 0x100504c4
mov dword [ebp - 0xa8], 1
jmp 0x100504ce
mov dword [ebp - 0xa8], 0
movzx ecx, byte [ebp - 0x22]
or ecx, dword [ebp - 0xa8]
mov byte [ebp - 0x22], cl
mov edx, dword [ebp + 0x18]
and edx, 0x4000000
je 0x10050502
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x10050502
movzx ecx, byte [ebp - 0x23]
test ecx, ecx
je 0x10050502
mov dword [ebp - 0xac], 1
jmp 0x1005050c
mov dword [ebp - 0xac], 0
movzx edx, byte [ebp - 0x22]
or edx, dword [ebp - 0xac]
mov byte [ebp - 0x22], dl
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1005058f
push 0
push ecx
movss xmm0, dword [0x100a3f50]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
add ecx, 0x28
push ecx
lea edx, [ebp - 0x290]
push edx
call fcn.10044370
add esp, 0xc
push eax
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x214]
call fcn.10044a30
push eax
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.100443f0
add esp, 0xc
push eax
mov edx, dword [ebp - 0x20]
add edx, 0x64
push edx
lea eax, [ebp - 0x2a8]
push eax
call fcn.10044640
add esp, 0xc
push eax
call fcn.10053ab0
add esp, 8
jmp 0x10050805
mov ecx, dword [ebp + 0x18]
and ecx, 0x8000000
je 0x1005073f
lea ecx, [ebp - 0x148]
call fcn.100448e0
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 0x106]
test eax, eax
je 0x10050678
mov ecx, dword [ebp - 0x2c]
call fcn.10045ad0
fstp dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x15c]
addss xmm0, dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x2c]
movss dword [ebp - 0x160], xmm0
call fcn.10045b90
fstp dword [ebp - 0x164]
movss xmm0, dword [ebp - 0x160]
addss xmm0, dword [ebp - 0x164]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a40c8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x2c]
call fcn.10045ad0
fstp dword [ebp - 0x168]
mov edx, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x168]
addss xmm0, dword [edx + 0x1c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
lea ecx, [ebp - 0x550]
call fcn.100449e0
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x144], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x13c], edx
jmp 0x100506fe
push ecx
movss xmm0, dword [0x100a40c8]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [ecx + 0x20]
mov edx, dword [ebp - 0x20]
subss xmm0, dword [edx + 0x2c]
mov eax, dword [ebp - 0x2c]
subss xmm0, dword [eax + 0x78]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a4104]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edx + 0x2c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x560]
call fcn.100449e0
mov ecx, dword [eax]
mov dword [ebp - 0x148], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x144], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x140], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x13c], edx
lea eax, [ebp - 0x148]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0xa0
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x10
push eax
lea ecx, [ebp - 0x2b0]
push ecx
call fcn.1004ec10
add esp, 0x14
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], eax
jmp 0x10050805
mov edx, dword [ebp + 0x18]
and edx, 0x2000000
je 0x10050805
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x10050805
movzx ecx, byte [ebp - 0x23]
test ecx, ecx
je 0x10050805
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x14]
addss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x14]
subss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x10]
subss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x510]
call fcn.100449e0
lea eax, [ebp - 0x510]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0xa0
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x10
push eax
lea ecx, [ebp - 0x2b8]
push ecx
call fcn.1004ec10
add esp, 0x14
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], eax
mov edx, dword [ebp + 0x18]
and edx, 0x1000000
je 0x10050928
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x10050928
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ecx + 0xc8]
addss xmm0, dword [0x100a4030]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x18]
movss xmm0, dword [edx + 0xc4]
addss xmm0, dword [0x100a4030]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x18]
movss xmm0, dword [eax + 0xc8]
subss xmm0, dword [0x100a3ff4]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ecx + 0xc4]
subss xmm0, dword [0x100a4010]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x520]
call fcn.100449e0
lea edx, [ebp - 0x520]
push edx
mov eax, dword [ebp - 0x14]
add eax, 0xa0
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x18]
add edx, 0xc4
push edx
lea eax, [ebp - 0x2c0]
push eax
call fcn.1004ec10
add esp, 0x14
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0xa0], 0xffffffff
jne 0x10050928
push ecx
movss xmm0, dword [0x100a3fc0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fc0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2c8]
call fcn.10043cd0
push eax
mov edx, dword [ebp - 0x18]
add edx, 0xc4
push edx
lea eax, [ebp - 0x2d0]
push eax
call fcn.100443b0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
jne 0x10050a54
mov edx, dword [ebp + 0x18]
and edx, 0x1000000
jne 0x10050a54
movzx eax, byte [ebp - 0x21]
test eax, eax
jne 0x10050a54
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x94], 0
jg 0x10050a54
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x98], 0
jg 0x10050a54
mov eax, dword [ebp - 0x18]
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x100a3e80]
jbe 0x10050a54
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ecx + 8]
comiss xmm0, dword [0x100a3e80]
jbe 0x10050a54
mov edx, dword [ebp - 0x20]
add edx, 0x64
push edx
mov eax, dword [ebp - 0x20]
add eax, 0x5c
push eax
lea ecx, [ebp - 0x1fc]
push ecx
call fcn.10044640
add esp, 0xc
mov edx, dword [ebp - 0x14]
add edx, 0x20
push edx
lea eax, [ebp - 0x1fc]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x10
push edx
lea eax, [ebp - 0x2d8]
push eax
call fcn.100443b0
add esp, 0xc
push eax
lea ecx, [ebp - 0x2e0]
push ecx
call fcn.10044640
add esp, 0xc
push eax
lea edx, [ebp - 0x2e8]
push edx
call fcn.100443f0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
lea ecx, [ebp - 0x1fc]
push ecx
mov edx, dword [ebp - 0x18]
add edx, 4
push edx
lea eax, [ebp - 0x2f0]
push eax
call fcn.100443f0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x2f8]
push edx
call fcn.100445e0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x14]
cvttss2si edx, dword [ecx + 0x14]
cvtsi2ss xmm0, edx
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
cvttss2si ecx, dword [eax + 0x10]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x300]
call fcn.10043cd0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], edx
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x20]
comiss xmm0, dword [0x100a3e80]
jbe 0x10050ad9
mov eax, dword [ebp + 0x18]
and eax, 0x1000000
jne 0x10050ad9
mov ecx, dword [ebp + 0x18]
and ecx, 0x40
jne 0x10050ad9
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x20]
mulss xmm0, dword [0x100a3f70]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x1f0], xmm0
jmp 0x10050aff
mov edx, dword [ebp - 0x18]
movss xmm0, dword [edx + 0x16e0]
mulss xmm0, dword [0x100a4010]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x1f0], xmm0
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x274], 0x7fffffff
je 0x10050b47
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x264], 0xffffffff
je 0x10050b47
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x264]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x274]
lea eax, [ecx + edx + 1]
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x264]
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0xb0], edx
jmp 0x10050b51
mov dword [ebp - 0xb0], 0x7fffffff
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb0]
mov dword [edx + 0x26c], eax
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x278], 0x7fffffff
je 0x10050ba8
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x268], 0xffffffff
je 0x10050ba8
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x268]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x278]
lea eax, [eax + ecx + 1]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x268]
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0xb4], edx
jmp 0x10050bb2
mov dword [ebp - 0xb4], 0x7fffffff
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [edx + 0x270], eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x268], 0xffffffff
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x264], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x278], 0x7fffffff
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x274], 0x7fffffff
mov edx, dword [ebp - 0x14]
movss xmm0, dword [0x100a40c8]
comiss xmm0, dword [edx + 0x64]
jbe 0x10050c22
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x64]
mov dword [eax + 0x5c], edx
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x100a40c8]
movss dword [eax + 0x64], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [0x100a40c8]
comiss xmm0, dword [ecx + 0x68]
jbe 0x10050cb1
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x70]
movss dword [ebp - 0xb8], xmm0
movss xmm0, dword [0x100a3fa4]
subss xmm0, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x16c], xmm0
call fcn.10045ad0
fstp dword [ebp - 0x170]
movss xmm0, dword [ebp - 0x16c]
mulss xmm0, dword [ebp - 0x170]
mov eax, dword [ebp - 0x14]
movss xmm1, dword [eax + 0x68]
subss xmm1, xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xb8]
mulss xmm0, dword [ecx + 0x2c]
subss xmm1, xmm0
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x60], xmm1
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x100a40c8]
movss dword [eax + 0x68], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x308]
call fcn.10043cd0
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x5c
push ecx
lea edx, [ebp - 0x310]
push edx
call fcn.10044640
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], edx
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x87]
test edx, edx
jne 0x10050d9e
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
jne 0x10050d9e
mov edx, dword [ebp - 0x14]
add edx, 0x78
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x28
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x30
push ecx
lea edx, [ebp - 0x318]
push edx
call fcn.100443f0
add esp, 0xc
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.100443b0
add esp, 0xc
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x328]
call fcn.10043cd0
push eax
lea ecx, [ebp - 0x330]
push ecx
call fcn.10044640
add esp, 0xc
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x5c
push edx
lea eax, [ebp - 0x338]
push eax
call fcn.100445e0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], edx
mov ecx, dword [ebp + 0x18]
and ecx, 0x4000000
je 0x10050df6
call fcn.1004e200
cmp dword [ebp - 0x14], eax
jne 0x10050df6
push 0xf
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 0x18]
push ecx
movss xmm0, dword [edx + 0x1830]
movss dword [esp], xmm0
push 0x2a
call fcn.10045cd0
add esp, 8
push eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x214]
push ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x254]
call fcn.1006bb10
lea eax, [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10045b30
mov ecx, dword [ebp + 0x18]
and ecx, 0x100000
je 0x10050e22
mov edx, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x1c]
movss dword [ebp - 0xbc], xmm0
jmp 0x10050e32
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax + 0x14]
movss dword [ebp - 0xbc], xmm0
movss xmm0, dword [ebp - 0xbc]
movss dword [ebp - 0x44], xmm0
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x87]
test edx, edx
je 0x10050eb2
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push 1
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0xb
call fcn.10045cd0
add esp, 8
push eax
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x128]
call fcn.10044be0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x128]
call fcn.10044b40
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.1004cf80
add esp, 0x1c
jmp 0x10051a63
mov dword [ebp - 0xec], 0
movss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x100a3fa4]
mov eax, dword [ebp - 0x18]
movss xmm1, dword [eax + 0x16e0]
mulss xmm1, dword [0x100a3f14]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ecx + 0x16e0]
mulss xmm0, dword [0x100a3fb8]
push ecx
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x58]
mov edx, dword [ebp + 0x18]
and edx, 0x40
jne 0x100511b3
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 0
jg 0x100511b3
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x98], 0
jg 0x100511b3
mov edx, dword [ebp + 0x18]
and edx, 2
jne 0x100511b3
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x570]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10045a40
mov ecx, eax
call fcn.10044be0
lea edx, [ebp - 0x204]
push edx
movss xmm0, dword [ebp - 0x58]
mulss xmm0, dword [0x100a3f80]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x58]
mulss xmm0, dword [0x100a3f80]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x350]
call fcn.10043cd0
push eax
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x358]
push ecx
call fcn.100443f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x250]
call fcn.10044940
push 0
movzx edx, byte [ebp - 0x5d]
push edx
push str.RESIZE
lea ecx, [ebp - 0x10]
call fcn.10062060
mov ecx, eax
call fcn.1000d610
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10049690
mov dword [ebp - 0x174], eax
push 0x20
lea eax, [ebp - 0x25]
push eax
lea ecx, [ebp - 0x3b]
push ecx
mov edx, dword [ebp - 0x174]
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.10054650
add esp, 0x14
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
je 0x10051018
mov dword [ebp - 0xc4], 0x21
jmp 0x10051042
movzx edx, byte [ebp - 0x3b]
test edx, edx
je 0x1005102c
mov dword [ebp - 0xc0], 0x20
jmp 0x10051036
mov dword [ebp - 0xc0], 0x1f
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc4], eax
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc4]
push ecx
call fcn.10045cd0
add esp, 8
mov dword [ebp - 0xec], eax
movzx edx, byte [ebp - 0x3b]
test edx, edx
jne 0x10051075
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x10051082
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 0x18a0], 6
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x172c]
cmp eax, dword [ebp - 0x14]
jne 0x100510e3
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
je 0x100510e3
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x18]
movzx edx, byte [ecx + eax + 0x36c]
test edx, edx
je 0x100510e3
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call fcn.1004f3b0
add esp, 0xc
mov eax, dword [ebp + 0x18]
and eax, 0x100
jne 0x100510d2
call fcn.1004bb80
push 0
push 0
call fcn.100497b0
add esp, 8
jmp 0x1005116f
movzx ecx, byte [ebp - 0x25]
test ecx, ecx
je 0x1005116f
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x250]
call fcn.10044a90
push eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x174c
push ecx
mov edx, dword [ebp - 0x18]
add edx, 0xc4
push edx
lea eax, [ebp - 0x368]
push eax
call fcn.100443f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x370]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
lea edx, [ebp - 0x378]
push edx
call fcn.100443f0
add esp, 0xc
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.1004f3b0
add esp, 0xc
mov ecx, dword [ebp + 0x18]
and ecx, 0x100
jne 0x1005116f
call fcn.1004bb80
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], ecx
lea eax, [ebp - 0x580]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10045b30
mov ecx, dword [eax]
mov dword [ebp - 0x128], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x124], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x120], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp + 0x18]
and eax, 0x4000
jne 0x100511ee
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x24]
addss xmm0, dword [edx + 0x30]
mov eax, dword [ebp - 0x14]
movss xmm1, dword [eax + 0x34]
comiss xmm1, xmm0
jbe 0x100511e2
mov ecx, dword [ebp + 0x18]
and ecx, 8
je 0x100511ee
mov dword [ebp - 0xc8], 0
jmp 0x100511f8
mov dword [ebp - 0xc8], 1
mov edx, dword [ebp - 0x14]
mov al, byte [ebp - 0xc8]
mov byte [edx + 0x75], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x8000
jne 0x1005127a
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x75]
test eax, eax
je 0x1005122c
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x4c]
movss dword [ebp - 0xcc], xmm0
jmp 0x10051237
xorps xmm0, xmm0
movss dword [ebp - 0xcc], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x20]
subss xmm0, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x14]
subss xmm0, dword [eax + 0x50]
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ecx + 0x30]
comiss xmm1, xmm0
jbe 0x1005126e
mov edx, dword [ebp + 0x18]
and edx, 8
jne 0x1005126e
mov eax, dword [ebp + 0x18]
and eax, 0x800
jne 0x1005127a
mov dword [ebp - 0xd0], 0
jmp 0x10051284
mov dword [ebp - 0xd0], 1
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0xd0]
mov byte [ecx + 0x74], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x100512ad
mov edx, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x4c]
movss dword [ebp - 0xd4], xmm0
jmp 0x100512b8
xorps xmm0, xmm0
movss dword [ebp - 0xd4], xmm0
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x75]
test ecx, ecx
je 0x100512d5
mov edx, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x4c]
movss dword [ebp - 0xd8], xmm0
jmp 0x100512e0
xorps xmm0, xmm0
movss dword [ebp - 0xd8], xmm0
push ecx
movss xmm0, dword [ebp - 0xd4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xd8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x380]
call fcn.10043cd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], edx
mov ecx, dword [ebp + 0x18]
and ecx, 0x80
je 0x10051332
movss xmm0, dword [0x100a3fa4]
movss dword [ebp - 0xdc], xmm0
jmp 0x1005133d
xorps xmm0, xmm0
movss dword [ebp - 0xdc], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0xdc]
movss dword [edx + 0x80], xmm0
mov dword [ebp - 0x54], 2
mov eax, dword [ebp + 0x18]
and eax, 0x800000
je 0x1005136a
mov dword [ebp - 0x54], 0x12
jmp 0x1005139a
mov ecx, dword [ebp + 0x18]
and ecx, 0x1000000
jne 0x10051380
mov edx, dword [ebp + 0x18]
and edx, 0x2000000
je 0x10051389
mov dword [ebp - 0x54], 4
jmp 0x1005139a
mov eax, dword [ebp + 0x18]
and eax, 0x100000
je 0x1005139a
mov dword [ebp - 0x54], 3
mov ecx, dword [ebp - 0x54]
shl ecx, 4
mov edx, dword [ebp - 0x20]
lea eax, [edx + ecx + 0x74]
mov ecx, dword [eax]
mov dword [ebp - 0x158], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x154], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x150], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x14c], edx
movss xmm0, dword [ebp + 0x14]
comiss xmm0, dword [0x100a3e80]
jb 0x100513e5
movss xmm0, dword [ebp + 0x14]
movss dword [ebp - 0x14c], xmm0
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x14c]
mulss xmm0, dword [eax]
movss dword [ebp - 0x14c], xmm0
movss xmm0, dword [ebp - 0x14c]
comiss xmm0, dword [0x100a3e80]
jbe 0x100514b5
mov ecx, dword [ebp + 0x18]
and ecx, 1
je 0x10051425
mov dword [ebp - 0xe0], 0xf
jmp 0x1005142f
mov dword [ebp - 0xe0], 0xc
mov edx, dword [ebp - 0xe0]
push edx
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
lea eax, [ebp - 0x158]
push eax
call fcn.10048240
add esp, 4
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x388]
push eax
call fcn.100443b0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10045ad0
push ecx
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x390]
call fcn.10043cd0
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x18
push ecx
lea edx, [ebp - 0x398]
push edx
call fcn.100443b0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.1006bb10
mov ecx, dword [ebp + 0x18]
and ecx, 1
jne 0x1005155c
mov edx, dword [ebp - 0x18]
cmp dword [edx + 0x1728], 0
je 0x100514f3
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x1728]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x25c]
cmp eax, dword [ecx + 0x25c]
jne 0x100514f3
mov dword [ebp - 0xe4], 0xc
jmp 0x100514fd
mov dword [ebp - 0xe4], 0xa
push 3
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.10045cd0
add esp, 8
push eax
lea edx, [ebp - 0x3a0]
push edx
lea ecx, [ebp - 0x128]
call fcn.10044be0
push eax
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x128]
call fcn.10044b40
push eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x254]
call fcn.1006bb10
mov edx, dword [ebp + 0x18]
and edx, 0x400
je 0x100516bf
lea eax, [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.10045bf0
mov ecx, dword [ebp + 0x18]
and ecx, 1
je 0x10051591
movss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0xe8], xmm0
jmp 0x1005159c
xorps xmm0, xmm0
movss dword [ebp - 0xe8], xmm0
push 3
push ecx
movss xmm0, dword [ebp - 0xe8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0xd
call fcn.10045cd0
add esp, 8
push eax
lea edx, [ebp - 0x3b0]
push edx
lea ecx, [ebp - 0x234]
call fcn.10044be0
push eax
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp - 0x234]
call fcn.10044b40
push eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x254]
call fcn.1006bb10
mov edx, dword [ebp + 0x18]
and edx, 0x80
je 0x100516bf
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 5
call fcn.10045cd0
add esp, 8
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x3c0]
call fcn.10043cd0
push eax
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x234]
call fcn.10044be0
push eax
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.100443f0
add esp, 0xc
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x3d8]
call fcn.10043cd0
push eax
lea edx, [ebp - 0x3e0]
push edx
lea ecx, [ebp - 0x234]
call fcn.10044ba0
push eax
lea eax, [ebp - 0x3e8]
push eax
call fcn.100443f0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x254]
call fcn.1006b990
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x74]
test eax, eax
je 0x100516d8
push 1
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.100526f0
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x75]
test eax, eax
je 0x100516f1
push 0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.100526f0
add esp, 8
mov edx, dword [ebp + 0x18]
and edx, 2
jne 0x1005184a
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x590]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10045a40
mov ecx, eax
call fcn.10044be0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x80]
xorps xmm0, xmmword [0x100a4130]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x58]
xorps xmm0, xmmword [0x100a4130]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3f0]
call fcn.10043cd0
push eax
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x3f8]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x254]
call fcn.10044060
movss xmm0, dword [ebp - 0x58]
xorps xmm0, xmmword [0x100a4130]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x80]
xorps xmm0, xmmword [0x100a4130]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x400]
call fcn.10043cd0
push eax
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x408]
push edx
call fcn.100443b0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.10044060
push 3
push 0
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x12c]
subss xmm0, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x14]
subss xmm0, dword [ecx + 0x80]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x130]
subss xmm0, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
subss xmm0, dword [edx + 0x80]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x410]
call fcn.10043cd0
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.1006b340
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x254]
call fcn.10044080
mov eax, dword [ebp + 0x18]
and eax, 0x80
je 0x10051a63
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0xf
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 6
call fcn.10045cd0
add esp, 8
push eax
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x418]
call fcn.10043cd0
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x420]
push eax
call fcn.100443b0
add esp, 0xc
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x430]
call fcn.10043cd0
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x438]
push eax
call fcn.100443b0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x254]
call fcn.1006ba50
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0xf
push ecx
movss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 5
call fcn.10045cd0
add esp, 8
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x18
push eax
lea ecx, [ebp - 0x440]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.1006ba50
mov ecx, dword [ebp + 0x18]
and ecx, 1
jne 0x10051a63
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 5
call fcn.10045cd0
add esp, 8
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x448]
call fcn.10043cd0
push eax
lea edx, [ebp - 0x450]
push edx
lea ecx, [ebp - 0x128]
call fcn.10044be0
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.100443f0
add esp, 0xc
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x460]
call fcn.10043cd0
push eax
lea ecx, [ebp - 0x468]
push ecx
lea ecx, [ebp - 0x128]
call fcn.10044ba0
push eax
lea edx, [ebp - 0x470]
push edx
call fcn.100443b0
add esp, 0xc
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x254]
call fcn.1006b990
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x5c]
xorps xmm0, xmmword [0x100a4130]
mov edx, dword [ebp - 0x14]
addss xmm0, dword [edx + 0x50]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x40], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x60]
xorps xmm0, xmmword [0x100a4130]
mov edx, dword [ebp - 0x14]
addss xmm0, dword [edx + 0x54]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x178], xmm0
call fcn.10045ad0
fstp dword [ebp - 0x17c]
movss xmm0, dword [ebp - 0x178]
addss xmm0, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x180], xmm0
call fcn.10045b90
fstp dword [ebp - 0x184]
movss xmm0, dword [ebp - 0x180]
addss xmm0, dword [ebp - 0x184]
mov eax, dword [ebp - 0x14]
movss dword [eax + 0x40], xmm0
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x38]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jnp 0x10051b14
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x38]
movss dword [ebp - 0xf0], xmm0
jmp 0x10051b2c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x20]
subss xmm0, dword [ecx + 0x78]
movss dword [ebp - 0xf0], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x5c]
xorps xmm0, xmmword [0x100a4130]
mov eax, dword [ebp - 0x14]
subss xmm0, dword [eax + 0x50]
addss xmm0, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0x48], xmm0
mov edx, dword [ebp - 0x14]
movss xmm0, dword [edx + 0x3c]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jnp 0x10051b7a
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x3c]
movss dword [ebp - 0xf4], xmm0
jmp 0x10051b92
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x24]
subss xmm0, dword [edx + 0x7c]
movss dword [ebp - 0xf4], xmm0
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x60]
xorps xmm0, xmmword [0x100a4130]
mov ecx, dword [ebp - 0x14]
subss xmm0, dword [ecx + 0x54]
addss xmm0, dword [ebp - 0xf4]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x4c], xmm0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
addss xmm0, dword [eax + 0x50]
mov ecx, dword [ebp - 0x14]
subss xmm0, dword [ecx + 0x5c]
mov edx, dword [ebp - 0x14]
movss dword [edx + 0x188], xmm0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0x18c], xmm0
mov ecx, dword [ebp - 0x14]
call fcn.10045ad0
fstp dword [ebp - 0x188]
movss xmm0, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x18c], xmm0
call fcn.10045b90
fstp dword [ebp - 0x190]
movss xmm0, dword [ebp - 0x18c]
addss xmm0, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x14]
addss xmm0, dword [ecx + 0x54]
mov edx, dword [ebp - 0x14]
subss xmm0, dword [edx + 0x60]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x188]
addss xmm0, dword [ecx + 0x18c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x478]
call fcn.10043cd0
push eax
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x480]
push eax
call fcn.100443b0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xc8], ecx
mov dword [eax + 0xcc], edx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc8]
mov eax, dword [ecx + 0xcc]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0xb8], edx
mov dword [ecx + 0xbc], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xb8]
mov ecx, dword [edx + 0xbc]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xc0], eax
mov dword [edx + 0xc4], ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc8]
mov edx, dword [eax + 0xcc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xd0], ecx
mov dword [eax + 0xd4], edx
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0xe0], xmm0
mov edx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [edx + 0xd8], xmm0
mov eax, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [eax + 0xe4], xmm0
mov ecx, dword [ebp - 0x14]
xorps xmm0, xmm0
movss dword [ecx + 0xdc], xmm0
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x106], 0
mov eax, dword [ebp - 0x20]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
push ecx
movss xmm0, dword [ecx + 0x50]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
mov edx, dword [ebp - 0x14]
fstp dword [edx + 0x108]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0xbc]
subss xmm0, dword [0x100a40c0]
mov ecx, dword [ebp - 0x14]
movss dword [ecx + 0xe8], xmm0
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x10c
call fcn.10060ba0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x11c], 0
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1f0]
mov dword [eax + 0x120], edx
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x100a40e0]
movss dword [eax + 0x124], xmm0
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x128], 1
mov edx, dword [ebp - 0x14]
mov byte [edx + 0x129], 0
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x12c
call fcn.10060ba0
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x138
call fcn.10060ba0
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x144
call fcn.10060d30
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x150
call fcn.10060d30
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x168], 0xfffffffe
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x190], 0
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x194], 1
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xbc]
mov dword [eax + 0x1a0], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1a0]
mov dword [eax + 0x1a8], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x1a8]
mov dword [eax + 0x1a4], edx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xec], 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x244
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x118], ecx
push 0
mov ecx, dword [ebp - 0x14]
add ecx, 0x15c
call fcn.10060ca0
movzx eax, byte [ebp - 0x19]
test eax, eax
jne 0x10051ea0
mov byte [ebp - 0x3c], 1
jmp 0x10051ea4
mov byte [ebp - 0x3c], 0
movzx ecx, byte [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x20]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
push 3
mov ecx, dword [ebp - 0x14]
add ecx, 0x1f4
call fcn.10048b00
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x94], 0
jle 0x10051ee8
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x94]
sub edx, 1
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x94], edx
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x98], 0
jle 0x10051f09
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x98]
sub eax, 1
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x98], eax
mov edx, dword [ebp + 0x18]
and edx, 1
jne 0x10052245
cmp dword [ebp + 0xc], 0
je 0x10051fea
movss xmm0, dword [0x100a3fc0]
movss dword [ebp - 0x238], xmm0
mov ecx, dword [ebp - 0x14]
call fcn.10045ad0
fstp dword [ebp - 0x194]
movss xmm0, dword [ebp - 0x194]
subss xmm0, dword [0x100a3fd8]
mulss xmm0, dword [0x100a3f50]
movss dword [ebp - 0x68], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
movss xmm0, dword [0x100a3fc0]
addss xmm0, dword [ebp - 0x68]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [0x100a40e8]
subss xmm0, dword [ebp - 0x68]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x488]
call fcn.10043cd0
push eax
lea eax, [ebp - 0x490]
push eax
lea ecx, [ebp - 0x5a0]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10045a40
mov ecx, eax
call fcn.10044b60
push eax
lea edx, [ebp - 0x4f8]
push edx
call fcn.100443b0
add esp, 0xc
push eax
push 0
push str.CLOSE
mov ecx, dword [ebp - 0x14]
call fcn.10049690
push eax
call fcn.10054f90
add esp, 0xc
movzx eax, al
test eax, eax
je 0x10051fea
mov ecx, dword [ebp + 0xc]
mov byte [ecx], 0
push ecx
movss xmm0, dword [0x100a40e0]
movss dword [esp], xmm0
push 1
push 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x1e4]
push eax
call fcn.1004d6a0
add esp, 0x14
mov ecx, dword [ebp + 0x18]
and ecx, 0x20
jne 0x10052070
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x87]
test eax, eax
jne 0x1005202b
mov byte [ebp - 0x3d], 1
jmp 0x1005202f
mov byte [ebp - 0x3d], 0
push 1
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
movzx ecx, byte [ebp - 0x3d]
push ecx
mov edx, dword [ebp - 0x20]
add edx, 0x20
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x18
push eax
lea ecx, [ebp - 0x4a0]
push ecx
call fcn.100443b0
add esp, 0xc
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
call fcn.1004d0d0
add esp, 0x14
mov ecx, dword [ebp - 0x20]
add ecx, 0x20
push ecx
mov edx, dword [ebp - 0x14]
add edx, 0x18
push edx
lea eax, [ebp - 0x1c8]
push eax
call fcn.100443b0
add esp, 0xc
mov ecx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x24]
mulss xmm0, dword [0x100a3fc0]
addss xmm0, dword [ebp - 0x1e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x20]
subss xmm0, dword [eax + 0x20]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x4a8]
call fcn.10043cd0
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x18
push ecx
lea edx, [ebp - 0x138]
push edx
call fcn.100443b0
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x10052114
lea ecx, [ebp - 0x128]
call fcn.10044b10
fstp dword [ebp - 0x198]
movss xmm0, dword [ebp - 0x198]
subss xmm0, dword [0x100a3fcc]
movss dword [ebp - 0xf8], xmm0
jmp 0x10052124
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax + 0x20]
movss dword [ebp - 0xf8], xmm0
push ecx
movss xmm0, dword [ebp - 0x134]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x18]
addss xmm0, dword [edx + 0x20]
subss xmm0, dword [ebp - 0xf8]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x240]
call fcn.10043cd0
mov eax, dword [ebp + 0x18]
and eax, 0x20
jne 0x1005216f
mov dword [ebp - 0xfc], 1
jmp 0x10052179
mov dword [ebp - 0xfc], 0
mov cl, byte [ebp - 0xfc]
mov byte [ebp - 0x3e], cl
cmp dword [ebp + 0xc], 0
je 0x10052194
mov dword [ebp - 0x100], 1
jmp 0x1005219e
mov dword [ebp - 0x100], 0
mov dl, byte [ebp - 0x100]
mov byte [ebp - 0x3f], dl
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x18]
and ecx, 2
je 0x100521b8
mov dl, byte [ebp - 0x3e]
mov byte [ebp - 0x3f], dl
movzx eax, byte [ebp - 0x3e]
test eax, eax
je 0x100521e3
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x16e0]
addss xmm0, dword [edx + 0x34]
addss xmm0, dword [ebp - 0x1c8]
movss dword [ebp - 0x1c8], xmm0
movzx eax, byte [ebp - 0x3f]
test eax, eax
je 0x10052212
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ecx + 0x16e0]
addss xmm0, dword [edx + 0x34]
movss xmm1, dword [ebp - 0x138]
subss xmm1, xmm0
movss dword [ebp - 0x138], xmm1
lea eax, [ebp - 0x240]
push eax
push 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x18]
push edx
lea eax, [ebp - 0x1e4]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x138]
push edx
lea eax, [ebp - 0x1c8]
push eax
call fcn.1004cc80
add esp, 0x20
lea ecx, [ebp - 0x5b0]
push ecx
mov ecx, dword [ebp - 0x14]
call fcn.10045a40
mov edx, dword [ebp - 0x14]
add edx, 0x1dc
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1cc
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1dc
call fcn.10044d60
lea edx, [ebp - 0x270]
push edx
mov ecx, dword [ebp - 0x14]
call fcn.10045b30
mov eax, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x80]
movss dword [ebp - 0x5c], xmm0
lea ecx, [ebp - 0x1dc]
call fcn.100448e0
movss xmm0, dword [0x100a3f50]
addss xmm0, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x14]
movss xmm1, dword [ecx + 0x50]
mulss xmm1, dword [0x100a3f50]
push ecx
movss dword [esp], xmm1
movss dword [ebp - 0x19c], xmm0
call fcn.10044880
fstp dword [esp]
push ecx
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x1a0]
movss xmm0, dword [ebp - 0x19c]
addss xmm0, dword [ebp - 0x1a0]
push ecx
movss dword [esp], xmm0
call fcn.10044880
add esp, 4
fstp dword [ebp - 0x1dc]
movss xmm0, dword [0x100a3f50]
addss xmm0, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x14]
movss dword [ebp - 0x1a4], xmm0
call fcn.10045b90
fstp dword [ebp - 0x1a8]
movss xmm0, dword [ebp - 0x1a4]
addss xmm0, dword [ebp - 0x1a8]
addss xmm0, dword [ebp - 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10044880
add esp, 4
fstp dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [0x100a3f50]
addss xmm0, dword [edx + 0x18]
mov eax, dword [ebp - 0x14]
addss xmm0, dword [eax + 0x20]
mov ecx, dword [ebp - 0x14]
subss xmm0, dword [ecx + 0x78]
mov edx, dword [ebp - 0x14]
movss xmm1, dword [edx + 0x50]
mulss xmm1, dword [0x100a3f50]
push ecx
movss dword [esp], xmm1
movss dword [ebp - 0x1ac], xmm0
call fcn.10044880
fstp dword [esp]
push ecx
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x1b0]
movss xmm0, dword [ebp - 0x1ac]
subss xmm0, dword [ebp - 0x1b0]
push ecx
movss dword [esp], xmm0
call fcn.10044880
add esp, 4
fstp dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x14]
movss xmm0, dword [0x100a3f50]
addss xmm0, dword [eax + 0x1c]
mov ecx, dword [ebp - 0x14]
addss xmm0, dword [ecx + 0x24]
mov edx, dword [ebp - 0x14]
subss xmm0, dword [edx + 0x7c]
subss xmm0, dword [ebp - 0x5c]
push ecx
movss dword [esp], xmm0
call fcn.10044880
add esp, 4
fstp dword [ebp - 0x1d0]
push 1
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x1dc]
push ecx
call fcn.1004be30
add esp, 0xc
movzx edx, byte [ebp - 0x26]
test edx, edx
je 0x1005245d
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x86], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x8c]
add edx, 1
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x8c], edx
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0x17f0], 0
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x10052559
cmp dword [ebp - 0x2c], 0
je 0x100524ab
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [eax + 0x87]
test ecx, ecx
je 0x100524ab
mov dword [ebp - 0x104], 1
jmp 0x100524b5
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x14]
mov al, byte [ebp - 0x104]
mov byte [edx + 0x87], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x40
jne 0x10052541
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x94], 0
jg 0x10052541
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jg 0x10052541
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
movss xmm0, dword [ecx + 0x1dc]
comiss xmm0, dword [edx + 0x1e4]
jae 0x1005251e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
movss xmm0, dword [eax + 0x1e0]
comiss xmm0, dword [ecx + 0x1e8]
jae 0x1005251e
mov dword [ebp - 0x108], 0
jmp 0x10052528
mov dword [ebp - 0x108], 1
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x87]
or eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x87], al
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x87]
test eax, eax
je 0x10052559
mov ecx, dword [ebp - 0x14]
mov byte [ecx + 0x84], 0
mov edx, dword [ebp - 0x20]
xorps xmm0, xmm0
comiss xmm0, dword [edx]
jb 0x1005256e
mov eax, dword [ebp - 0x14]
mov byte [eax + 0x84], 0
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x87]
test edx, edx
jne 0x1005258a
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x84]
test ecx, ecx
jne 0x100525ae
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x94], 0
jg 0x100525ae
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x98], 0
jg 0x100525ae
mov dword [ebp - 0x10c], 1
jmp 0x100525b8
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp - 0x10c]
mov byte [ecx + 0x88], dl
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
jne 0x100525e1
mov dword [ebp - 0x110], 1
jmp 0x100525eb
mov dword [ebp - 0x110], 0
mov al, byte [ebp - 0x110]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100972e3
mov esp, ebp
pop ebp
ret