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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x360
mov eax, dword [0x100aa00c]
xor eax, ebp
mov dword [ebp - 4], eax
call fcn.10045ca0
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
je 0x10059e30
xor al, al
jmp 0x1005c4e1
mov edx, dword [0x100aa088]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x13b8
mov dword [ebp - 0x68], ecx
push 0
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x60]
call fcn.10049690
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x18]
and eax, 0x100000
je 0x10059e6f
mov byte [ebp - 0x52], 1
jmp 0x10059e73
mov byte [ebp - 0x52], 0
mov cl, byte [ebp - 0x52]
mov byte [ebp - 0x21], cl
mov edx, dword [ebp + 0x18]
and edx, 0x4000
jne 0x10059e8a
mov byte [ebp - 0x53], 1
jmp 0x10059e8e
mov byte [ebp - 0x53], 0
mov al, byte [ebp - 0x53]
mov byte [ebp - 0x22], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x8000
je 0x10059ea5
mov byte [ebp - 0x55], 1
jmp 0x10059ea9
mov byte [ebp - 0x55], 0
mov dl, byte [ebp - 0x55]
mov byte [ebp - 0x38], dl
push ecx
movss xmm0, dword [0x100a40e0]
movss dword [esp], xmm0
push 1
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x1e8]
push ecx
call fcn.1004d6a0
add esp, 0x14
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x10059f01
call fcn.10053dc0
fstp dword [ebp - 0x208]
movss xmm0, dword [ebp - 0x208]
mulss xmm0, dword [0x100a3ff4]
movss dword [ebp - 0x17c], xmm0
jmp 0x10059f11
movss xmm0, dword [ebp - 0x1e4]
movss dword [ebp - 0x17c], xmm0
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax + 0x24]
mulss xmm0, dword [0x100a3fc0]
addss xmm0, dword [ebp - 0x17c]
push ecx
movss dword [esp], xmm0
call fcn.10053340
push ecx
fstp dword [esp]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ecx]
push eax
lea ecx, [ebp - 0xa4]
push ecx
call fcn.10049e30
add esp, 0x14
lea edx, [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0x60]
add eax, 0xb8
push eax
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.100443b0
add esp, 0xc
push eax
mov edx, dword [ebp - 0x60]
add edx, 0xb8
push edx
lea ecx, [ebp - 0xec]
call fcn.10044940
movss xmm0, dword [ebp - 0x1e8]
comiss xmm0, dword [0x100a3e80]
jbe 0x10059fb1
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax + 0x34]
addss xmm0, dword [ebp - 0x1e8]
movss dword [ebp - 0x180], xmm0
jmp 0x10059fbc
xorps xmm0, xmm0
movss dword [ebp - 0x180], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x180]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2e8]
call fcn.10043cd0
push eax
lea ecx, [ebp - 0xe4]
push ecx
lea edx, [ebp - 0x2f8]
push edx
call fcn.100443b0
add esp, 0xc
push eax
lea eax, [ebp - 0xec]
push eax
lea ecx, [ebp - 0x288]
call fcn.10044940
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x30], ecx
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005a076
call fcn.1005fa50
push 0
lea eax, [ebp - 0x300]
push eax
lea ecx, [ebp - 0xec]
call fcn.10044a90
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1004ea40
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x1005a054
call fcn.1004eae0
call fcn.1005fb80
xor al, al
jmp 0x1005c4e1
call fcn.10045ca0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0xa4]
subss xmm0, dword [eax + 0x78]
movss dword [ebp - 0xa4], xmm0
jmp 0x1005a0b4
mov ecx, dword [ebp - 0x68]
push ecx
movss xmm0, dword [ecx + 0x24]
movss dword [esp], xmm0
lea edx, [ebp - 0x288]
push edx
call fcn.10049a30
add esp, 8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x288]
push ecx
call fcn.10049a60
add esp, 8
movzx edx, al
test edx, edx
jne 0x1005a0b4
xor al, al
jmp 0x1005c4e1
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x1005a179
push 0x2a
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx + 0x16dc]
call fcn.1006e3d0
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x28]
add edx, 0x26e4
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x16dc]
mov edx, dword [ebp - 0x64]
mov eax, dword [ecx]
mov dword [edx], eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x16dc]
mov eax, dword [ebp - 0x64]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x16dc]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x64]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x16dc]
mov eax, dword [ebp - 0x64]
mov ecx, dword [edx + 0x48]
mov dword [eax + 0x48], ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x16dc]
mov ecx, dword [ebp - 0x64]
mov edx, dword [eax + 0x4c]
mov dword [ecx + 0x4c], edx
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x16dc]
mov edx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x44]
mov dword [edx + 0x44], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x184]
mov dword [ecx + 0x34], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x184]
mov edx, dword [ecx + 4]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x64]
push eax
call fcn.10053470
add esp, 4
mov ecx, dword [ebp - 0x28]
add ecx, 0x1a10
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x34]
mov al, byte [edx + 0xd5]
mov byte [ebp - 0x29], al
mov ecx, dword [ebp - 0x34]
mov dl, byte [ecx + 0xd6]
mov byte [ebp - 0x36], dl
mov eax, dword [ebp - 0x34]
mov cl, byte [eax + 0xd7]
mov byte [ebp - 0x37], cl
mov edx, dword [ebp - 0x34]
mov al, byte [edx + 0xd8]
mov byte [ebp - 0x49], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x440
jne 0x1005a1c6
mov byte [ebp - 0x56], 1
jmp 0x1005a1ca
mov byte [ebp - 0x56], 0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x1740]
cmp eax, dword [ebp - 0x40]
jne 0x1005a1de
mov byte [ebp - 0x45], 1
jmp 0x1005a1e2
mov byte [ebp - 0x45], 0
movzx ecx, byte [ebp - 0x56]
push ecx
movzx edx, byte [ebp - 0x45]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.10049ce0
add esp, 0xc
mov byte [ebp - 0x39], al
movzx ecx, byte [ebp - 0x39]
test ecx, ecx
je 0x1005a21d
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov ecx, dword [edx + 0x264]
cmp ecx, dword [eax + 0x26c]
jne 0x1005a21d
mov byte [ebp - 0x46], 1
jmp 0x1005a221
mov byte [ebp - 0x46], 0
mov dl, byte [ebp - 0x46]
mov byte [ebp - 0x54], dl
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x1005a23d
movzx ecx, byte [ebp - 0x54]
test ecx, ecx
jne 0x1005a23d
mov byte [ebp - 0x47], 1
jmp 0x1005a241
mov byte [ebp - 0x47], 0
mov dl, byte [ebp - 0x47]
mov byte [ebp - 0x70], dl
push 0
mov eax, dword [ebp - 0x40]
push eax
lea ecx, [ebp - 0xec]
push ecx
call fcn.10049c00
add esp, 0xc
mov byte [ebp - 0x35], al
movzx edx, byte [ebp - 0x35]
test edx, edx
je 0x1005a280
mov eax, dword [ebp - 0x40]
push eax
call fcn.100497f0
add esp, 4
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 0x18a0], 1
movzx edx, byte [ebp - 0x35]
test edx, edx
je 0x1005a2a5
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0x324]
test eax, eax
je 0x1005a2a5
mov byte [ebp - 0x51], 1
jmp 0x1005a2a9
mov byte [ebp - 0x51], 0
mov cl, byte [ebp - 0x51]
mov byte [ebp - 0x48], cl
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005a305
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x1740], 0
jne 0x1005a305
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x40]
jne 0x1005a305
push 0
movzx eax, byte [ebp - 0xf1]
push eax
push 0x1009e520
lea ecx, [ebp - 0x1c]
call fcn.10062530
mov ecx, eax
call fcn.1000d690
push eax
mov ecx, dword [ebp - 0x30]
call fcn.10049690
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x1744], eax
jne 0x1005a305
mov byte [ebp - 0x50], 1
jmp 0x1005a309
mov byte [ebp - 0x50], 0
mov dl, byte [ebp - 0x50]
mov byte [ebp - 0x71], dl
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x1740]
cmp ecx, dword [ebp - 0x40]
je 0x1005a331
mov edx, dword [ebp + 0x18]
and edx, 0x10
je 0x1005a331
mov dword [ebp - 0x188], 1
jmp 0x1005a33b
mov dword [ebp - 0x188], 0
mov al, byte [ebp - 0x188]
mov byte [ebp - 0x3a], al
movzx ecx, byte [ebp - 0x39]
test ecx, ecx
jne 0x1005a360
movzx edx, byte [ebp - 0x48]
test edx, edx
jne 0x1005a360
movzx eax, byte [ebp - 0x71]
test eax, eax
je 0x1005a4f3
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x1740]
cmp edx, dword [ebp - 0x40]
je 0x1005a4d5
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x20c], ecx
mov edx, dword [ebp + 0x10]
add edx, 1
push edx
mov ecx, dword [ebp - 0x20]
add ecx, 4
call fcn.10061300
mov eax, dword [ebp + 0x10]
add eax, 1
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x10
call fcn.10060d30
mov ecx, dword [ebp + 0xc]
push ecx
push 0x1009e52c
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x18]
push edx
call fcn.10047830
add esp, 0x10
mov dword [ebp - 0x18c], 0
lea eax, [ebp - 0x18c]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
push edx
call fcn.10047e30
add esp, 0x14
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x18c]
sub edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp - 0x20]
call fcn.10044e60
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x40]
jne 0x1005a429
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [eax + 0x2c]
jne 0x1005a429
mov byte [ebp - 0x57], 1
jmp 0x1005a42d
mov byte [ebp - 0x57], 0
mov dl, byte [ebp - 0x57]
mov byte [ebp - 0x7d], dl
movzx eax, byte [ebp - 0x7d]
test eax, eax
je 0x1005a445
mov ecx, dword [ebp - 0x20]
call fcn.10044e80
jmp 0x1005a4a0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x40]
mov dword [ecx], edx
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movss dword [eax + 0x34], xmm0
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
jne 0x1005a46c
mov dword [ebp - 0x190], 1
jmp 0x1005a476
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x20]
add eax, 0x38
push eax
call fcn.10059bc0
add esp, 8
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
jne 0x1005a4a0
movzx edx, byte [ebp - 0x54]
test edx, edx
je 0x1005a4a0
mov byte [ebp - 0x3a], 1
mov eax, dword [ebp + 0x18]
and eax, 0x2000
je 0x1005a4b1
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0x44], 1
movzx edx, byte [ebp - 0x21]
test edx, edx
jne 0x1005a4d5
movzx eax, byte [ebp - 0x70]
test eax, eax
jne 0x1005a4d1
movzx ecx, byte [ebp - 0x48]
test ecx, ecx
je 0x1005a4d5
movzx edx, byte [ebp - 0x29]
test edx, edx
je 0x1005a4d5
mov byte [ebp - 0x3a], 1
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.100497b0
add esp, 8
mov edx, dword [ebp - 0x60]
push edx
call fcn.10053140
add esp, 4
jmp 0x1005a524
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0x324]
test eax, eax
je 0x1005a524
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x1740]
cmp edx, dword [ebp - 0x40]
jne 0x1005a524
push 0
push 0
call fcn.100497b0
add esp, 8
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x4f], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x1740]
cmp ecx, dword [ebp - 0x40]
jne 0x1005b633
movzx edx, byte [ebp - 0x22]
test edx, edx
jne 0x1005a5b0
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x1749]
test ecx, ecx
jne 0x1005a5b0
mov edx, dword [ebp + 0x10]
add edx, 1
push edx
mov ecx, dword [ebp - 0x20]
add ecx, 4
call fcn.10061300
mov dword [ebp - 0x194], 0
lea eax, [ebp - 0x194]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
push edx
call fcn.10047e30
add esp, 0x14
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x194]
sub edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp - 0x20]
call fcn.10044e80
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x30], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0xc8]
test eax, eax
jne 0x1005a5dc
mov dword [ebp - 0x1a0], 1
jmp 0x1005a5e6
mov dword [ebp - 0x1a0], 0
mov ecx, dword [ebp - 0x28]
mov dl, byte [ebp - 0x1a0]
mov byte [ecx + 0x174a], dl
mov eax, dword [ebp - 0x28]
movss xmm0, dword [eax + 0xc4]
subss xmm0, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x68]
subss xmm0, dword [ecx + 0x20]
mov edx, dword [ebp - 0x20]
addss xmm0, dword [edx + 0x34]
movss dword [ebp - 0x110], xmm0
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1005a650
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
movss xmm0, dword [ecx + 0xc8]
subss xmm0, dword [edx + 0xbc]
mov eax, dword [ebp - 0x68]
subss xmm0, dword [eax + 0x24]
movss dword [ebp - 0x1a4], xmm0
jmp 0x1005a66b
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [ecx + 0x16e0]
mulss xmm0, dword [0x100a3f50]
movss dword [ebp - 0x1a4], xmm0
movss xmm0, dword [ebp - 0x1a4]
movss dword [ebp - 0x1a8], xmm0
movzx edx, byte [ebp - 0x3a]
test edx, edx
jne 0x1005a6b0
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x1005a6c7
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + 0xa2]
test edx, edx
jne 0x1005a6c7
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0x368]
test eax, eax
je 0x1005a6c7
mov ecx, dword [ebp - 0x20]
call fcn.10044f40
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xcd1], 1
jmp 0x1005a80a
movzx edx, byte [ebp - 0x35]
test edx, edx
je 0x1005a713
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0xa2]
test ecx, ecx
je 0x1005a713
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + eax + 0x368]
test edx, edx
je 0x1005a713
push 0x1000c
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
push 0x3000d
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005a80a
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0x324]
test eax, eax
je 0x1005a774
mov ecx, dword [ebp - 0x20]
movzx edx, byte [ecx + 0xcd1]
test edx, edx
jne 0x1005a774
push ecx
movss xmm0, dword [ebp - 0x1a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x110]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x20]
add eax, 0x38
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.10057fc0
add esp, 0x10
mov ecx, dword [ebp - 0x20]
call fcn.10044e60
jmp 0x1005a80a
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x34]
movzx edx, byte [ecx + eax + 0xc8]
test edx, edx
je 0x1005a80a
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + 0xcd1]
test ecx, ecx
jne 0x1005a80a
mov edx, dword [ebp - 0x34]
movss xmm0, dword [edx + 0x31c]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jp 0x1005a7c9
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x320]
ucomiss xmm0, dword [0x100a3e80]
lahf
test ah, 0x44
jnp 0x1005a80a
push ecx
movss xmm0, dword [ebp - 0x1a8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x110]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x20]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.10058010
add esp, 0x10
mov ecx, dword [ebp - 0x20]
call fcn.10044e60
mov eax, dword [ebp - 0x20]
mov byte [eax + 0xcd0], 1
mov ecx, dword [ebp - 0x20]
movzx edx, byte [ecx + 0xcd1]
test edx, edx
je 0x1005a839
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + ecx + 0xc8]
test eax, eax
jne 0x1005a839
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xcd1], 0
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax + 0x2de]
test edx, edx
je 0x1005a92b
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1005a868
movzx ecx, byte [ebp - 0x37]
test ecx, ecx
je 0x1005a905
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x1005a905
mov dword [ebp - 0xb0], 0
jmp 0x1005a88f
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x11
jge 0x1005a905
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + ecx*2 + 0x2de]
test eax, eax
je 0x1005a905
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + ecx*2 + 0x2de]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x1005a900
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0xf0]
push ecx
call fcn.10059c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x1005a8f1
jmp 0x1005a880
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005a880
xor ecx, ecx
mov edx, dword [ebp - 0x28]
add edx, 0x2de
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ecx
mov dword [edx + 0x1c], ecx
mov word [edx + 0x20], cx
mov byte [ebp - 0x4e], 0
movzx eax, byte [ebp - 0x36]
test eax, eax
je 0x1005a943
mov dword [ebp - 0x114], 0x20000
jmp 0x1005a94d
mov dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x34]
movzx eax, byte [edx + 0xa1]
test eax, eax
je 0x1005a9a8
movzx ecx, byte [ebp - 0x49]
test ecx, ecx
je 0x1005a990
movzx edx, byte [ebp - 0x37]
test edx, edx
jne 0x1005a990
movzx eax, byte [ebp - 0x36]
test eax, eax
jne 0x1005a990
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
jne 0x1005a990
mov dword [ebp - 0x118], 1
jmp 0x1005a99a
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0x120], edx
jmp 0x1005a9ea
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1005a9d4
movzx ecx, byte [ebp - 0x37]
test ecx, ecx
jne 0x1005a9d4
movzx edx, byte [ebp - 0x36]
test edx, edx
jne 0x1005a9d4
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x1005a9d4
mov dword [ebp - 0x11c], 1
jmp 0x1005a9de
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], ecx
mov dl, byte [ebp - 0x120]
mov byte [ebp - 0x2a], dl
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0xa0]
test ecx, ecx
je 0x1005aa0f
mov edx, dword [ebp - 0x34]
mov al, byte [edx + 0xd7]
mov byte [ebp - 0x4a], al
jmp 0x1005aa1b
mov ecx, dword [ebp - 0x34]
mov dl, byte [ecx + 0xd5]
mov byte [ebp - 0x4a], dl
mov al, byte [ebp - 0x4a]
mov byte [ebp - 0x4b], al
push 1
push 1
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005aa6f
movzx edx, byte [ebp - 0x4b]
test edx, edx
je 0x1005aa4c
mov eax, dword [ebp - 0x44]
or eax, 0x1000c
mov dword [ebp - 0x124], eax
jmp 0x1005aa5b
mov ecx, dword [ebp - 0x44]
or ecx, 0x10000
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
push edx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 2
call fcn.1004da50
add esp, 8
movzx eax, al
test eax, eax
je 0x1005aabd
movzx ecx, byte [ebp - 0x4b]
test ecx, ecx
je 0x1005aa9b
mov edx, dword [ebp - 0x44]
or edx, 0x1000d
mov dword [ebp - 0x128], edx
jmp 0x1005aaa9
mov eax, dword [ebp - 0x44]
or eax, 0x10001
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005ab1e
push 1
push 3
call fcn.1004da50
add esp, 8
movzx eax, al
test eax, eax
je 0x1005ab1e
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
je 0x1005ab07
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x28]
movss xmm0, dword [edx + 0x60]
subss xmm0, dword [eax + 0x16e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.10053970
add esp, 8
jmp 0x1005ab19
mov edx, dword [ebp - 0x44]
or edx, 0x10002
push edx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1005ab7e
push 1
push 4
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005ab7e
movzx edx, byte [ebp - 0x29]
test edx, edx
je 0x1005ab68
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [eax + 0x60]
addss xmm0, dword [ecx + 0x16e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x30]
push edx
call fcn.10053970
add esp, 8
jmp 0x1005ab79
mov eax, dword [ebp - 0x44]
or eax, 0x10003
push eax
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 7
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005abcc
movzx edx, byte [ebp - 0x29]
test edx, edx
je 0x1005aba9
mov eax, dword [ebp - 0x44]
or eax, 0x10006
mov dword [ebp - 0x12c], eax
jmp 0x1005abb8
mov ecx, dword [ebp - 0x44]
or ecx, 0x10004
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
push edx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 8
call fcn.1004da50
add esp, 8
movzx eax, al
test eax, eax
je 0x1005ac1a
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
je 0x1005abf8
mov edx, dword [ebp - 0x44]
or edx, 0x10007
mov dword [ebp - 0x130], edx
jmp 0x1005ac06
mov eax, dword [ebp - 0x44]
or eax, 0x10005
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 9
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005ac4c
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1005ac4c
mov ecx, dword [ebp - 0x44]
or ecx, 0x10008
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 0xa
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005ac7e
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1005ac7e
mov ecx, dword [ebp - 0x44]
or ecx, 0x10009
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 0xb
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005ad40
mov eax, dword [ebp + 0x18]
and eax, 0x800
je 0x1005acab
mov dword [ebp - 0x134], 1
jmp 0x1005acb5
mov dword [ebp - 0x134], 0
mov cl, byte [ebp - 0x134]
mov byte [ebp - 0x4c], cl
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005ace6
movzx eax, byte [ebp - 0x4c]
test eax, eax
je 0x1005acd6
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
je 0x1005ace6
movzx edx, byte [ebp - 0x4c]
test edx, edx
jne 0x1005acf8
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1005acf8
push 0
push 0
call fcn.100497b0
add esp, 8
mov byte [ebp - 0x4f], 1
jmp 0x1005ad3b
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
je 0x1005ad3b
mov dword [ebp - 0x138], 0xa
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x138]
push edx
call fcn.10059c20
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1005ad3b
mov ecx, dword [ebp - 0x138]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
mov edx, dword [ebp + 0x18]
and edx, 0x400
je 0x1005adbe
push 1
push 0
call fcn.1004da50
add esp, 8
movzx eax, al
test eax, eax
je 0x1005adbe
movzx ecx, byte [ebp - 0x29]
test ecx, ecx
jne 0x1005adbe
movzx edx, byte [ebp - 0x36]
test edx, edx
jne 0x1005adbe
movzx eax, byte [ebp - 0x37]
test eax, eax
jne 0x1005adbe
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
je 0x1005adbe
mov dword [ebp - 0x13c], 9
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0x13c]
push edx
call fcn.10059c20
add esp, 0x10
movzx eax, al
test eax, eax
je 0x1005adb9
mov ecx, dword [ebp - 0x13c]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
jmp 0x1005b21e
push 1
push 0xc
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005ade6
push 0
push 0
call fcn.100497b0
add esp, 8
mov byte [ebp - 0x4e], 1
jmp 0x1005b21e
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1005ae23
push 1
push 0x12
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005ae23
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x1005ae23
push 0x1000a
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
mov ecx, dword [ebp - 0x20]
call fcn.10044f10
jmp 0x1005b21e
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1005ae60
push 1
push 0x11
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005ae60
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x1005ae60
push 0x1000b
mov ecx, dword [ebp - 0x20]
call fcn.10059be0
mov ecx, dword [ebp - 0x20]
call fcn.10044f10
jmp 0x1005b21e
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1005ae92
push 1
push 0xd
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005ae92
mov ecx, dword [ebp - 0x20]
call fcn.10044f40
mov edx, dword [ebp - 0x20]
mov byte [edx + 0xcd0], 1
jmp 0x1005b21e
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1005b051
movzx ecx, byte [ebp - 0x38]
test ecx, ecx
jne 0x1005b051
push 1
push 0x10
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005aec5
movzx eax, byte [ebp - 0x22]
test eax, eax
jne 0x1005aedc
push 1
push 0xe
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005b051
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005aef7
mov ecx, dword [ebp - 0x20]
call fcn.10044ee0
movzx eax, al
test eax, eax
je 0x1005b051
push 1
push 0x10
call fcn.1004da50
add esp, 8
mov byte [ebp - 0x4d], al
movzx ecx, byte [ebp - 0x4d]
test ecx, ecx
je 0x1005af25
mov ecx, dword [ebp - 0x20]
call fcn.10044ee0
movzx edx, al
test edx, edx
jne 0x1005af25
mov ecx, dword [ebp - 0x20]
call fcn.10044f40
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0xb0], 0
je 0x1005b027
mov ecx, dword [ebp - 0x20]
call fcn.10044ee0
movzx ecx, al
test ecx, ecx
je 0x1005af62
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x40]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x3c]
push edx
call fcn.10044520
add esp, 8
mov dword [ebp - 0x140], eax
jmp 0x1005af6c
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x20]
call fcn.10044ee0
movzx ecx, al
test ecx, ecx
je 0x1005afa5
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x40]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x3c]
push edx
call fcn.10044550
add esp, 8
mov dword [ebp - 0x144], eax
jmp 0x1005afb1
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x144], ecx
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x148], edx
mov eax, dword [ebp - 0x148]
sub eax, dword [ebp - 0x14c]
lea ecx, [eax*4 + 1]
push ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0x1c
call fcn.10060d30
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x148]
lea edx, [eax + ecx*2]
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x14c]
lea eax, [ecx + edx*2]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.10048130
add esp, 0x10
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x24]
push eax
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0xb0]
call edx
add esp, 4
movzx eax, byte [ebp - 0x4d]
test eax, eax
je 0x1005b04c
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xcd0], 1
mov edx, dword [ebp - 0x20]
add edx, 0x38
push edx
mov eax, dword [ebp - 0x20]
push eax
call fcn.10058500
add esp, 8
jmp 0x1005b21e
movzx ecx, byte [ebp - 0x2a]
test ecx, ecx
je 0x1005b21e
push 1
push 0xf
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005b21e
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1005b21e
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0xac], 0
je 0x1005b21e
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0xac]
call eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
je 0x1005b21e
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0x210], edx
mov eax, dword [ebp - 0xb4]
mov cl, byte [eax]
mov byte [ebp - 0x6f], cl
add dword [ebp - 0xb4], 1
cmp byte [ebp - 0x6f], 0
jne 0x1005b0c9
mov edx, dword [ebp - 0xb4]
sub edx, dword [ebp - 0x210]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
lea edx, [ecx + ecx + 2]
push edx
call fcn.1004a060
add esp, 4
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
test edx, edx
je 0x1005b1c9
push 0
mov eax, dword [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xc8]
push ecx
call fcn.10047a40
add esp, 0xc
add eax, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc8], 0
jne 0x1005b16e
jmp 0x1005b1c9
cmp dword [ebp - 0xc8], 0x10000
jae 0x1005b19c
mov edx, dword [ebp + 0x20]
push edx
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [ebp - 0xc8]
push edx
call fcn.10059c20
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x1005b19e
jmp 0x1005b12e
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0xcc]
mov ax, word [ebp - 0xc8]
mov word [edx + ecx*2], ax
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
jmp 0x1005b12e
xor edx, edx
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xcc]
mov word [ecx + eax*2], dx
cmp dword [ebp - 0x84], 0
jle 0x1005b20f
mov edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.10058540
add esp, 0x10
mov eax, dword [ebp - 0x20]
mov byte [eax + 0xcd0], 1
mov ecx, dword [ebp - 0xcc]
push ecx
call fcn.1004a0a0
add esp, 4
movzx edx, byte [ebp - 0x4e]
test edx, edx
je 0x1005b253
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1005b24e
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x18]
push edx
push 0x1009e530
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10047830
add esp, 0x10
mov byte [ebp - 0x3b], 1
jmp 0x1005b633
movzx edx, byte [ebp - 0x22]
test edx, edx
je 0x1005b28f
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 4]
shl ecx, 2
push ecx
mov ecx, dword [ebp - 0x20]
add ecx, 0x1c
call fcn.10060d30
push 0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x1c]
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.10048130
add esp, 0x10
mov edx, dword [ebp + 0x18]
and edx, 0x1c0
je 0x1005b580
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xb8], 0x13
mov eax, dword [ebp + 0x18]
and eax, 0x40
je 0x1005b2e3
push 1
push 0
call fcn.1004da50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1005b2e3
mov dword [ebp - 0x88], 0x40
mov dword [ebp - 0xb8], 0
jmp 0x1005b35f
mov edx, dword [ebp + 0x18]
and edx, 0x80
je 0x1005b317
push 1
push 3
call fcn.1004da50
add esp, 8
movzx eax, al
test eax, eax
je 0x1005b317
mov dword [ebp - 0x88], 0x80
mov dword [ebp - 0xb8], 3
jmp 0x1005b35f
mov ecx, dword [ebp + 0x18]
and ecx, 0x80
je 0x1005b34b
push 1
push 4
call fcn.1004da50
add esp, 8
movzx edx, al
test edx, edx
je 0x1005b34b
mov dword [ebp - 0x88], 0x80
mov dword [ebp - 0xb8], 4
jmp 0x1005b35f
mov eax, dword [ebp + 0x18]
and eax, 0x100
je 0x1005b35f
mov dword [ebp - 0x88], pe_nt_image_headers32
cmp dword [ebp - 0x88], 0
je 0x1005b580
push 0x30
push 0
lea ecx, [ebp - 0x1d8]
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x1d0], ecx
movzx edx, byte [ebp - 0x22]
test edx, edx
jne 0x1005b3b1
mov dword [ebp - 0x150], 1
jmp 0x1005b3bb
mov dword [ebp - 0x150], 0
mov al, byte [ebp - 0x150]
mov byte [ebp - 0x1cc], al
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x1c0], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1bc], ecx
mov byte [ebp - 0x1b8], 0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x38]
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + edx*2]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.100481d0
add esp, 8
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + edx*2]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.100481d0
add esp, 8
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x40]
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + edx*2]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
call fcn.100481d0
add esp, 8
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x1d8]
push ecx
call dword [ebp + 0x1c]
add esp, 4
mov edx, dword [ebp - 0x1b4]
cmp edx, dword [ebp - 0x21c]
je 0x1005b4da
mov eax, dword [ebp - 0x1c4]
add eax, dword [ebp - 0x1b4]
push eax
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.10047ed0
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [ebp - 0x220]
je 0x1005b50a
mov ecx, dword [ebp - 0x1c4]
add ecx, dword [ebp - 0x1b0]
push ecx
mov edx, dword [ebp - 0x1c4]
push edx
call fcn.10047ed0
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x3c], eax
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x224]
je 0x1005b53a
mov eax, dword [ebp - 0x1c4]
add eax, dword [ebp - 0x1ac]
push eax
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.10047ed0
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x40], eax
movzx eax, byte [ebp - 0x1b8]
test eax, eax
je 0x1005b580
push 0
push 0
mov ecx, dword [ebp - 0x1c4]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
push edx
call fcn.10047e30
add esp, 0x14
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c0]
mov dword [edx + 0x28], eax
mov ecx, dword [ebp - 0x20]
call fcn.10044e60
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
je 0x1005b633
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xbc]
mov al, byte [edx]
mov byte [ebp - 0x6e], al
mov ecx, dword [ebp - 0xc0]
cmp al, byte [ecx]
jne 0x1005b5f3
cmp byte [ebp - 0x6e], 0
je 0x1005b5e7
mov edx, dword [ebp - 0xbc]
mov al, byte [edx + 1]
mov byte [ebp - 0x6d], al
mov ecx, dword [ebp - 0xc0]
cmp al, byte [ecx + 1]
jne 0x1005b5f3
add dword [ebp - 0xbc], 2
add dword [ebp - 0xc0], 2
cmp byte [ebp - 0x6d], 0
jne 0x1005b5a1
mov dword [ebp - 0x154], 0
jmp 0x1005b5fe
sbb edx, edx
or edx, 1
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x1005b633
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x24]
push edx
push 0x1009e534
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10047830
add esp, 0x10
mov byte [ebp - 0x3b], 1
movzx edx, byte [ebp - 0x21]
test edx, edx
jne 0x1005b688
mov eax, dword [ebp - 0x68]
push ecx
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
push 1
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 7
call fcn.10045cd0
add esp, 8
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [ebp - 0xe4]
push edx
mov eax, dword [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.1004cf80
add esp, 0x1c
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ebp - 0xa0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xec]
addss xmm0, dword [ebp - 0xa4]
push ecx
movss dword [esp], 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 - 0x250]
call fcn.10043d40
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005b70c
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xbc]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], edx
lea eax, [ebp - 0x258]
mov dword [ebp - 0x158], eax
jmp 0x1005b72f
mov ecx, dword [ebp - 0x68]
add ecx, 0x20
push ecx
lea edx, [ebp - 0xec]
push edx
lea eax, [ebp - 0x308]
push eax
call fcn.100443b0
add esp, 0xc
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], ecx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x19c]
call fcn.10043cd0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x1740]
cmp eax, dword [ebp - 0x40]
je 0x1005b7cd
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x40]
jne 0x1005c2f9
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1005c2f9
push 0
movzx ecx, byte [ebp - 0xf2]
push ecx
push str.SCROLLY
lea ecx, [ebp - 0x10]
call fcn.10062640
mov ecx, eax
call fcn.1000d690
push eax
mov ecx, dword [ebp - 0x30]
call fcn.10049690
mov edx, dword [ebp - 0x28]
cmp dword [edx + 0x1740], eax
jne 0x1005c2f9
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [eax + 0xccc]
addss xmm0, dword [ecx + 0xc]
mov edx, dword [ebp - 0x20]
movss dword [edx + 0xccc], xmm0
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0xac]
call fcn.10043ca0
lea ecx, [ebp - 0x22c]
call fcn.10043ca0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 0x78]
lea edx, [ecx + eax*2]
mov eax, 4
imul ecx, eax, 0
mov dword [ebp + ecx - 0xd4], edx
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0xd4], 0
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x9c], 0xffffffff
mov dword [ebp - 0x98], 0xfffffc19
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x1005b8a8
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10044520
add esp, 8
mov ecx, dword [ebp - 0x78]
lea edx, [ecx + eax*2]
mov eax, 4
shl eax, 0
mov dword [ebp + eax - 0xd4], edx
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0x9c], 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1005b8bc
mov dword [ebp - 0x15c], 1
jmp 0x1005b8c6
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x6c], 0
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x90], edx
jmp 0x1005b8f3
mov eax, dword [ebp - 0x90]
add eax, 2
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x90]
movzx edx, word [ecx]
test edx, edx
je 0x1005b9bc
mov eax, dword [ebp - 0x90]
movzx ecx, word [eax]
cmp ecx, 0xa
jne 0x1005b9b7
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
mov eax, 4
imul ecx, eax, 0
cmp dword [ebp + ecx - 0x9c], 0xffffffff
jne 0x1005b96b
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp + eax - 0xd4]
jb 0x1005b96b
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp + eax - 0x9c], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0
jg 0x1005b96b
jmp 0x1005b9bc
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x9c], 0xffffffff
jne 0x1005b9b7
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp + ecx - 0xd4]
jb 0x1005b9b7
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x6c]
mov dword [ebp + eax - 0x9c], ecx
mov edx, dword [ebp - 0x5c]
sub edx, 1
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0
jg 0x1005b9b7
jmp 0x1005b9bc
jmp 0x1005b8e4
mov eax, dword [ebp - 0x6c]
add eax, 1
mov dword [ebp - 0x6c], eax
mov ecx, 4
imul edx, ecx, 0
cmp dword [ebp + edx - 0x9c], 0xffffffff
jne 0x1005b9e9
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x6c]
mov dword [ebp + ecx - 0x9c], edx
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x9c], 0xffffffff
jne 0x1005ba0d
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x6c]
mov dword [ebp + ecx - 0x9c], edx
push 0
push 0
push 0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0xd4]
push edx
mov eax, dword [ebp - 0x78]
push eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0xd4]
push eax
call fcn.10047800
add esp, 8
push eax
lea ecx, [ebp - 0x310]
push ecx
call fcn.10057790
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0xac], xmm0
mov edx, 4
imul eax, edx, 0
cvtsi2ss xmm0, dword [ebp + eax - 0x9c]
mov ecx, dword [ebp - 0x28]
mulss xmm0, dword [ecx + 0x16e0]
movss dword [ebp - 0xa8], xmm0
mov edx, 4
shl edx, 0
cmp dword [ebp + edx - 0x9c], 0
jl 0x1005bb03
push 0
push 0
push 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0xd4]
push ecx
mov edx, dword [ebp - 0x78]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0xd4]
push ecx
call fcn.10047800
add esp, 8
push eax
lea edx, [ebp - 0x320]
push edx
call fcn.10057790
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x22c], xmm0
mov eax, 4
shl eax, 0
cvtsi2ss xmm0, dword [ebp + eax - 0x9c]
mov ecx, dword [ebp - 0x28]
mulss xmm0, dword [ecx + 0x16e0]
movss dword [ebp - 0x228], xmm0
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005bb4b
cvtsi2ss xmm0, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x28]
mulss xmm0, dword [eax + 0x16e0]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x328]
call fcn.10043cd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x20]
movzx ecx, byte [eax + 0xcd0]
test ecx, ecx
je 0x1005bd12
mov edx, dword [ebp + 0x18]
and edx, 0x1000
jne 0x1005bc1f
movss xmm0, dword [ebp - 0xa4]
mulss xmm0, dword [0x100a3f20]
movss dword [ebp - 0x160], xmm0
mov eax, dword [ebp - 0x20]
movss xmm0, dword [eax + 0x34]
comiss xmm0, dword [ebp - 0xac]
jbe 0x1005bbdc
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0x160]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x240]
movss xmm0, dword [ebp - 0x240]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x20]
movss dword [edx + 0x34], xmm0
jmp 0x1005bc1d
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x20]
comiss xmm0, dword [eax + 0x34]
jb 0x1005bc1d
movss xmm0, dword [ebp - 0xac]
subss xmm0, dword [ebp - 0xa4]
addss xmm0, dword [ebp - 0x160]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x20]
movss dword [edx + 0x34], xmm0
jmp 0x1005bc2a
mov eax, dword [ebp - 0x20]
xorps xmm0, xmm0
movss dword [eax + 0x34], xmm0
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1005bd12
mov edx, dword [ebp - 0x30]
movss xmm0, dword [edx + 0x60]
movss dword [ebp - 0x94], xmm0
mov eax, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [eax + 0x16e0]
movss xmm1, dword [ebp - 0x94]
comiss xmm1, xmm0
jbe 0x1005bc98
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ecx + 0x16e0]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100445b0
add esp, 8
fstp dword [ebp - 0x94]
jmp 0x1005bcc9
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0xa0]
comiss xmm0, dword [ebp - 0x94]
jb 0x1005bcc9
movss xmm0, dword [ebp - 0xa8]
subss xmm0, dword [ebp - 0xa0]
movss dword [ebp - 0x94], xmm0
mov edx, dword [ebp - 0x30]
movss xmm0, dword [edx + 0x60]
subss xmm0, dword [ebp - 0x94]
mov eax, dword [ebp - 0x30]
addss xmm0, dword [eax + 0xbc]
mov ecx, dword [ebp - 0x30]
movss dword [ecx + 0xbc], xmm0
mov edx, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x94]
movss dword [edx + 0x60], xmm0
mov eax, dword [ebp - 0x30]
movss xmm0, dword [eax + 0xbc]
movss dword [ebp - 0xd8], xmm0
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xcd0], 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 0x20]
push ecx
movss xmm0, dword [edx + 0x34]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e0]
call fcn.10043cd0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x1005c078
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10044520
add esp, 8
mov ecx, dword [ebp - 0x78]
lea edx, [ecx + eax*2]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10044550
add esp, 8
mov ecx, dword [ebp - 0x78]
lea edx, [ecx + eax*2]
mov dword [ebp - 0x104], edx
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1005bda9
xorps xmm0, xmm0
movss dword [ebp - 0x164], xmm0
jmp 0x1005bdb9
movss xmm0, dword [0x100a40e0]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x1fc], xmm0
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1005bdde
xorps xmm0, xmm0
movss dword [ebp - 0x168], xmm0
jmp 0x1005bdee
movss xmm0, dword [0x100a3fc0]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x1f8], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0x29
call fcn.10045cd0
add esp, 8
mov dword [ebp - 0x200], eax
lea edx, [ebp - 0x1e0]
push edx
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0xdc]
push ecx
lea edx, [ebp - 0x290]
push edx
call fcn.100443b0
add esp, 0xc
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.100443f0
add esp, 0xc
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp - 0x104]
jae 0x1005c078
mov eax, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x244]
addss xmm0, dword [eax + 0x16e0]
movss xmm1, dword [ebp - 0xf8]
comiss xmm1, xmm0
jbe 0x1005be8d
jmp 0x1005c078
movss xmm0, dword [ebp - 0x24c]
comiss xmm0, dword [ebp - 0xf8]
jbe 0x1005bed0
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0x104]
jae 0x1005becb
mov edx, dword [ebp - 0x7c]
movzx eax, word [edx]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x7c]
add ecx, 2
mov dword [ebp - 0x7c], ecx
cmp dword [ebp - 0x1f0], 0xa
jne 0x1005bec9
jmp 0x1005becb
jmp 0x1005be9e
jmp 0x1005c040
push 1
push 0
lea edx, [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x104]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x234]
push edx
call fcn.10057790
add esp, 0x18
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x234]
jb 0x1005bf34
push 0x20
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x16dc]
call fcn.10044150
fstp dword [ebp - 0x1f4]
movss xmm0, dword [ebp - 0x1f4]
mulss xmm0, dword [0x100a3f50]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
movss dword [ebp - 0x234], xmm0
push ecx
movss xmm0, dword [ebp - 0x1f8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x234]
movss dword [esp], xmm0
lea ecx, [ebp - 0x298]
call fcn.10043cd0
push eax
lea edx, [ebp - 0xfc]
push edx
lea eax, [ebp - 0x360]
push eax
call fcn.100443b0
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x1fc]
subss xmm0, dword [ecx + 0x16e0]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2a8]
call fcn.10043cd0
push eax
lea edx, [ebp - 0xfc]
push edx
lea eax, [ebp - 0x2b0]
push eax
call fcn.100443b0
add esp, 0xc
push eax
lea ecx, [ebp - 0x268]
call fcn.10044940
lea ecx, [ebp - 0x250]
push ecx
lea ecx, [ebp - 0x338]
call fcn.10044980
lea edx, [ebp - 0x338]
push edx
lea ecx, [ebp - 0x268]
call fcn.10044d60
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x348]
call fcn.10044980
lea ecx, [ebp - 0x348]
push ecx
lea ecx, [ebp - 0x268]
call fcn.10044c80
movzx edx, al
test edx, edx
je 0x1005c040
push 0xf
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 0x200]
push eax
lea ecx, [ebp - 0x260]
push ecx
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x254]
call fcn.1006bb10
movss xmm0, dword [ebp - 0xdc]
subss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0xfc], xmm0
mov ecx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0xf8]
addss xmm0, dword [ecx + 0x16e0]
movss dword [ebp - 0xf8], xmm0
jmp 0x1005be59
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005c08c
mov dword [ebp - 0x16c], 0
jmp 0x1005c098
lea eax, [ebp - 0x250]
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x16c]
push ecx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp + 0xc]
add eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0
call fcn.10045cd0
add esp, 8
push eax
lea edx, [ebp - 0x1e0]
push edx
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x2b8]
push ecx
call fcn.100443f0
add esp, 0xc
push eax
mov edx, dword [ebp - 0x28]
push ecx
movss xmm0, dword [edx + 0x16e0]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0x16dc]
push ecx
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx + 0x254]
call fcn.1006bc60
mov eax, dword [ebp - 0x28]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x26dc]
jae 0x1005c16f
push ecx
movss xmm0, dword [0x100a3fac]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x28]
push ecx
movss xmm0, dword [ecx + 0x26dc]
movss dword [esp], xmm0
call fcn.10044300
add esp, 8
fstp dword [ebp - 0x204]
movss xmm0, dword [0x100a3f84]
comiss xmm0, dword [ebp - 0x204]
jae 0x1005c16f
mov dword [ebp - 0x170], 0
jmp 0x1005c179
mov dword [ebp - 0x170], 1
mov dl, byte [ebp - 0x170]
mov byte [ebp - 0x7e], dl
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0xac]
push ecx
lea edx, [ebp - 0xdc]
push edx
lea eax, [ebp - 0x2c0]
push eax
call fcn.100443b0
add esp, 0xc
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.100443f0
add esp, 0xc
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [0x100a3fbc]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x10c]
addss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [edx + 0x16e0]
addss xmm0, dword [0x100a3f50]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x10c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x278]
call fcn.100449e0
movzx eax, byte [ebp - 0x7e]
test eax, eax
je 0x1005c29e
lea ecx, [ebp - 0x250]
push ecx
lea ecx, [ebp - 0x358]
call fcn.10044980
lea edx, [ebp - 0x358]
push edx
lea ecx, [ebp - 0x278]
call fcn.10044c80
movzx eax, al
test eax, eax
je 0x1005c29e
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0
call fcn.10045cd0
add esp, 8
push eax
lea ecx, [ebp - 0x2c8]
push ecx
lea ecx, [ebp - 0x278]
call fcn.10044ba0
push eax
lea edx, [ebp - 0x278]
push edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x254]
call fcn.1006b990
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
je 0x1005c2f4
mov edx, dword [ebp - 0x28]
movss xmm0, dword [ebp - 0x108]
subss xmm0, dword [edx + 0x16e0]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x10c]
subss xmm0, dword [0x100a3fa4]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2d0]
call fcn.10043cd0
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x2b68], ecx
mov dword [eax + 0x2b6c], edx
jmp 0x1005c3e1
mov dword [ebp - 0x178], 0
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1005c35d
lea edx, [ebp - 0x178]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.10057700
add esp, 8
cvtsi2ss xmm0, eax
mov ecx, dword [ebp - 0x28]
mulss xmm0, dword [ecx + 0x16e0]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xa4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2d8]
call fcn.10043cd0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x198], eax
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
je 0x1005c371
mov dword [ebp - 0x174], 0
jmp 0x1005c37d
lea edx, [ebp - 0x250]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x174]
push eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x178]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push ecx
movss xmm0, dword [0x100a3fa4]
movss dword [esp], xmm0
push 0
call fcn.10045cd0
add esp, 8
push eax
lea eax, [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
movss xmm0, dword [ecx + 0x16e0]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x16dc]
push eax
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + 0x254]
call fcn.1006bc60
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x1005c438
mov eax, dword [ebp - 0x28]
push ecx
movss xmm0, dword [eax + 0x16e0]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2e0]
call fcn.10043cd0
push eax
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x318]
push edx
call fcn.100443b0
add esp, 0xc
push eax
call fcn.1005f9d0
add esp, 4
call fcn.1004eae0
call fcn.1005fb80
movzx eax, byte [ebp - 0x38]
test eax, eax
je 0x1005c445
call fcn.100534e0
mov ecx, dword [ebp - 0x28]
movzx edx, byte [ecx + 0x2b78]
test edx, edx
je 0x1005c470
movzx eax, byte [ebp - 0x38]
test eax, eax
jne 0x1005c470
push 0
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0xdc]
push edx
call fcn.1004c900
add esp, 0xc
movss xmm0, dword [ebp - 0x1e8]
comiss xmm0, dword [0x100a3e80]
jbe 0x1005c4cf
push 1
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x68]
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [ecx + 0x24]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x68]
movss xmm0, dword [ebp - 0xe4]
addss xmm0, dword [edx + 0x34]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2f0]
call fcn.10043cd0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.1004caa0
add esp, 0x14
mov eax, dword [ebp + 0x18]
and eax, 0x20
je 0x1005c4de
mov al, byte [ebp - 0x4f]
jmp 0x1005c4e1
mov al, byte [ebp - 0x3b]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100972e3
mov esp, ebp
pop ebp
ret