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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x524
push esi
mov eax, dword [0x10370a58]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1518
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10055be0
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x1004e169
mov byte [ebp - 0x1d], 1
jmp 0x1004e16d
mov byte [ebp - 0x1d], 0
mov al, byte [ebp - 0x1d]
mov byte [ebp - 0x21], al
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1004e21b
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a40], 0
je 0x1004e1b4
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a68]
mov edx, dword [eax + 0x1a6c]
mov dword [ebp - 0x29c], ecx
mov dword [ebp - 0x298], edx
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x130], eax
jmp 0x1004e1d7
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x46c]
call fcn.10023940
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x220]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10053cc0
add esp, 0x10
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
and eax, 0xc0200
cmp eax, 0xc0200
jne 0x1004e233
mov ecx, dword [ebp + 0x10]
or ecx, 6
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1950]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x218]
cmp eax, dword [ebp - 0x70]
je 0x1004e253
mov byte [ebp - 0x1e], 1
jmp 0x1004e257
mov byte [ebp - 0x1e], 0
mov cl, byte [ebp - 0x1e]
mov byte [ebp - 0x14], cl
movzx edx, byte [ebp - 0x14]
test edx, edx
je 0x1004e270
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
jmp 0x1004e279
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [ebp + 0x10], eax
mov ecx, dword [ebp - 8]
add ecx, 0x1980
call fcn.100404b0
movzx ecx, al
test ecx, ecx
je 0x1004e29a
mov dword [ebp - 0x188], 0
jmp 0x1004e2b0
mov ecx, dword [ebp - 8]
add ecx, 0x1980
call fcn.100636e0
mov edx, dword [eax]
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x218], eax
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1004e2f5
mov edx, dword [ebp + 0x10]
and edx, 0x5000000
je 0x1004e2dd
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x18c], eax
jmp 0x1004e2e7
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x190], ecx
jmp 0x1004e304
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x2e8]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp + 0xc], 0
je 0x1004e31f
mov dword [ebp - 0x8c], 1
jmp 0x1004e329
mov dword [ebp - 0x8c], 0
mov edx, dword [ebp - 4]
mov al, byte [ebp - 0x8c]
mov byte [edx + 0x7e], al
mov ecx, dword [ebp - 0x70]
sub ecx, 1
mov edx, dword [ebp - 4]
cmp dword [edx + 0x218], ecx
jge 0x1004e352
mov dword [ebp - 0x90], 1
jmp 0x1004e35c
mov dword [ebp - 0x90], 0
mov al, byte [ebp - 0x90]
mov byte [ebp - 9], al
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0xa4], 0
jle 0x1004e377
mov byte [ebp - 0x1f], 1
jmp 0x1004e37b
mov byte [ebp - 0x1f], 0
mov dl, byte [ebp - 0x1f]
mov byte [ebp - 0x15], dl
mov eax, dword [ebp + 0x10]
and eax, 0x4000000
je 0x1004e414
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x1a30]
push edx
mov ecx, dword [ebp - 8]
add ecx, 0x1a24
call fcn.1004d860
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x98]
mov edx, dword [eax + 0x88]
cmp edx, dword [ecx]
je 0x1004e3cc
mov dword [ebp - 0x94], 1
jmp 0x1004e3d6
mov dword [ebp - 0x94], 0
movzx eax, byte [ebp - 9]
or eax, dword [ebp - 0x94]
mov byte [ebp - 9], al
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 4]
cmp edx, dword [ecx + 4]
je 0x1004e3fd
mov dword [ebp - 0x9c], 1
jmp 0x1004e407
mov dword [ebp - 0x9c], 0
movzx eax, byte [ebp - 9]
or eax, dword [ebp - 0x9c]
mov byte [ebp - 9], al
movzx ecx, byte [ebp - 9]
test ecx, ecx
jne 0x1004e430
movzx edx, byte [ebp - 0x15]
test edx, edx
jne 0x1004e430
mov dword [ebp - 0xa0], 0
jmp 0x1004e43a
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0xa0]
mov byte [eax + 0x7c], cl
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x7c]
test eax, eax
je 0x1004e461
push 1
push 8
mov ecx, dword [ebp - 4]
push ecx
call fcn.100613b0
add esp, 0xc
lea edx, [ebp - 4]
push edx
mov ecx, dword [ebp - 8]
add ecx, 0x1980
call fcn.10063bb0
mov eax, dword [ebp - 4]
push eax
call fcn.10060ae0
add esp, 4
push 1
mov ecx, dword [ebp - 4]
push ecx
call fcn.10052ea0
add esp, 8
mov edx, dword [ebp + 0x10]
and edx, 0x4000000
je 0x1004e4dc
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a30]
push ecx
mov ecx, dword [ebp - 8]
add ecx, 0x1a24
call fcn.1004d860
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 4]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 8]
add ecx, 0x1a30
call fcn.10063c70
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax]
mov dword [edx + 0x88], ecx
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x1004e504
mov eax, dword [ebp + 0x10]
and eax, 0x1000000
jne 0x1004e504
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 4]
mov dword [eax + edx + 0x2fc], 0
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x13], 0
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x1a3c], 0
je 0x1004e5f6
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [edx + 0xa8]
and ecx, dword [eax + 0x1a3c]
je 0x1004e540
mov dword [ebp - 0xa4], 1
jmp 0x1004e54a
mov dword [ebp - 0xa4], 0
mov dl, byte [ebp - 0xa4]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1004e5d7
mov ecx, dword [ebp - 8]
add ecx, 0x1a60
push ecx
call fcn.10057d60
add esp, 4
fstp dword [ebp - 0x21c]
movss xmm0, dword [ebp - 0x21c]
comiss xmm0, dword [0x10155654]
jbe 0x1004e5d7
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1a58]
mov ecx, dword [edx + 0x1a5c]
mov edx, dword [ebp - 4]
mov dword [edx + 0xb4], eax
mov dword [edx + 0xb8], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a60]
mov edx, dword [eax + 0x1a64]
mov eax, dword [ebp - 4]
mov dword [eax + 0xbc], ecx
mov dword [eax + 0xc0], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xa8]
and edx, 0xfffffff1
mov eax, dword [ebp - 4]
mov dword [eax + 0xa8], edx
jmp 0x1004e5f6
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x1a3c]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1a58
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10061460
add esp, 0xc
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a40], 0
je 0x1004e6b3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov edx, dword [eax + 0xac]
and edx, dword [ecx + 0x1a40]
je 0x1004e63a
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x1a68]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004e63a
mov dword [ebp - 0xa8], 1
jmp 0x1004e644
mov dword [ebp - 0xa8], 0
mov cl, byte [ebp - 0xa8]
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [edx + 0xac]
and ecx, dword [eax + 0x1a40]
je 0x1004e681
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x1a6c]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004e681
mov dword [ebp - 0xac], 1
jmp 0x1004e68b
mov dword [ebp - 0xac], 0
mov al, byte [ebp - 0xac]
mov byte [ebp - 0x13], al
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x1a40]
push edx
mov eax, dword [ebp - 8]
add eax, 0x1a68
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10061600
add esp, 0xc
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a44], 0
je 0x1004e73a
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a70]
mov edx, dword [eax + 0x1a74]
mov eax, dword [ebp - 4]
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x38]
ucomiss xmm0, dword [0x10154bb8]
lahf
test ah, 0x44
jnp 0x1004e738
mov ecx, dword [ebp - 4]
call fcn.10061be0
fstp dword [ebp - 0x238]
movss xmm0, dword [ebp - 0x238]
mov ecx, dword [ebp - 4]
movss dword [ebp - 0x23c], xmm0
call fcn.1005a4e0
fstp dword [ebp - 0x1a0]
movss xmm0, dword [ebp - 0x23c]
addss xmm0, dword [ebp - 0x1a0]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + 0x38]
mov eax, dword [ebp - 4]
movss dword [eax + 0x38], xmm0
jmp 0x1004e76d
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1004e76d
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x484]
call fcn.10023940
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x34], edx
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a48], 0
je 0x1004e79a
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a48]
push ecx
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x1a78]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10061370
add esp, 0xc
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a50], 0
je 0x1004e7b2
mov eax, dword [ebp - 4]
push eax
call fcn.10055ee0
add esp, 4
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x7c]
test edx, edx
je 0x1004e7cd
push 0
push 8
mov eax, dword [ebp - 4]
push eax
call fcn.100613b0
add esp, 0xc
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x10051250
mov edx, dword [ebp + 0x10]
and edx, 0x1000000
je 0x1004e7f4
mov eax, dword [ebp + 0x10]
and eax, 0x2000000
je 0x1004e7f4
mov byte [ebp - 0x20], 1
jmp 0x1004e7f8
mov byte [ebp - 0x20], 0
mov cl, byte [ebp - 0x20]
mov byte [ebp - 0x16], cl
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.100634b0
add esp, 0xc
mov edx, dword [ebp - 4]
mov byte [edx + 0x76], 1
xor eax, eax
mov ecx, dword [ebp - 4]
mov word [ecx + 0x82], ax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov cx, word [eax + 0x1998]
mov word [edx + 0x84], cx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1998]
add eax, 1
mov ecx, dword [ebp - 8]
mov dword [ecx + 0x1998], eax
xor edx, edx
mov eax, dword [ebp - 4]
mov word [eax + 0x80], dx
push ecx
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10155714]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10155714]
movss dword [esp], xmm0
lea ecx, [ebp - 0x4e4]
call fcn.100239f0
push eax
lea ecx, [ebp - 0x2c4]
call fcn.1004d3c0
mov ecx, dword [ebp - 4]
add ecx, 0x1c8
mov edx, dword [ebp - 0x2c4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c0]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2bc]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x2b8]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x70]
mov dword [ecx + 0x218], edx
push 1
mov ecx, dword [ebp - 4]
add ecx, 0x1bc
call fcn.10064400
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x48c]
push ecx
call fcn.10052ac0
add esp, 8
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x30], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa0], 0
jle 0x1004e933
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xa0]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0xa0], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa4], 0
jle 0x1004e954
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xa4]
sub edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0xa4], edx
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1004e979
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x1004e96c
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1004e979
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xa4], 1
movzx edx, byte [ebp - 9]
test edx, edx
je 0x1004ea0b
mov eax, dword [ebp + 0x10]
and eax, 0x6000000
je 0x1004ea0b
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xa4], 1
mov edx, dword [ebp + 0x10]
and edx, 0x40
je 0x1004ea0b
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1004e9c2
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [ecx + 0x1c], xmm0
mov edx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [edx + 0x14], xmm0
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1004e9e0
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [ecx + 0x20], xmm0
mov edx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [edx + 0x18], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x494]
call fcn.10023940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], edx
mov ecx, dword [ebp - 4]
push ecx
call fcn.10060ae0
add esp, 4
mov edx, dword [ebp + 0x10]
and edx, 0x1000000
je 0x1004ea34
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x28]
movss dword [ebp - 0xb4], xmm0
jmp 0x1004ea7c
mov ecx, dword [ebp + 0x10]
and ecx, 0x6000000
je 0x1004ea5c
mov edx, dword [ebp + 0x10]
and edx, 0x8000000
jne 0x1004ea5c
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x30]
movss dword [ebp - 0xb0], xmm0
jmp 0x1004ea6c
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [ebp - 0xb0]
movss dword [ebp - 0xb4], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [ebp - 0xb4]
movss dword [edx + 0x48], xmm0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], edx
mov ecx, dword [ebp + 0x10]
and ecx, 0x1000000
je 0x1004eb21
mov edx, dword [ebp + 0x10]
and edx, 0x4010000
jne 0x1004eb21
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x48]
ucomiss xmm0, dword [0x10154bb8]
lahf
test ah, 0x44
jp 0x1004eb21
mov ecx, dword [ebp + 0x10]
and ecx, 0x400
je 0x1004eae6
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 8]
movss dword [ebp - 0xb8], xmm0
jmp 0x1004eaf1
xorps xmm0, xmm0
movss dword [ebp - 0xb8], xmm0
push ecx
movss xmm0, dword [ebp - 0xb8]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x49c]
call fcn.10023940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x3c], ecx
mov dword [eax + 0x40], edx
mov ecx, dword [ebp - 8]
push ecx
movss xmm0, dword [ecx + 0x1a98]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [edx + 0x44]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
push ecx
movss xmm0, dword [eax + 0x3c]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 4
fstp dword [esp]
call fcn.1004b140
add esp, 8
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x144]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1a9c]
mov dword [edx + 0x148], ecx
mov edx, dword [ebp + 0x10]
and edx, 1
jne 0x1004ec58
mov eax, dword [ebp + 0x10]
and eax, 0x20
jne 0x1004ec58
lea ecx, [ebp - 0x2ec]
push ecx
mov ecx, dword [ebp - 4]
call fcn.10061c40
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x19a0]
cmp eax, dword [ebp - 4]
jne 0x1004ec06
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x19a8], 0
jne 0x1004ec06
mov edx, dword [ebp - 8]
cmp dword [edx + 0x19b0], 0
jne 0x1004ec06
push 1
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x2ec]
push ecx
call fcn.10059530
add esp, 0xc
movzx edx, al
test edx, edx
je 0x1004ec06
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 8]
movzx eax, byte [edx + ecx + 0x3fd]
test eax, eax
je 0x1004ec06
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x7a], 1
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x7a]
test eax, eax
je 0x1004ec56
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x79]
test edx, edx
jne 0x1004ec28
mov dword [ebp - 0xbc], 1
jmp 0x1004ec32
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0xbc]
mov byte [eax + 0x79], cl
mov edx, dword [ebp - 4]
push edx
call fcn.1005a3d0
add esp, 4
mov eax, dword [ebp - 4]
push eax
call fcn.10055ee0
add esp, 4
jmp 0x1004ec5f
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x79], 0
mov edx, dword [ebp - 4]
mov byte [edx + 0x7a], 0
mov eax, dword [ebp - 4]
add eax, 0x2c
push eax
mov ecx, dword [ebp - 4]
push ecx
lea edx, [ebp - 0x88]
push edx
call fcn.100528f0
add esp, 8
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x48]
call fcn.10023940
mov eax, dword [ebp + 0x10]
and eax, 0x40
je 0x1004ecff
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x79]
test edx, edx
jne 0x1004ecff
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1004ecd8
movss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0x48], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ebp - 0x48]
movss dword [ecx + 0x1c], xmm0
movzx edx, byte [ebp - 0x13]
test edx, edx
jne 0x1004ecfa
movss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x44], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [ebp - 0x44]
movss dword [eax + 0x20], xmm0
jmp 0x1004ee22
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 0
jg 0x1004ed1b
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 0
jle 0x1004ee22
movzx eax, byte [ebp - 0x12]
test eax, eax
jne 0x1004ed93
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 0
jle 0x1004ed93
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x94]
test eax, eax
je 0x1004ed69
push ecx
movss xmm0, dword [ebp - 0x88]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
push ecx
movss xmm0, dword [ecx + 0x1c]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0xc0]
jmp 0x1004ed79
movss xmm0, dword [ebp - 0x88]
movss dword [ebp - 0xc0], xmm0
movss xmm0, dword [ebp - 0xc0]
movss dword [ebp - 0x48], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [ebp - 0x48]
movss dword [edx + 0x1c], xmm0
movzx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1004ee0b
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jle 0x1004ee0b
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x94]
test eax, eax
je 0x1004ede1
push ecx
movss xmm0, dword [ebp - 0x84]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
push ecx
movss xmm0, dword [ecx + 0x20]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0xc4]
jmp 0x1004edf1
movss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0xc4], xmm0
movss xmm0, dword [ebp - 0xc4]
movss dword [ebp - 0x44], xmm0
mov edx, dword [ebp - 4]
movss xmm0, dword [ebp - 0x44]
movss dword [edx + 0x20], xmm0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x79]
test ecx, ecx
jne 0x1004ee22
mov edx, dword [ebp - 4]
push edx
call fcn.1005a3d0
add esp, 4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x20]
push ecx
mov edx, dword [eax + 0x1c]
push edx
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x4a4]
push ecx
call fcn.100526b0
add esp, 0x10
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x79]
test eax, eax
je 0x1004ee89
mov ecx, dword [ebp + 0x10]
and ecx, 0x1000000
jne 0x1004ee89
lea edx, [ebp - 0x4ac]
push edx
lea eax, [ebp - 0x4f4]
push eax
mov ecx, dword [ebp - 4]
call fcn.10061c40
mov ecx, eax
call fcn.10057330
mov dword [ebp - 0xc8], eax
jmp 0x1004eeaa
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2a0], eax
lea ecx, [ebp - 0x2a4]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x79]
test edx, edx
jne 0x1004f10c
movss xmm0, dword [ebp - 0x48]
ucomiss xmm0, dword [0x101556f4]
lahf
test ah, 0x44
jnp 0x1004eefd
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0xcc], xmm0
jmp 0x1004ef0d
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x24]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [ebp - 0xcc]
movss dword [ebp - 0x1a8], xmm0
movss xmm0, dword [ebp - 0x44]
ucomiss xmm0, dword [0x101556f4]
lahf
test ah, 0x44
jnp 0x1004ef41
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x20]
movss dword [ebp - 0xd0], xmm0
jmp 0x1004ef51
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x28]
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0xd0]
movss dword [ebp - 0xe0], xmm0
mov ecx, dword [ebp + 0x10]
and ecx, 0x4000
jne 0x1004ef91
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x30]
comiss xmm0, dword [ebp - 0xe0]
jbe 0x1004ef85
mov eax, dword [ebp + 0x10]
and eax, 8
je 0x1004ef91
mov dword [ebp - 0xd4], 0
jmp 0x1004ef9b
mov dword [ebp - 0xd4], 1
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xd4]
mov byte [ecx + 0x75], dl
mov eax, dword [ebp + 0x10]
and eax, 0x8000
jne 0x1004f014
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x75]
test edx, edx
je 0x1004efce
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x64]
movss dword [ebp - 0xd8], xmm0
jmp 0x1004efd9
xorps xmm0, xmm0
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0x1a8]
subss xmm0, dword [ebp - 0xd8]
mov ecx, dword [ebp - 4]
movss xmm1, dword [ecx + 0x2c]
comiss xmm1, xmm0
jbe 0x1004f008
mov edx, dword [ebp + 0x10]
and edx, 8
jne 0x1004f008
mov eax, dword [ebp + 0x10]
and eax, 0x800
jne 0x1004f014
mov dword [ebp - 0xdc], 0
jmp 0x1004f01e
mov dword [ebp - 0xdc], 1
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xdc]
mov byte [ecx + 0x74], dl
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x1004f087
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x75]
test eax, eax
jne 0x1004f087
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xe0]
subss xmm0, dword [ecx + 0x64]
mov edx, dword [ebp - 4]
movss xmm1, dword [edx + 0x30]
comiss xmm1, xmm0
jbe 0x1004f071
mov eax, dword [ebp + 0x10]
and eax, 8
jne 0x1004f071
mov dword [ebp - 0xe4], 1
jmp 0x1004f07b
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xe4]
mov byte [ecx + 0x75], dl
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x1004f0a4
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x64]
movss dword [ebp - 0xe8], xmm0
jmp 0x1004f0af
xorps xmm0, xmm0
movss dword [ebp - 0xe8], xmm0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x75]
test ecx, ecx
je 0x1004f0cc
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x64]
movss dword [ebp - 0xec], xmm0
jmp 0x1004f0d7
xorps xmm0, xmm0
movss dword [ebp - 0xec], xmm0
push ecx
movss xmm0, dword [ebp - 0xe8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xec]
movss dword [esp], xmm0
lea ecx, [ebp - 0x4bc]
call fcn.10023940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x6c], ecx
mov dword [eax + 0x70], edx
movzx ecx, byte [ebp - 9]
test ecx, ecx
je 0x1004f150
mov edx, dword [ebp - 4]
mov dword [edx + 0x9c], 0xffffffff
mov eax, dword [ebp + 0x10]
and eax, 0x4000000
je 0x1004f150
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1004f150
mov ecx, dword [ebp - 8]
add ecx, 0x1a30
call fcn.10063760
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
mov edx, dword [ebp + 0x10]
and edx, 0x1000000
je 0x1004f1b4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dx, word [ecx + 0x14c]
mov word [eax + 0x82], dx
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x14c
call fcn.10063bb0
mov ecx, dword [ebp + 0x10]
and ecx, 0x4000000
jne 0x1004f1b4
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1004f1b4
movzx eax, byte [ebp - 0x16]
test eax, eax
jne 0x1004f1b4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0xc4]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0xb4]
ucomiss xmm0, dword [0x101556f4]
lahf
test ah, 0x44
jnp 0x1004f1de
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa4], 0
jne 0x1004f1de
mov byte [ebp - 0x22], 1
jmp 0x1004f1e2
mov byte [ebp - 0x22], 0
mov cl, byte [ebp - 0x22]
mov byte [ebp - 0x31], cl
movzx edx, byte [ebp - 0x31]
test edx, edx
je 0x1004f256
push 0
mov eax, dword [ebp - 4]
add eax, 0xbc
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x1c
push ecx
lea edx, [ebp - 0x4c4]
push edx
call fcn.1004d8e0
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
add eax, 0xb4
push eax
lea ecx, [ebp - 0x4cc]
push ecx
call fcn.1004d960
add esp, 0xc
push eax
mov edx, dword [ebp - 0x10]
add edx, 0x8c
push edx
lea eax, [ebp - 0x4d4]
push eax
call fcn.10057f00
add esp, 0xc
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10061460
add esp, 0xc
jmp 0x1004f2fe
mov edx, dword [ebp + 0x10]
and edx, 0x10000000
je 0x1004f284
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x304]
push ecx
call fcn.10054f40
add esp, 8
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
jmp 0x1004f2fe
mov edx, dword [ebp + 0x10]
and edx, 0x4000000
je 0x1004f2c2
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x1004f2c2
movzx ecx, byte [ebp - 0x15]
test ecx, ecx
je 0x1004f2c2
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x30c]
push eax
call fcn.10054f40
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
jmp 0x1004f2fe
mov ecx, dword [ebp + 0x10]
and ecx, 0x2000000
je 0x1004f2fe
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1004f2fe
movzx eax, byte [ebp - 0x16]
test eax, eax
jne 0x1004f2fe
mov ecx, dword [ebp - 4]
push ecx
lea edx, [ebp - 0x314]
push edx
call fcn.10054f40
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x10]
and ecx, 0x1000000
jne 0x1004f4ab
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1004f4ab
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 0
jg 0x1004f4ab
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jg 0x1004f4ab
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x10]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004f4ab
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x14]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004f4ab
mov ecx, dword [ebp - 0x10]
add ecx, 0x8c
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x84
push edx
lea eax, [ebp - 0x27c]
push eax
call fcn.10057f00
add esp, 0xc
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0xc0]
test edx, edx
je 0x1004f3cc
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
and ecx, 1
jne 0x1004f3cc
mov ecx, dword [ebp - 4]
call fcn.10061be0
push ecx
fstp dword [esp]
mov edx, dword [ebp - 4]
push ecx
movss xmm0, dword [edx + 0x14]
movss dword [esp], xmm0
lea ecx, [ebp - 0x31c]
call fcn.10023940
mov dword [ebp - 0xf0], eax
jmp 0x1004f3ed
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], edx
lea eax, [ebp - 0x274]
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ecx
lea edx, [ebp - 0x22c]
push edx
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 4]
add edx, 0xc
push edx
lea eax, [ebp - 0x324]
push eax
call fcn.1004d9a0
add esp, 0xc
push eax
lea ecx, [ebp - 0x32c]
push ecx
call fcn.10057f00
add esp, 0xc
push eax
lea edx, [ebp - 0x334]
push edx
call fcn.1004d960
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
lea ecx, [ebp - 0x27c]
push ecx
mov edx, dword [ebp - 8]
add edx, 0x10
push edx
lea eax, [ebp - 0x33c]
push eax
call fcn.1004d960
add esp, 0xc
push eax
mov ecx, dword [ebp - 4]
add ecx, 0xc
push ecx
lea edx, [ebp - 0x344]
push edx
call fcn.10057f90
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp - 4]
add ecx, 0xc
push ecx
lea edx, [ebp - 0x34c]
push edx
call fcn.10057a20
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x10]
and ecx, 0x1000000
je 0x1004f4ec
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x24]
movss dword [ebp - 0xf8], xmm0
jmp 0x1004f533
mov eax, dword [ebp + 0x10]
and eax, 0x4000000
je 0x1004f513
mov ecx, dword [ebp + 0x10]
and ecx, 0x8000000
jne 0x1004f513
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x2c]
movss dword [ebp - 0xf4], xmm0
jmp 0x1004f523
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0xc]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf8], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ebp - 0xf8]
movss dword [ecx + 0x44], xmm0
mov edx, dword [ebp - 4]
cmp dword [edx + 0x334], 0x7fffffff
je 0x1004f58b
mov eax, dword [ebp - 4]
cmp dword [eax + 0x324], 0xffffffff
je 0x1004f58b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x324]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x334]
lea eax, [ecx + edx + 1]
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x324]
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0xfc], edx
jmp 0x1004f595
mov dword [ebp - 0xfc], 0x7fffffff
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xfc]
mov dword [edx + 0x32c], eax
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x338], 0x7fffffff
je 0x1004f5ec
mov edx, dword [ebp - 4]
cmp dword [edx + 0x328], 0xffffffff
je 0x1004f5ec
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x328]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x338]
lea eax, [eax + ecx + 1]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x328]
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0x100], edx
jmp 0x1004f5f6
mov dword [ebp - 0x100], 0x7fffffff
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x100]
mov dword [edx + 0x330], eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x328], 0xffffffff
mov edx, dword [ebp - 4]
mov dword [edx + 0x324], 0xffffffff
mov eax, dword [ebp - 4]
mov dword [eax + 0x338], 0x7fffffff
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x334], 0x7fffffff
push 1
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x354]
push eax
call fcn.100523a0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], edx
push ecx
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x101556f4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x35c]
call fcn.10023940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], edx
mov byte [ebp - 0x17], 0
movzx ecx, byte [ebp - 9]
test ecx, ecx
je 0x1004f6c1
mov edx, dword [ebp + 0x10]
and edx, 0x1000
jne 0x1004f6c1
mov eax, dword [ebp + 0x10]
and eax, 0x3000000
je 0x1004f6bd
mov ecx, dword [ebp + 0x10]
and ecx, 0x4000000
je 0x1004f6c1
mov byte [ebp - 0x17], 1
mov dword [ebp - 0x78], 0xffffffff
xor edx, edx
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0xbf]
test ecx, ecx
je 0x1004f6fc
mov dword [ebp - 0x104], 2
jmp 0x1004f706
mov dword [ebp - 0x104], 1
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x164], edx
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x44]
addss xmm0, dword [0x10154bd8]
mov ecx, dword [ebp - 8]
movss xmm1, dword [ecx + 0x18bc]
mulss xmm1, dword [0x10154bc8]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x18bc]
mulss xmm0, dword [0x101556a4]
push ecx
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0x1b0]
movss xmm0, dword [ebp - 0x1b0]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [ebp - 0x40], xmm0
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x79]
test edx, edx
jne 0x1004f7b4
mov eax, 4
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x2b4]
push edx
mov eax, dword [ebp - 0x164]
push eax
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x88]
push edx
mov eax, dword [ebp - 4]
push eax
call fcn.100620d0
add esp, 0x14
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x14]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004f7fd
mov edx, dword [ebp + 0x10]
and edx, 0x2000000
jne 0x1004f7fd
mov eax, dword [ebp + 0x10]
and eax, 0x40
jne 0x1004f7fd
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x10155688]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [ebp - 4]
movss dword [eax + 0x21c], xmm0
jmp 0x1004f823
mov ecx, dword [ebp - 8]
movss xmm0, dword [ecx + 0x18bc]
mulss xmm0, dword [0x101556c0]
cvttss2si edx, xmm0
cvtsi2ss xmm0, edx
mov eax, dword [ebp - 4]
movss dword [eax + 0x21c], xmm0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x270]
call fcn.100680d0
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x15b0]
test eax, eax
je 0x1004f84b
mov dword [ebp - 0x108], 1
jmp 0x1004f855
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + 0x15b1]
test edx, edx
je 0x1004f86f
mov dword [ebp - 0x10c], 2
jmp 0x1004f879
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x108]
or eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x270]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x18b8]
mov edx, dword [ecx + 0x44]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x270]
call fcn.1006ae90
lea edx, [ebp - 0x25c]
push edx
call fcn.10057420
add esp, 4
mov eax, dword [ebp + 0x10]
and eax, 0x1000000
je 0x1004f8fa
mov ecx, dword [ebp + 0x10]
and ecx, 0x4000000
jne 0x1004f8fa
movzx edx, byte [ebp - 0x16]
test edx, edx
jne 0x1004f8fa
push 1
mov eax, dword [ebp - 0x1c]
add eax, 0x1d0
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x1c8
push ecx
call fcn.1005ede0
add esp, 0xc
jmp 0x1004f912
push 1
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x25c]
push eax
call fcn.1005ede0
add esp, 0xc
mov ecx, dword [ebp + 0x10]
and ecx, 0x8000000
je 0x1004f939
call fcn.10056990
cmp dword [ebp - 4], eax
jne 0x1004f939
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa4], 0
jg 0x1004f939
mov byte [ebp - 0x23], 1
jmp 0x1004f93d
mov byte [ebp - 0x23], 0
mov al, byte [ebp - 0x23]
mov byte [ebp - 0x25], al
mov ecx, dword [ebp - 8]
cmp dword [ecx + 0x1ae8], 0
je 0x1004f969
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1ae8]
mov ecx, dword [ebp - 4]
cmp ecx, dword [eax + 0x2ec]
jne 0x1004f969
mov byte [ebp - 0x24], 1
jmp 0x1004f96d
mov byte [ebp - 0x24], 0
mov dl, byte [ebp - 0x24]
mov byte [ebp - 0x26], dl
movzx eax, byte [ebp - 0x25]
test eax, eax
jne 0x1004f983
movzx ecx, byte [ebp - 0x26]
test ecx, ecx
je 0x1004f9f5
movzx edx, byte [ebp - 0x25]
test edx, edx
je 0x1004f997
mov dword [ebp - 0x110], 0x2f
jmp 0x1004f9a1
mov dword [ebp - 0x110], 0x2e
mov eax, dword [ebp - 8]
push ecx
movss xmm0, dword [eax + 0x1be0]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.100563c0
add esp, 8
mov dword [ebp - 0x1b4], eax
push 0xf
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 0x1b4]
push edx
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x25c]
push ecx
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x270]
call fcn.10067200
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x1004faaa
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp edx, dword [ecx + 0x1ae8]
jne 0x1004faaa
lea eax, [ebp - 0x2d4]
push eax
mov ecx, dword [ebp - 4]
call fcn.1005f240
mov ecx, dword [ebp - 8]
push ecx
movss xmm0, dword [ecx + 0x18bc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2d4]
call fcn.10054ee0
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x2d4]
call fcn.10053b20
movzx eax, al
test eax, eax
jne 0x1004faaa
push 0xf
mov ecx, dword [ebp - 8]
push ecx
movss xmm0, dword [ecx + 0x1524]
movss dword [esp], xmm0
mov edx, dword [ebp - 8]
movss xmm0, dword [edx + 0x1af4]
mulss xmm0, dword [0x10155678]
push ecx
movss dword [esp], xmm0
push 0x2d
call fcn.100563c0
add esp, 8
push eax
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0x2d4]
push ecx
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x270]
call fcn.10067200
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x44]
movss dword [ebp - 0x30], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x48]
movss dword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1ae4], 0
je 0x1004fae1
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x1ae4]
mov dword [ebp - 0x114], ecx
jmp 0x1004faf0
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1aa8]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
movzx edx, byte [ebp - 0x17]
test edx, edx
jne 0x1004fb2a
cmp dword [ebp - 0x118], 0
je 0x1004fb24
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x118]
mov edx, dword [eax + 0x2f0]
cmp edx, dword [ecx + 0x2f0]
je 0x1004fb2a
mov byte [ebp - 0x27], 0
jmp 0x1004fb2e
mov byte [ebp - 0x27], 1
mov al, byte [ebp - 0x27]
mov byte [ebp - 0x28], al
lea ecx, [ebp - 0x58]
push ecx
mov ecx, dword [ebp - 4]
call fcn.10061c40
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x79]
test eax, eax
je 0x1004fc01
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x40]
movss dword [ebp - 0x1bc], xmm0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x1558], ecx
movzx edx, byte [ebp - 0x28]
test edx, edx
je 0x1004fb90
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x1b06]
test ecx, ecx
jne 0x1004fb90
mov dword [ebp - 0x11c], 0xb
jmp 0x1004fb9a
mov dword [ebp - 0x11c], 0xc
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x11c]
push edx
call fcn.100563c0
add esp, 8
mov dword [ebp - 0x1b8], eax
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
push 1
mov eax, dword [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1005fa40
add esp, 0x1c
mov edx, dword [ebp - 8]
movss xmm0, dword [ebp - 0x1bc]
movss dword [edx + 0x1558], xmm0
jmp 0x10050363
mov eax, dword [ebp + 0x10]
and eax, 0x80
jne 0x1004fd25
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.10057630
add esp, 4
push eax
call fcn.100563c0
add esp, 8
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 8]
cmp dword [edx + 0x1a54], 0
je 0x1004fc8d
mov esi, dword [ebp - 0x74]
and esi, 0xffffff
mov eax, dword [ebp - 8]
push ecx
movss xmm0, dword [eax + 0x1a94]
movss dword [esp], xmm0
call fcn.10058020
add esp, 4
fstp dword [ebp - 0x1c0]
movss xmm0, dword [ebp - 0x1c0]
mulss xmm0, dword [0x10154c00]
addss xmm0, dword [0x10154bcc]
cvttss2si ecx, xmm0
shl ecx, 0x18
or esi, ecx
mov dword [ebp - 0x74], esi
mov edx, dword [ebp + 0x10]
and edx, 1
je 0x1004fca1
mov dword [ebp - 0x120], 0xf
jmp 0x1004fcab
mov dword [ebp - 0x120], 0xc
mov eax, dword [ebp - 0x120]
push eax
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x74]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x14
push edx
mov eax, dword [ebp - 4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x364]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
mov ecx, dword [ebp - 4]
call fcn.10061be0
push ecx
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x36c]
call fcn.10023940
push eax
mov edx, dword [ebp - 4]
add edx, 0xc
push edx
lea eax, [ebp - 0x374]
push eax
call fcn.1004d9a0
add esp, 0xc
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x270]
call fcn.10067200
mov edx, dword [ebp - 8]
mov dword [edx + 0x1a54], 0
mov eax, dword [ebp + 0x10]
and eax, 1
jne 0x1004fdcc
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x79]
test edx, edx
je 0x1004fd55
mov dword [ebp - 0x128], 0xc
jmp 0x1004fd7f
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x1004fd69
mov dword [ebp - 0x124], 0xb
jmp 0x1004fd73
mov dword [ebp - 0x124], 0xa
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x128], ecx
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x128]
push edx
call fcn.100563c0
add esp, 8
mov dword [ebp - 0x1c4], eax
push 3
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x1c4]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.10067200
mov ecx, dword [ebp + 0x10]
and ecx, 0x400
je 0x1004fef1
lea edx, [ebp - 0x24c]
push edx
mov ecx, dword [ebp - 4]
call fcn.1005a550
lea eax, [ebp - 0x504]
push eax
mov ecx, dword [ebp - 4]
call fcn.1005f240
push eax
lea ecx, [ebp - 0x24c]
call fcn.10053390
mov ecx, dword [ebp + 0x10]
and ecx, 1
je 0x1004fe1c
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x12c], xmm0
jmp 0x1004fe27
xorps xmm0, xmm0
movss dword [ebp - 0x12c], xmm0
push 3
push ecx
movss xmm0, dword [ebp - 0x12c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
push 0xd
call fcn.100563c0
add esp, 8
push eax
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x270]
call fcn.10067200
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x40]
comiss xmm0, dword [0x10154bb8]
jbe 0x1004fef1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [ecx + 0x18]
comiss xmm0, dword [ebp - 0x240]
jbe 0x1004fef1
mov edx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [edx + 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
push 5
call fcn.100563c0
add esp, 8
push eax
lea eax, [ebp - 0x37c]
push eax
lea ecx, [ebp - 0x24c]
call fcn.100561c0
push eax
lea ecx, [ebp - 0x384]
push ecx
lea ecx, [ebp - 0x24c]
call fcn.10056180
push eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x270]
call fcn.10065ba0
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x74]
test ecx, ecx
je 0x1004ff06
push 1
call fcn.1008b490
add esp, 4
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x75]
test eax, eax
je 0x1004ff1b
push 0
call fcn.1008b490
add esp, 4
mov ecx, dword [ebp + 0x10]
and ecx, 2
jne 0x1005016c
mov dword [ebp - 0x3c], 0
jmp 0x1004ff39
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x164]
jge 0x1005016c
imul ecx, dword [ebp - 0x3c], 0x18
add ecx, 0x10370a60
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 4]
add eax, 0x14
push eax
mov ecx, dword [ebp - 4]
add ecx, 0xc
push ecx
lea edx, [ebp - 0x38c]
push edx
call fcn.1004d9a0
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x19c]
push ecx
call fcn.10057da0
add esp, 0x10
mov edx, dword [ebp - 0x3c]
and edx, 1
je 0x1004ffbe
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x394]
call fcn.10023940
mov dword [ebp - 0x134], eax
jmp 0x1004ffe5
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
lea ecx, [ebp - 0x39c]
call fcn.10023940
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
push ecx
mov edx, dword [ebp - 0x38]
add edx, 8
push edx
lea eax, [ebp - 0x3a4]
push eax
call fcn.1004d8e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x3ac]
push edx
call fcn.1004d9a0
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.1005ea20
mov ecx, dword [ebp - 0x3c]
and ecx, 1
je 0x10050065
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3b4]
call fcn.10023940
mov dword [ebp - 0x138], eax
jmp 0x1005008c
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3bc]
call fcn.10023940
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x38]
add ecx, 8
push ecx
lea edx, [ebp - 0x3c4]
push edx
call fcn.1004d8e0
add esp, 0xc
push eax
lea eax, [ebp - 0x19c]
push eax
lea ecx, [ebp - 0x3cc]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x270]
call fcn.1005ea20
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x10]
push eax
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
mulss xmm0, dword [ecx + 0xc]
addss xmm0, dword [ebp - 0x198]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x30]
addss xmm0, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x38]
mulss xmm0, dword [edx + 8]
addss xmm0, dword [ebp - 0x19c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3d4]
call fcn.10023940
push eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.1006a260
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp + ecx*4 - 0x2b4]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.1005e9f0
jmp 0x1004ff30
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [0x10154bb8]
jbe 0x100501e9
mov ecx, dword [ebp + 0x10]
and ecx, 0x80
jne 0x100501e9
push ecx
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
push 0xf
push ecx
movss xmm0, dword [ebp - 0x30]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
push 5
call fcn.100563c0
add esp, 8
push eax
mov edx, dword [ebp - 4]
add edx, 0x14
push edx
mov eax, dword [ebp - 4]
add eax, 0xc
push eax
lea ecx, [ebp - 0x3dc]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
mov edx, dword [ebp - 4]
add edx, 0xc
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.100670a0
cmp dword [ebp - 0x78], 0xffffffff
je 0x10050276
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x2fc]
push eax
call fcn.10057150
add esp, 0x10
movss xmm0, dword [ebp - 0x2c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 4
fstp dword [esp]
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
push 0x1d
call fcn.100563c0
add esp, 8
push eax
lea ecx, [ebp - 0x2f4]
push ecx
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.10065ba0
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x40]
comiss xmm0, dword [0x10154bb8]
jbe 0x10050363
mov edx, dword [ebp + 0x10]
and edx, 1
jne 0x10050363
mov eax, dword [ebp - 0x10]
push ecx
movss xmm0, dword [eax + 0x40]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x10154bd8]
movss dword [esp], xmm0
push 5
call fcn.100563c0
add esp, 8
push eax
push ecx
movss xmm0, dword [0x10154c08]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x10]
xorps xmm0, xmmword [0x10154c20]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x3e4]
call fcn.10023940
push eax
lea edx, [ebp - 0x3ec]
push edx
lea ecx, [ebp - 0x58]
call fcn.100561c0
push eax
lea eax, [ebp - 0x3f4]
push eax
call fcn.1004d9a0
add esp, 0xc
push eax
push ecx
movss xmm0, dword [0x10154c08]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [ecx + 0x10]
movss dword [esp], xmm0
lea ecx, [ebp - 0x3fc]
call fcn.10023940
push eax
lea edx, [ebp - 0x404]
push edx
lea ecx, [ebp - 0x58]
call fcn.10056180
push eax
lea eax, [ebp - 0x40c]
push eax
call fcn.1004d9a0
add esp, 0xc
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x270]
call fcn.10065ba0
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x1ae8]
cmp eax, dword [ebp - 4]
jne 0x10050477
mov ecx, dword [ebp - 8]
push ecx
movss xmm0, dword [ecx + 0x1524]
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
push ecx
movss xmm0, dword [edx + 0x44]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0x13c]
lea eax, [ebp - 0x294]
push eax
mov ecx, dword [ebp - 4]
call fcn.1005f240
mov ecx, dword [ebp - 8]
push ecx
movss xmm0, dword [ecx + 0x18bc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x294]
call fcn.10054ee0
lea edx, [ebp - 0x25c]
push edx
lea ecx, [ebp - 0x294]
call fcn.10053b20
movzx eax, al
test eax, eax
je 0x10050421
mov ecx, dword [ebp - 8]
movss xmm0, dword [ecx + 0x18bc]
xorps xmm0, xmmword [0x10154c20]
subss xmm0, dword [0x10154bd8]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x294]
call fcn.10054ee0
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x44]
movss dword [ebp - 0x13c], xmm0
push ecx
movss xmm0, dword [0x10154be0]
movss dword [esp], xmm0
push 0xffffffffffffffff
push ecx
movss xmm0, dword [ebp - 0x13c]
movss dword [esp], xmm0
mov eax, dword [ebp - 8]
push ecx
movss xmm0, dword [eax + 0x1af4]
movss dword [esp], xmm0
push 0x2d
call fcn.100563c0
add esp, 8
push eax
lea ecx, [ebp - 0x28c]
push ecx
lea edx, [ebp - 0x294]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x270]
call fcn.100670a0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xc]
subss xmm0, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
addss xmm0, dword [ecx + 0x3c]
mov edx, dword [ebp - 4]
movss dword [edx + 0x208], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [ecx + 0x58]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + 0x40]
mov ecx, dword [ebp - 4]
movss dword [ebp - 0x1d0], xmm0
call fcn.10061be0
fstp dword [ebp - 0x1d4]
movss xmm0, dword [ebp - 0x1d0]
addss xmm0, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 4]
movss dword [ebp - 0x1d8], xmm0
call fcn.1005a4e0
fstp dword [ebp - 0x1dc]
movss xmm0, dword [ebp - 0x1d8]
addss xmm0, dword [ebp - 0x1dc]
mov eax, dword [ebp - 4]
movss dword [eax + 0x20c], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x34]
ucomiss xmm0, dword [0x10154bb8]
lahf
test ah, 0x44
jnp 0x10050542
mov edx, dword [ebp - 4]
movss xmm0, dword [edx + 0x34]
movss dword [ebp - 0x140], xmm0
jmp 0x1005055a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x14]
subss xmm0, dword [ecx + 0x6c]
movss dword [ebp - 0x140], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0xc]
subss xmm0, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
subss xmm0, dword [ecx + 0x3c]
addss xmm0, dword [ebp - 0x140]
mov edx, dword [ebp - 4]
movss dword [edx + 0x210], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x38]
ucomiss xmm0, dword [0x10154bb8]
lahf
test ah, 0x44
jnp 0x100505ac
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x38]
movss dword [ebp - 0x144], xmm0
jmp 0x100505c4
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x18]
subss xmm0, dword [eax + 0x70]
movss dword [ebp - 0x144], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x10]
subss xmm0, dword [edx + 0x58]
mov eax, dword [ebp - 4]
subss xmm0, dword [eax + 0x40]
addss xmm0, dword [ebp - 0x144]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x214], xmm0
mov edx, dword [ebp - 4]
xorps xmm0, xmm0
addss xmm0, dword [edx + 0x3c]
mov eax, dword [ebp - 4]
subss xmm0, dword [eax + 0x54]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x1ac], xmm0
mov edx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [edx + 0x1b0], xmm0
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0x1b4], xmm0
mov ecx, dword [ebp - 4]
call fcn.10061be0
fstp dword [ebp - 0x1e0]
movss xmm0, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 4]
movss dword [ebp - 0x1e4], xmm0
call fcn.1005a4e0
fstp dword [ebp - 0x1e8]
movss xmm0, dword [ebp - 0x1e4]
addss xmm0, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 4]
addss xmm0, dword [ecx + 0x40]
mov edx, dword [ebp - 4]
subss xmm0, dword [edx + 0x58]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0x1ac]
addss xmm0, dword [ecx + 0x1b4]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x414]
call fcn.10023940
push eax
mov edx, dword [ebp - 4]
add edx, 0xc
push edx
lea eax, [ebp - 0x41c]
push eax
call fcn.1004d9a0
add esp, 0xc
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xd4], ecx
mov dword [eax + 0xd8], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xd4]
mov eax, dword [ecx + 0xd8]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xc4], edx
mov dword [ecx + 0xc8], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov edx, dword [ebp - 4]
mov dword [edx + 0xcc], eax
mov dword [edx + 0xd0], ecx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xd4]
mov edx, dword [eax + 0xd8]
mov eax, dword [ebp - 4]
mov dword [eax + 0xdc], ecx
mov dword [eax + 0xe0], edx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x424]
call fcn.10023940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 4]
mov dword [eax + 0xf0], ecx
mov dword [eax + 0xf4], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xf0]
mov eax, dword [ecx + 0xf4]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xe4], edx
mov dword [ecx + 0xe8], eax
mov edx, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [edx + 0xf8], xmm0
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0xec], xmm0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x140], 0
mov edx, dword [ebp - 4]
push edx
call fcn.100576d0
add esp, 4
fstp dword [ebp - 0x1ec]
movss xmm0, dword [ebp - 0x1ec]
comiss xmm0, dword [0x10154bb8]
jbe 0x100507cb
mov dword [ebp - 0x148], 1
jmp 0x100507d5
mov dword [ebp - 0x148], 0
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x148]
mov byte [eax + 0x141], cl
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x13c]
mov dword [edx + 0x138], ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x13c], 0
mov eax, dword [ebp - 4]
mov byte [eax + 0x142], 0
mov ecx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xc8]
subss xmm0, dword [0x101556f0]
mov edx, dword [ebp - 4]
movss dword [edx + 0xfc], xmm0
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x14c
call fcn.10064400
mov eax, dword [ebp - 4]
mov dword [eax + 0x15c], 0
cmp dword [ebp - 0x1c], 0
je 0x1005085f
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x15c]
mov dword [ebp - 0x14c], edx
jmp 0x10050869
mov dword [ebp - 0x14c], 0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14c]
mov dword [eax + 0x160], ecx
cmp dword [ebp - 0x1c], 0
je 0x1005088f
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x164]
mov dword [ebp - 0x150], eax
jmp 0x10050899
mov dword [ebp - 0x150], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x150]
mov dword [ecx + 0x164], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x21c]
mov dword [eax + 0x168], edx
mov eax, dword [ebp - 4]
movss xmm0, dword [0x10154c08]
movss dword [eax + 0x16c], xmm0
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x170
call fcn.10064400
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x17c
call fcn.10064400
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x188
call fcn.10064400
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b8], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x100], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x104], 0
mov ecx, dword [ebp - 4]
add ecx, 0x250
mov edx, dword [ebp - 4]
mov dword [edx + 0x158], ecx
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x194
call fcn.10064440
movzx eax, byte [ebp - 9]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [ecx + 0x44]
movss dword [esp], xmm0
push 3
mov ecx, dword [ebp - 4]
add ecx, 0x220
call fcn.1008d4b0
mov edx, dword [ebp + 0x10]
and edx, 0x1000000
je 0x100509b1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax + 0x164]
cmp edx, dword [ecx + 0x164]
je 0x100509b1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x164]
mov dword [eax + 0x164], edx
mov eax, dword [ebp - 4]
add eax, 0x164
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x170
call fcn.10063bb0
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x8c], 0
jle 0x100509d2
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x8c]
sub eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x8c], eax
mov edx, dword [ebp - 4]
cmp dword [edx + 0x90], 0
jle 0x100509f3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x90]
sub ecx, 1
mov edx, dword [ebp - 4]
mov dword [edx + 0x90], ecx
movzx eax, byte [ebp - 0x17]
test eax, eax
je 0x10050a15
mov ecx, dword [ebp - 4]
push ecx
call fcn.10055ee0
add esp, 4
push 0
mov edx, dword [ebp - 4]
push edx
call fcn.1005a860
add esp, 8
mov eax, dword [ebp + 0x10]
and eax, 1
jne 0x10050f7b
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x164]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x164]
or ecx, 0x10
mov edx, dword [ebp - 4]
mov dword [edx + 0x164], ecx
mov eax, dword [ebp - 4]
mov dword [eax + 0x130], 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x134], 2
mov edx, dword [ebp + 0x10]
and edx, 0x20
jne 0x10050a94
mov eax, dword [ebp - 4]
add eax, 0xc
push eax
push 0
push str.COLLAPSE
mov ecx, dword [ebp - 4]
call fcn.10056a30
push eax
call fcn.100816b0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10050a94
mov edx, dword [ebp - 4]
mov byte [edx + 0x7a], 1
cmp dword [ebp + 0xc], 0
je 0x10050b65
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x38]
movss dword [ebp - 0x154], xmm0
mov ecx, dword [ebp - 8]
movss xmm0, dword [ecx + 0x18bc]
mulss xmm0, dword [0x10154bcc]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [0x10154bd8]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x154]
addss xmm0, dword [ebp - 0x7c]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x154]
xorps xmm0, xmmword [0x10154c20]
subss xmm0, dword [ebp - 0x7c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x42c]
call fcn.10023940
push eax
lea edx, [ebp - 0x434]
push edx
lea eax, [ebp - 0x514]
push eax
mov ecx, dword [ebp - 4]
call fcn.1005f240
mov ecx, eax
call fcn.100573a0
push eax
lea ecx, [ebp - 0x43c]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
push 0
push str.CLOSE
mov ecx, dword [ebp - 4]
call fcn.10056a30
push eax
call fcn.100813b0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x10050b65
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x130], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x134], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1f0]
mov dword [eax + 0x164], ecx
mov dword [ebp - 0x170], 0x10154c44
mov edx, dword [ebp + 0x10]
and edx, 0x100000
je 0x10050bd9
push ecx
movss xmm0, dword [0x10154c08]
movss dword [esp], xmm0
push 0
push 0
mov eax, dword [ebp - 0x170]
push eax
lea ecx, [ebp - 0x444]
push ecx
call fcn.10052bf0
add esp, 0x14
movss xmm0, dword [eax]
movss dword [ebp - 0x158], xmm0
jmp 0x10050be4
xorps xmm0, xmm0
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x158]
movss dword [ebp - 0x16c], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x16c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x44c]
call fcn.10023940
push eax
push ecx
movss xmm0, dword [0x10154c08]
movss dword [esp], xmm0
push 1
push 0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x454]
push eax
call fcn.10052bf0
add esp, 0x14
push eax
lea ecx, [ebp - 0x234]
push ecx
call fcn.1004d9a0
add esp, 0xc
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp + 0x10]
and eax, 0x20
je 0x10050c7e
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x15c], xmm0
jmp 0x10050ca1
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
movss xmm0, dword [edx + 0x34]
addss xmm0, dword [eax + 0x18bc]
mov ecx, dword [ebp - 0x10]
addss xmm0, dword [ecx + 0x4c]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x15c]
movss dword [ebp - 0x194], xmm0
cmp dword [ebp + 0xc], 0
jne 0x10050cc9
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x34]
movss dword [ebp - 0x160], xmm0
jmp 0x10050cec
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
movss xmm0, dword [eax + 0x34]
addss xmm0, dword [ecx + 0x18bc]
mov edx, dword [ebp - 0x10]
addss xmm0, dword [edx + 0x4c]
movss dword [ebp - 0x160], xmm0
movss xmm0, dword [ebp - 0x160]
movss dword [ebp - 0x80], xmm0
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x1c]
comiss xmm0, dword [0x10154bb8]
jbe 0x10050d3c
mov ecx, dword [ebp - 0x10]
push ecx
movss xmm0, dword [ecx + 0x1c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x194]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x80]
movss dword [esp], xmm0
call fcn.1004b110
add esp, 0xc
fstp dword [ebp - 0x80]
movss xmm0, dword [ebp - 0x68]
addss xmm0, dword [ebp - 0x194]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x60]
subss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x60], xmm0
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x260], edx
cmp dword [ebp + 0xc], 0
je 0x10050daf
lea ecx, [ebp - 0x58]
call fcn.10056a00
fstp dword [ebp - 0x1f4]
movss xmm0, dword [ebp - 0x1f4]
subss xmm0, dword [0x10154be0]
movss dword [ebp - 0x168], xmm0
jmp 0x10050dbf
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x34]
movss dword [ebp - 0x168], xmm0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0xc]
addss xmm0, dword [edx + 0x14]
subss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x264], xmm0
lea eax, [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x1c
push ecx
lea edx, [ebp - 0x234]
push edx
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x68]
push edx
call fcn.10060030
add esp, 0x1c
mov eax, dword [ebp + 0x10]
and eax, 0x100000
je 0x10050f7b
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
movss xmm0, dword [0x10154bdc]
subss xmm0, dword [ebp - 0x16c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x45c]
call fcn.10023940
push eax
push ecx
movss xmm0, dword [ebp - 0x64]
movss dword [esp], xmm0
lea ecx, [ebp - 0x68]
call fcn.10057510
fstp dword [ebp - 0x1f8]
movss xmm0, dword [ebp - 0x1f8]
subss xmm0, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x10]
mulss xmm0, dword [ecx + 0x1c]
addss xmm0, dword [ebp - 0x68]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x68]
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0x1fc]
movss xmm0, dword [ebp - 0x1fc]
addss xmm0, dword [ebp - 0x234]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x464]
call fcn.10023940
push eax
lea edx, [ebp - 0x2dc]
push edx
call fcn.1004d9a0
add esp, 0xc
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x18bc]
xorps xmm0, xmmword [0x10154c20]
mulss xmm0, dword [0x10155678]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x284]
call fcn.10023940
lea edx, [ebp - 0x26c]
push edx
mov eax, dword [ebp - 0x10]
push ecx
movss xmm0, dword [eax + 0x20]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x4b4]
call fcn.10023940
push eax
push 0
push 0
mov ecx, dword [ebp - 0x170]
push ecx
lea edx, [ebp - 0x284]
push edx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x474]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
lea edx, [ebp - 0x284]
push edx
lea eax, [ebp - 0x2dc]
push eax
lea ecx, [ebp - 0x47c]
push ecx
call fcn.1004d9a0
add esp, 0xc
push eax
call fcn.10060030
add esp, 0x1c
lea edx, [ebp - 0x524]
push edx
mov ecx, dword [ebp - 4]
call fcn.1005f240
mov ecx, dword [ebp - 4]
add ecx, 0x1d8
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 4]
add ecx, 0x1c8
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0x1d8
call fcn.10053390
mov edx, dword [ebp - 4]
movss xmm0, dword [ebp - 0x58]
addss xmm0, dword [edx + 0x48]
mov eax, dword [ebp - 4]
movss dword [eax + 0x1e8], xmm0
mov ecx, dword [ebp + 0x10]
and ecx, 0x400
jne 0x10050ffe
mov edx, dword [ebp + 0x10]
and edx, 1
je 0x10050ffe
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x48]
movss dword [ebp - 0x174], xmm0
jmp 0x1005100e
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [ecx + 0x40]
movss dword [ebp - 0x174], xmm0
mov ecx, dword [ebp - 4]
call fcn.1005a4e0
fstp dword [ebp - 0x200]
movss xmm0, dword [ebp - 0x200]
addss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x174]
mov edx, dword [ebp - 4]
movss dword [edx + 0x1ec], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
movss xmm0, dword [eax + 0xc]
addss xmm0, dword [ecx + 0x14]
mov edx, dword [ebp - 4]
subss xmm0, dword [edx + 0x6c]
mov eax, dword [ebp - 4]
subss xmm0, dword [eax + 0x48]
mov ecx, dword [ebp - 4]
movss dword [ecx + 0x1f0], xmm0
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x10]
addss xmm0, dword [eax + 0x18]
mov ecx, dword [ebp - 4]
subss xmm0, dword [ecx + 0x70]
mov edx, dword [ebp - 4]
subss xmm0, dword [edx + 0x48]
mov eax, dword [ebp - 4]
movss dword [eax + 0x1f4], xmm0
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x10154bcc]
addss xmm0, dword [ecx + 0x1e8]
mov edx, dword [ebp - 4]
movss xmm1, dword [edx + 0x3c]
mulss xmm1, dword [0x10154bcc]
mov eax, dword [ebp - 4]
subss xmm1, dword [eax + 0x48]
push ecx
movss dword [esp], xmm1
movss dword [ebp - 0x204], xmm0
call fcn.10057a60
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0x208]
movss xmm0, dword [ebp - 0x204]
addss xmm0, dword [ebp - 0x208]
push ecx
movss dword [esp], xmm0
call fcn.10057a60
add esp, 4
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x1f8]
mov edx, dword [ebp - 4]
movss xmm0, dword [0x10154bcc]
addss xmm0, dword [edx + 0x1ec]
push ecx
movss dword [esp], xmm0
call fcn.10057a60
add esp, 4
mov eax, dword [ebp - 4]
fstp dword [eax + 0x1fc]
mov ecx, dword [ebp - 4]
movss xmm0, dword [0x10154bcc]
addss xmm0, dword [ecx + 0x1f0]
mov edx, dword [ebp - 4]
movss xmm1, dword [edx + 0x3c]
mulss xmm1, dword [0x10154bcc]
mov eax, dword [ebp - 4]
subss xmm1, dword [eax + 0x48]
push ecx
movss dword [esp], xmm1
movss dword [ebp - 0x20c], xmm0
call fcn.10057a60
fstp dword [esp]
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.1004b140
add esp, 8
fstp dword [ebp - 0x210]
movss xmm0, dword [ebp - 0x20c]
subss xmm0, dword [ebp - 0x210]
push ecx
movss dword [esp], xmm0
call fcn.10057a60
add esp, 4
mov ecx, dword [ebp - 4]
fstp dword [ecx + 0x200]
mov edx, dword [ebp - 4]
movss xmm0, dword [0x10154bcc]
addss xmm0, dword [edx + 0x1f4]
push ecx
movss dword [esp], xmm0
call fcn.10057a60
add esp, 4
mov eax, dword [ebp - 4]
fstp dword [eax + 0x204]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x4c]
mov dword [ecx + 0x108], eax
push 0
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x58]
push edx
call fcn.10059530
add esp, 0xc
movzx eax, al
test eax, eax
je 0x10051218
mov dword [ebp - 0x178], 1
jmp 0x10051222
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x178]
mov dword [ecx + 0x10c], edx
mov eax, dword [ebp - 4]
add eax, 0x110
mov ecx, dword [ebp - 0x58]
mov dword [eax], ecx
mov edx, dword [ebp - 0x54]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x4c]
mov dword [eax + 0xc], edx
push 1
mov eax, dword [ebp - 4]
add eax, 0x200
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x1f8
push ecx
call fcn.1005ede0
add esp, 0xc
movzx edx, byte [ebp - 0x14]
test edx, edx
je 0x1005127c
mov eax, dword [ebp - 4]
mov byte [eax + 0x78], 0
mov ecx, dword [ebp - 4]
mov dx, word [ecx + 0x80]
add dx, 1
mov eax, dword [ebp - 4]
mov word [eax + 0x80], dx
mov ecx, dword [ebp - 8]
add ecx, 0x1a3c
call fcn.10053200
mov ecx, dword [ebp + 0x10]
and ecx, 0x1000000
je 0x10051335
mov edx, dword [ebp + 0x10]
and edx, 0x40
jne 0x1005130c
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 0
jg 0x1005130c
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jg 0x1005130c
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
movss xmm0, dword [edx + 0x1d8]
comiss xmm0, dword [eax + 0x1e0]
jae 0x100512ff
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 4]
movss xmm0, dword [ecx + 0x1dc]
comiss xmm0, dword [edx + 0x1e4]
jb 0x1005130c
mov eax, dword [ebp - 4]
mov dword [eax + 0xa0], 1
cmp dword [ebp - 0x1c], 0
je 0x10051335
mov ecx, dword [ebp - 0x1c]
movzx edx, byte [ecx + 0x79]
test edx, edx
jne 0x10051328
mov eax, dword [ebp - 0x1c]
movzx ecx, byte [eax + 0x7d]
test ecx, ecx
je 0x10051335
mov edx, dword [ebp - 4]
mov dword [edx + 0xa0], 1
mov eax, dword [ebp - 0x10]
xorps xmm0, xmm0
comiss xmm0, dword [eax]
jb 0x1005134d
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xa0], 1
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa0], 0
jg 0x10051371
mov eax, dword [ebp - 4]
cmp dword [eax + 0xa4], 0
jg 0x10051371
mov dword [ebp - 0x17c], 0
jmp 0x1005137b
mov dword [ebp - 0x17c], 1
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0x17c]
mov byte [ecx + 0x7d], dl
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x79]
test ecx, ecx
jne 0x100513a8
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x76]
test eax, eax
je 0x100513a8
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0x7d]
test edx, edx
je 0x100513d8
mov eax, dword [ebp - 4]
cmp dword [eax + 0x8c], 0
jg 0x100513d8
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x90], 0
jg 0x100513d8
mov edx, dword [ebp - 4]
cmp dword [edx + 0xa4], 0
jg 0x100513d8
mov dword [ebp - 0x180], 1
jmp 0x100513e2
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 4]
mov cl, byte [ebp - 0x180]
mov byte [eax + 0x7b], cl
mov edx, dword [ebp - 4]
movzx eax, byte [edx + 0x7b]
test eax, eax
jne 0x10051405
mov dword [ebp - 0x184], 1
jmp 0x1005140f
mov dword [ebp - 0x184], 0
mov al, byte [ebp - 0x184]
pop esi
mov esp, ebp
pop ebp
ret