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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x358
call fcn.1000fbd0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
je 0x100851c6
xor al, al
jmp 0x10087991
mov edx, dword [0x100b5168]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
add eax, 4
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x13c0
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp + 0x18]
and edx, 0x100000
je 0x100851f5
mov byte [ebp - 0x2b], 1
jmp 0x100851f9
mov byte [ebp - 0x2b], 0
mov al, byte [ebp - 0x2b]
mov byte [ebp - 5], al
mov ecx, dword [ebp + 0x18]
and ecx, 0x4000
jne 0x10085210
mov byte [ebp - 0x35], 1
jmp 0x10085214
mov byte [ebp - 0x35], 0
mov dl, byte [ebp - 0x35]
mov byte [ebp - 6], dl
mov eax, dword [ebp + 0x18]
and eax, 0x8000
je 0x1008522a
mov byte [ebp - 0x37], 1
jmp 0x1008522e
mov byte [ebp - 0x37], 0
mov cl, byte [ebp - 0x37]
mov byte [ebp - 0x1b], cl
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10085241
call fcn.1008a040
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x40]
call fcn.100754c0
mov dword [ebp - 0x20], eax
push 0
push ecx
movss xmm0, dword [0x100b0450]
movss dword [esp], xmm0
push 1
push 0
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x1e0]
push edx
call fcn.10078f00
add esp, 0x18
movzx eax, byte [ebp - 5]
test eax, eax
je 0x100852a6
call fcn.1007f320
fstp dword [ebp - 0x208]
movss xmm0, dword [ebp - 0x208]
mulss xmm0, dword [0x100b037c]
movss dword [ebp - 0x17c], xmm0
jmp 0x100852b6
movss xmm0, dword [ebp - 0x1dc]
movss dword [ebp - 0x17c], xmm0
mov ecx, dword [ebp - 0x54]
movss xmm0, dword [ecx + 0x28]
mulss xmm0, dword [0x100b0358]
addss xmm0, dword [ebp - 0x17c]
push ecx
movss dword [esp], xmm0
call fcn.1007e900
push ecx
fstp dword [esp]
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [edx]
push ecx
lea edx, [ebp - 0x88]
push edx
call fcn.10075c90
add esp, 0x14
lea eax, [ebp - 0x88]
push eax
mov ecx, dword [ebp - 0x40]
add ecx, 0xb8
push ecx
lea edx, [ebp - 0x298]
push edx
call fcn.10070a60
add esp, 0xc
push eax
mov eax, dword [ebp - 0x40]
add eax, 0xb8
push eax
lea ecx, [ebp - 0xd4]
call fcn.10070fb0
movss xmm0, dword [ebp - 0x1e0]
comiss xmm0, dword [0x100b025c]
jbe 0x10085356
mov ecx, dword [ebp - 0x54]
movss xmm0, dword [ecx + 0x38]
addss xmm0, dword [ebp - 0x1e0]
movss dword [ebp - 0x180], xmm0
jmp 0x10085361
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 - 0x2e0]
call fcn.10002b70
push eax
lea edx, [ebp - 0xcc]
push edx
lea eax, [ebp - 0x300]
push eax
call fcn.10070a60
add esp, 0xc
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x280]
call fcn.10070fb0
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x18], edx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10085416
push 0
lea ecx, [ebp - 0x308]
push ecx
lea ecx, [ebp - 0xd4]
call fcn.10071100
push eax
mov edx, dword [ebp - 0x20]
push edx
call fcn.1007a0e0
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x100853f4
call fcn.1007a190
call fcn.1008a1a0
xor al, al
jmp 0x10087991
call fcn.1000fbd0
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x88]
subss xmm0, dword [ecx + 0x78]
movss dword [ebp - 0x88], xmm0
jmp 0x10085454
mov edx, dword [ebp - 0x54]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea eax, [ebp - 0x280]
push eax
call fcn.10075890
add esp, 8
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0x280]
push edx
call fcn.100758c0
add esp, 8
movzx eax, al
test eax, eax
jne 0x10085454
xor al, al
jmp 0x10087991
movzx ecx, byte [ebp - 0x1b]
test ecx, ecx
je 0x10085518
push 0x2a
mov edx, dword [ebp - 0xc]
mov ecx, dword [edx + 0x1770]
call fcn.10097a00
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0xc]
add eax, 0x2778
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x1770]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x1770]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1770]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x1770]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [eax + 0x48]
mov dword [ecx + 0x48], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1770]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x4c]
mov dword [edx + 0x4c], eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x1770]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x44]
mov dword [eax + 0x44], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x184]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x184]
mov eax, dword [edx + 4]
mov dword [ecx + 0x38], eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.1007ea80
add esp, 4
mov edx, dword [ebp - 0xc]
add edx, 0x1aa4
mov dword [ebp - 4], edx
mov eax, dword [ebp + 0x18]
and eax, 0x440
jne 0x10085534
mov byte [ebp - 0x38], 1
jmp 0x10085538
mov byte [ebp - 0x38], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x17d4]
cmp edx, dword [ebp - 0x20]
jne 0x1008554c
mov byte [ebp - 0x39], 1
jmp 0x10085550
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x38]
push eax
movzx ecx, byte [ebp - 0x39]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.10075b40
add esp, 0xc
mov byte [ebp - 0x21], al
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1008558b
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x264]
cmp eax, dword [edx + 0x26c]
jne 0x1008558b
mov byte [ebp - 0x25], 1
jmp 0x1008558f
mov byte [ebp - 0x25], 0
mov cl, byte [ebp - 0x25]
mov byte [ebp - 0x2a], cl
movzx edx, byte [ebp - 0x21]
test edx, edx
je 0x100855ab
movzx eax, byte [ebp - 0x2a]
test eax, eax
jne 0x100855ab
mov byte [ebp - 0x26], 1
jmp 0x100855af
mov byte [ebp - 0x26], 0
mov cl, byte [ebp - 0x26]
mov byte [ebp - 0x56], cl
push 0
mov edx, dword [ebp - 0x20]
push edx
lea eax, [ebp - 0xd4]
push eax
call fcn.10075a60
add esp, 0xc
mov byte [ebp - 0x19], al
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x100855ee
mov edx, dword [ebp - 0x20]
push edx
call fcn.10075650
add esp, 4
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x1934], 1
movzx ecx, byte [ebp - 0x19]
test ecx, ecx
je 0x10085613
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + eax + 0x32c]
test edx, edx
je 0x10085613
mov byte [ebp - 0x27], 1
jmp 0x10085617
mov byte [ebp - 0x27], 0
mov al, byte [ebp - 0x27]
mov byte [ebp - 0x36], al
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1008565b
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x17d4], 0
jne 0x1008565b
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x20]
jne 0x1008565b
push 0
push str.SCROLLY
mov ecx, dword [ebp - 0x18]
call fcn.10075570
mov edx, dword [ebp - 0xc]
cmp dword [edx + 0x17d8], eax
jne 0x1008565b
mov byte [ebp - 0x28], 1
jmp 0x1008565f
mov byte [ebp - 0x28], 0
mov al, byte [ebp - 0x28]
mov byte [ebp - 0x58], al
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x17d4]
cmp edx, dword [ebp - 0x20]
je 0x10085687
mov eax, dword [ebp + 0x18]
and eax, 0x10
je 0x10085687
mov dword [ebp - 0x188], 1
jmp 0x10085691
mov dword [ebp - 0x188], 0
mov cl, byte [ebp - 0x188]
mov byte [ebp - 0x22], cl
movzx edx, byte [ebp - 0x21]
test edx, edx
jne 0x100856b6
movzx eax, byte [ebp - 0x36]
test eax, eax
jne 0x100856b6
movzx ecx, byte [ebp - 0x58]
test ecx, ecx
je 0x1008584a
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x17d4]
cmp eax, dword [ebp - 0x20]
je 0x1008582c
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x20c], edx
mov eax, dword [ebp + 0x10]
add eax, 1
push eax
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.1008b8c0
mov ecx, dword [ebp + 0x10]
add ecx, 1
push ecx
mov ecx, dword [ebp - 4]
add ecx, 0x10
call fcn.1008b2c0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x18]
push eax
call fcn.100739e0
add esp, 0xc
mov dword [ebp - 0x18c], 0
lea ecx, [ebp - 0x18c]
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
push eax
call fcn.100740e0
add esp, 0x14
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x18c]
sub edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp - 4]
call fcn.10071510
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x20]
jne 0x1008577a
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [eax + 0x2c]
jne 0x1008577a
mov byte [ebp - 0x29], 1
jmp 0x1008577e
mov byte [ebp - 0x29], 0
mov dl, byte [ebp - 0x29]
mov byte [ebp - 0x57], dl
movzx eax, byte [ebp - 0x57]
test eax, eax
je 0x10085796
mov ecx, dword [ebp - 4]
call fcn.10071530
jmp 0x100857f1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x20]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0x34], xmm0
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100857bd
mov dword [ebp - 0x190], 1
jmp 0x100857c7
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x190]
push edx
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
call fcn.10084f60
add esp, 8
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x100857f1
movzx edx, byte [ebp - 0x2a]
test edx, edx
je 0x100857f1
mov byte [ebp - 0x22], 1
mov eax, dword [ebp + 0x18]
and eax, 0x2000
je 0x10085802
mov ecx, dword [ebp - 4]
mov byte [ecx + 0x44], 1
movzx edx, byte [ebp - 5]
test edx, edx
jne 0x1008582c
movzx eax, byte [ebp - 0x56]
test eax, eax
jne 0x10085828
movzx ecx, byte [ebp - 0x36]
test ecx, ecx
je 0x1008582c
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdd]
test eax, eax
je 0x1008582c
mov byte [ebp - 0x22], 1
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call fcn.10075600
add esp, 8
mov eax, dword [ebp - 0x40]
push eax
call fcn.1007e700
add esp, 4
jmp 0x1008587b
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + edx + 0x32c]
test ecx, ecx
je 0x1008587b
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x17d4]
cmp eax, dword [ebp - 0x20]
jne 0x1008587b
push 0
push 0
call fcn.10075600
add esp, 8
mov byte [ebp - 0x24], 0
mov byte [ebp - 0x34], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x17d4]
cmp edx, dword [ebp - 0x20]
jne 0x10086af0
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x10085907
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0x17dd]
test edx, edx
jne 0x10085907
mov eax, dword [ebp + 0x10]
add eax, 1
push eax
mov ecx, dword [ebp - 4]
add ecx, 4
call fcn.1008b8c0
mov dword [ebp - 0x194], 0
lea ecx, [ebp - 0x194]
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0xc]
push eax
call fcn.100740e0
add esp, 0x14
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0x194]
sub edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp - 4]
call fcn.10071530
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x30], edx
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + ecx + 0xd0]
test eax, eax
jne 0x10085933
mov dword [ebp - 0x1a0], 1
jmp 0x1008593d
mov dword [ebp - 0x1a0], 0
mov ecx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x1a0]
mov byte [ecx + 0x17de], dl
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0xc8]
subss xmm0, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x54]
subss xmm0, dword [ecx + 0x24]
mov edx, dword [ebp - 4]
addss xmm0, dword [edx + 0x34]
movss dword [ebp - 0xfc], xmm0
movzx eax, byte [ebp - 5]
test eax, eax
je 0x100859a7
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
movss xmm0, dword [ecx + 0xcc]
subss xmm0, dword [edx + 0xbc]
mov eax, dword [ebp - 0x54]
subss xmm0, dword [eax + 0x28]
movss dword [ebp - 0xf4], xmm0
jmp 0x100859c2
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x1774]
mulss xmm0, dword [0x100b02d8]
movss dword [ebp - 0xf4], xmm0
movss xmm0, dword [ebp - 0xf4]
movss dword [ebp - 0xf8], xmm0
mov edx, dword [ebp - 0x10]
mov al, byte [edx + 0xa4]
mov byte [ebp - 0x2c], al
movzx ecx, byte [ebp - 0x22]
test ecx, ecx
jne 0x10085a0d
movzx edx, byte [ebp - 0x19]
test edx, edx
je 0x10085a24
movzx eax, byte [ebp - 0x2c]
test eax, eax
jne 0x10085a24
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + edx + 0x370]
test ecx, ecx
je 0x10085a24
mov ecx, dword [ebp - 4]
call fcn.100715f0
mov edx, dword [ebp - 4]
mov byte [edx + 0xcd1], 1
jmp 0x10085b61
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x10085a6a
movzx ecx, byte [ebp - 0x2c]
test ecx, ecx
je 0x10085a6a
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + eax + 0x370]
test edx, edx
je 0x10085a6a
push 0x1000c
mov ecx, dword [ebp - 4]
call fcn.10084f80
push 0x3000d
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x10085b61
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + ecx + 0x32c]
test eax, eax
je 0x10085acb
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0xcd1]
test edx, edx
jne 0x10085acb
push ecx
movss xmm0, dword [ebp - 0xf8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xfc]
movss dword [esp], xmm0
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10083490
add esp, 0x10
mov ecx, dword [ebp - 4]
call fcn.10071510
jmp 0x10085b61
mov edx, 1
imul eax, edx, 0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + eax + 0xd0]
test edx, edx
je 0x10085b61
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0xcd1]
test ecx, ecx
jne 0x10085b61
mov edx, dword [ebp - 0x10]
movss xmm0, dword [edx + 0x324]
ucomiss xmm0, dword [0x100b025c]
lahf
test ah, 0x44
jp 0x10085b20
mov eax, dword [ebp - 0x10]
movss xmm0, dword [eax + 0x328]
ucomiss xmm0, dword [0x100b025c]
lahf
test ah, 0x44
jnp 0x10085b61
push ecx
movss xmm0, dword [ebp - 0xf8]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xfc]
movss dword [esp], xmm0
mov ecx, dword [ebp - 4]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.100834e0
add esp, 0x10
mov ecx, dword [ebp - 4]
call fcn.10071510
mov eax, dword [ebp - 4]
mov byte [eax + 0xcd0], 1
mov ecx, dword [ebp - 4]
movzx edx, byte [ecx + 0xcd1]
test edx, edx
je 0x10085b90
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + ecx + 0xd0]
test eax, eax
jne 0x10085b90
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xcd1], 0
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx + eax + 0x2e2]
test edx, edx
je 0x10085c8e
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
je 0x10085bcb
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdf]
test eax, eax
je 0x10085c68
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10085c68
mov dword [ebp - 0x90], 0
jmp 0x10085bf2
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x90], 0x11
jge 0x10085c68
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx + eax*2 + 0x2e2]
test edx, edx
je 0x10085c68
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x10]
movzx edx, word [ecx + eax*2 + 0x2e2]
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
je 0x10085c63
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0xd8]
push eax
call fcn.10084fc0
add esp, 0x10
movzx ecx, al
test ecx, ecx
jne 0x10085c54
jmp 0x10085be3
mov edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x10085be3
xor eax, eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x2e6
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov word [ecx + 0x20], ax
mov byte [ebp - 0x32], 0
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xde]
test eax, eax
je 0x10085cac
mov dword [ebp - 0x100], 0x20000
jmp 0x10085cb6
mov dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xa4]
test eax, eax
je 0x10085d0d
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xe0]
test edx, edx
je 0x10085cf5
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
jne 0x10085cf5
mov dword [ebp - 0x104], 1
jmp 0x10085cff
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x10c], edx
jmp 0x10085d4b
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
je 0x10085d35
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xe0]
test eax, eax
jne 0x10085d35
mov dword [ebp - 0x108], 1
jmp 0x10085d3f
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp - 0x108]
mov dword [ebp - 0x10c], ecx
cmp dword [ebp - 0x10c], 0
je 0x10085d76
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdf]
test eax, eax
jne 0x10085d76
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xde]
test edx, edx
jne 0x10085d76
mov byte [ebp - 0x2d], 1
jmp 0x10085d7a
mov byte [ebp - 0x2d], 0
mov al, byte [ebp - 0x2d]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xa4]
test edx, edx
je 0x10085d9c
mov eax, dword [ebp - 0x10]
mov cl, byte [eax + 0xdf]
mov byte [ebp - 0x2e], cl
jmp 0x10085da8
mov edx, dword [ebp - 0x10]
mov al, byte [edx + 0xdd]
mov byte [ebp - 0x2e], al
mov cl, byte [ebp - 0x2e]
mov byte [ebp - 0x23], cl
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xa4]
test eax, eax
je 0x10085dec
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xe0]
test edx, edx
je 0x10085dec
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
jne 0x10085dec
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdf]
test eax, eax
jne 0x10085dec
mov byte [ebp - 0x2f], 1
jmp 0x10085df0
mov byte [ebp - 0x2f], 0
mov cl, byte [ebp - 0x2f]
mov byte [ebp - 0x1a], cl
push 1
push 1
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x10085e5e
movzx eax, byte [ebp - 0x1a]
test eax, eax
je 0x10085e1d
mov dword [ebp - 0x114], 0x10004
jmp 0x10085e47
movzx ecx, byte [ebp - 0x23]
test ecx, ecx
je 0x10085e31
mov dword [ebp - 0x110], 0x1000c
jmp 0x10085e3b
mov dword [ebp - 0x110], 0x10000
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
or eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 2
call fcn.100791c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x10085ec6
movzx edx, byte [ebp - 0x1a]
test edx, edx
je 0x10085e85
mov dword [ebp - 0x11c], 0x10005
jmp 0x10085eaf
movzx eax, byte [ebp - 0x23]
test eax, eax
je 0x10085e99
mov dword [ebp - 0x118], 0x1000d
jmp 0x10085ea3
mov dword [ebp - 0x118], 0x10001
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
or edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 3
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x10085f63
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10085f63
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdd]
test eax, eax
je 0x10085f2e
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x60]
subss xmm0, dword [edx + 0x1774]
push ecx
movss dword [esp], xmm0
call fcn.10070c60
add esp, 4
fstp dword [esp]
mov eax, dword [ebp - 0x18]
push eax
call fcn.1007eed0
add esp, 8
jmp 0x10085f5e
movzx ecx, byte [ebp - 0x1a]
test ecx, ecx
je 0x10085f42
mov dword [ebp - 0x120], 0x10006
jmp 0x10085f4c
mov dword [ebp - 0x120], 0x10002
mov edx, dword [ebp - 0x120]
or edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 4
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x10086000
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10086000
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdd]
test eax, eax
je 0x10085fcb
call fcn.1007f360
push ecx
fstp dword [esp]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xc]
movss xmm0, dword [ecx + 0x60]
addss xmm0, dword [edx + 0x1774]
push ecx
movss dword [esp], xmm0
call fcn.10070c30
add esp, 4
fstp dword [esp]
mov eax, dword [ebp - 0x18]
push eax
call fcn.1007eed0
add esp, 8
jmp 0x10085ffb
movzx ecx, byte [ebp - 0x1a]
test ecx, ecx
je 0x10085fdf
mov dword [ebp - 0x124], 0x10007
jmp 0x10085fe9
mov dword [ebp - 0x124], 0x10003
mov edx, dword [ebp - 0x124]
or edx, dword [ebp - 0x44]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 7
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x10086054
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xdd]
test edx, edx
je 0x10086031
mov eax, dword [ebp - 0x44]
or eax, 0x10006
mov dword [ebp - 0x128], eax
jmp 0x10086040
mov ecx, dword [ebp - 0x44]
or ecx, 0x10004
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 8
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x100860a8
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xdd]
test edx, edx
je 0x10086085
mov eax, dword [ebp - 0x44]
or eax, 0x10007
mov dword [ebp - 0x12c], eax
jmp 0x10086094
mov ecx, dword [ebp - 0x44]
or ecx, 0x10005
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 9
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x100860da
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x100860da
mov edx, dword [ebp - 0x44]
or edx, 0x10008
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 0xa
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x1008617e
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1008617e
mov ecx, dword [ebp - 4]
call fcn.10071590
movzx edx, al
test edx, edx
jne 0x10086168
movzx eax, byte [ebp - 0x23]
test eax, eax
je 0x10086123
push 0x3000c
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x10086168
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xa4]
test edx, edx
je 0x10086168
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xe0]
test ecx, ecx
je 0x10086168
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdf]
test eax, eax
jne 0x10086168
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xdd]
test edx, edx
jne 0x10086168
push 0x30004
mov ecx, dword [ebp - 4]
call fcn.10084f80
mov eax, dword [ebp - 0x44]
or eax, 0x10009
push eax
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 0xb
call fcn.100791c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1008624d
mov edx, dword [ebp + 0x18]
and edx, 0x800
je 0x100861ac
mov dword [ebp - 0x130], 1
jmp 0x100861b6
mov dword [ebp - 0x130], 0
mov al, byte [ebp - 0x130]
mov byte [ebp - 0x30], al
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x100861f3
movzx edx, byte [ebp - 0x30]
test edx, edx
je 0x100861dd
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
je 0x100861f3
movzx edx, byte [ebp - 0x30]
test edx, edx
jne 0x10086205
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdd]
test ecx, ecx
je 0x10086205
push 0
push 0
call fcn.10075600
add esp, 8
mov byte [ebp - 0x34], 1
jmp 0x10086248
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10086248
mov dword [ebp - 0x134], 0xa
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x134]
push eax
call fcn.10084fc0
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x10086248
mov edx, dword [ebp - 0x134]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
mov eax, dword [ebp + 0x18]
and eax, 0x400
je 0x100862e0
push 1
push 0
call fcn.100791c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x100862e0
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0xdd]
test eax, eax
jne 0x100862e0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0xde]
test edx, edx
jne 0x100862e0
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + 0xdf]
test ecx, ecx
jne 0x100862e0
movzx edx, byte [ebp - 6]
test edx, edx
je 0x100862e0
mov dword [ebp - 0x138], 9
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [ebp - 0x138]
push eax
call fcn.10084fc0
add esp, 0x10
movzx ecx, al
test ecx, ecx
je 0x100862db
mov edx, dword [ebp - 0x138]
push edx
mov ecx, dword [ebp - 4]
call fcn.10084f80
jmp 0x1008670f
push 1
push 0xc
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x10086308
push 0
push 0
call fcn.10075600
add esp, 8
mov byte [ebp - 0x32], 1
jmp 0x1008670f
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10086345
push 1
push 0x12
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x10086345
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10086345
push 0x1000a
mov ecx, dword [ebp - 4]
call fcn.10084f80
mov ecx, dword [ebp - 4]
call fcn.100715c0
jmp 0x1008670f
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x10086382
push 1
push 0x11
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x10086382
movzx eax, byte [ebp - 6]
test eax, eax
je 0x10086382
push 0x1000b
mov ecx, dword [ebp - 4]
call fcn.10084f80
mov ecx, dword [ebp - 4]
call fcn.100715c0
jmp 0x1008670f
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x100863b4
push 1
push 0xd
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x100863b4
mov ecx, dword [ebp - 4]
call fcn.100715f0
mov eax, dword [ebp - 4]
mov byte [eax + 0xcd0], 1
jmp 0x1008670f
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x1008656d
movzx edx, byte [ebp - 0x1b]
test edx, edx
jne 0x1008656d
push 1
push 0x10
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x100863e7
movzx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x100863fe
push 1
push 0xe
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x1008656d
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10086419
mov ecx, dword [ebp - 4]
call fcn.10071590
movzx ecx, al
test ecx, ecx
je 0x1008656d
push 1
push 0x10
call fcn.100791c0
add esp, 8
mov byte [ebp - 0x31], al
movzx edx, byte [ebp - 0x31]
test edx, edx
je 0x10086447
mov ecx, dword [ebp - 4]
call fcn.10071590
movzx eax, al
test eax, eax
jne 0x10086447
mov ecx, dword [ebp - 4]
call fcn.100715f0
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0xb0], 0
je 0x10086543
mov ecx, dword [ebp - 4]
call fcn.10071590
movzx edx, al
test edx, edx
je 0x10086484
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10070bd0
add esp, 8
mov dword [ebp - 0x13c], eax
jmp 0x1008648e
mov dword [ebp - 0x13c], 0
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x148], ecx
mov ecx, dword [ebp - 4]
call fcn.10071590
movzx edx, al
test edx, edx
je 0x100864c7
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10070c00
add esp, 8
mov dword [ebp - 0x140], eax
jmp 0x100864d3
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x2c]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
sub ecx, dword [ebp - 0x148]
lea edx, [ecx*4 + 1]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x1c
call fcn.1008b2c0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x144]
lea eax, [ecx + edx*2]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp - 0x148]
lea ecx, [edx + eax*2]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x24]
push edx
call fcn.100743e0
add esp, 0x10
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
push ecx
call fcn.10075f70
add esp, 4
movzx edx, byte [ebp - 0x31]
test edx, edx
je 0x10086568
mov eax, dword [ebp - 4]
mov byte [eax + 0xcd0], 1
mov ecx, dword [ebp - 4]
add ecx, 0x38
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.100839d0
add esp, 8
jmp 0x1008670f
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1008670f
push 1
push 0xf
call fcn.100791c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1008670f
movzx edx, byte [ebp - 6]
test edx, edx
je 0x1008670f
call fcn.10075f20
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x1008670f
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x210], ecx
mov edx, dword [ebp - 0x94]
mov al, byte [edx]
mov byte [ebp - 0x55], al
add dword [ebp - 0x94], 1
cmp byte [ebp - 0x55], 0
jne 0x100865cf
mov ecx, dword [ebp - 0x94]
sub ecx, dword [ebp - 0x210]
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
lea ecx, [eax + eax + 2]
push ecx
call fcn.10075ea0
add esp, 4
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x68], 0
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xac]
movsx ecx, byte [eax]
test ecx, ecx
je 0x100866c3
push 0
mov edx, dword [ebp - 0xac]
push edx
lea eax, [ebp - 0xb0]
push eax
call fcn.10073cf0
add esp, 0xc
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xb0], 0
jne 0x10086671
jmp 0x100866c3
cmp dword [ebp - 0xb0], 0x10000
jae 0x1008669f
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
lea ecx, [ebp - 0xb0]
push ecx
call fcn.10084fc0
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x100866a1
jmp 0x10086631
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xb4]
mov dx, word [ebp - 0xb0]
mov word [ecx + eax*2], dx
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
jmp 0x10086631
xor ecx, ecx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0xb4]
mov word [eax + edx*2], cx
cmp dword [ebp - 0x68], 0
jle 0x10086700
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 4]
add eax, 0x38
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.10083a10
add esp, 0x10
mov edx, dword [ebp - 4]
mov byte [edx + 0xcd0], 1
mov eax, dword [ebp - 0xb4]
push eax
call fcn.10075ee0
add esp, 4
movzx ecx, byte [ebp - 0x32]
test ecx, ecx
je 0x1008673f
movzx edx, byte [ebp - 6]
test edx, edx
je 0x1008673a
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.100739e0
add esp, 0xc
mov byte [ebp - 0x24], 1
jmp 0x10086af0
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1008677b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 4]
shl eax, 2
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x1c
call fcn.1008b2c0
push 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x1c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
push eax
call fcn.100743e0
add esp, 0x10
mov ecx, dword [ebp + 0x18]
and ecx, 0x1c0
je 0x10086a42
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xa0], 0x13
mov edx, dword [ebp + 0x18]
and edx, 0x40
je 0x100867c9
push 1
push 0
call fcn.100791c0
add esp, 8
movzx eax, al
test eax, eax
je 0x100867c9
mov dword [ebp - 0x6c], 0x40
mov dword [ebp - 0xa0], 0
jmp 0x1008683c
mov ecx, dword [ebp + 0x18]
and ecx, 0x80
je 0x100867fa
push 1
push 3
call fcn.100791c0
add esp, 8
movzx edx, al
test edx, edx
je 0x100867fa
mov dword [ebp - 0x6c], 0x80
mov dword [ebp - 0xa0], 3
jmp 0x1008683c
mov eax, dword [ebp + 0x18]
and eax, 0x80
je 0x1008682a
push 1
push 4
call fcn.100791c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x1008682a
mov dword [ebp - 0x6c], 0x80
mov dword [ebp - 0xa0], 4
jmp 0x1008683c
mov edx, dword [ebp + 0x18]
and edx, 0x100
je 0x1008683c
mov dword [ebp - 0x6c], 0x100
cmp dword [ebp - 0x6c], 0
je 0x10086a42
push 0x30
push 0
lea eax, [ebp - 0x1d0]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x1d0], ecx
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x1c8], eax
movzx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x10086888
mov dword [ebp - 0x14c], 1
jmp 0x10086892
mov dword [ebp - 0x14c], 0
mov dl, byte [ebp - 0x14c]
mov byte [ebp - 0x1c4], dl
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 0x1b0], 0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov edx, dword [ebp - 0x70]
lea eax, [edx + ecx*2]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.10074480
add esp, 8
mov dword [ebp - 0x1ac], eax
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x70]
lea eax, [edx + ecx*2]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.10074480
add esp, 8
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
mov edx, dword [ebp - 0x70]
lea eax, [edx + ecx*2]
push eax
mov ecx, dword [ebp - 0x70]
push ecx
call fcn.10074480
add esp, 8
mov dword [ebp - 0x1a4], eax
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x224], edx
lea eax, [ebp - 0x1d0]
push eax
call dword [ebp + 0x1c]
add esp, 4
mov ecx, dword [ebp - 0x1ac]
cmp ecx, dword [ebp - 0x21c]
je 0x1008699c
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x1ac]
push edx
mov eax, dword [ebp - 0x1bc]
push eax
call fcn.10074180
add esp, 8
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x220]
je 0x100869cc
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x1a8]
push eax
mov ecx, dword [ebp - 0x1bc]
push ecx
call fcn.10074180
add esp, 8
mov edx, dword [ebp - 4]
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x224]
je 0x100869fc
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [ebp - 0x1a4]
push ecx
mov edx, dword [ebp - 0x1bc]
push edx
call fcn.10074180
add esp, 8
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x40], eax
movzx edx, byte [ebp - 0x1b0]
test edx, edx
je 0x10086a42
push 0
push 0
mov eax, dword [ebp - 0x1bc]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
push ecx
call fcn.100740e0
add esp, 0x14
mov edx, dword [ebp - 4]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1b8]
mov dword [eax + 0x28], ecx
mov ecx, dword [ebp - 4]
call fcn.10071510
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10086af0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax]
mov byte [ebp - 0x5c], cl
mov edx, dword [ebp - 0xa8]
cmp cl, byte [edx]
jne 0x10086ab5
cmp byte [ebp - 0x5c], 0
je 0x10086aa9
mov eax, dword [ebp - 0xa4]
mov cl, byte [eax + 1]
mov byte [ebp - 0x5b], cl
mov edx, dword [ebp - 0xa8]
cmp cl, byte [edx + 1]
jne 0x10086ab5
add dword [ebp - 0xa4], 2
add dword [ebp - 0xa8], 2
cmp byte [ebp - 0x5b], 0
jne 0x10086a63
mov dword [ebp - 0x150], 0
jmp 0x10086ac0
sbb eax, eax
or eax, 1
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x238], ecx
cmp dword [ebp - 0x238], 0
je 0x10086af0
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.100739e0
add esp, 0xc
mov byte [ebp - 0x24], 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x17d4]
cmp ecx, dword [ebp - 0x20]
jne 0x10086b14
movzx edx, byte [ebp - 6]
test edx, edx
je 0x10086b14
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x154], ecx
jmp 0x10086b1d
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x8c], eax
mov dword [ebp + 0xc], 0
movzx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x10086b85
mov edx, dword [ebp - 0x54]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
push 1
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push 7
call fcn.100745f0
add esp, 8
push eax
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0xd0]
push edx
mov eax, dword [ebp - 0xd4]
push eax
call fcn.10078a80
add esp, 0x1c
movss xmm0, dword [ebp - 0xd0]
addss xmm0, dword [ebp - 0x84]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xd4]
addss xmm0, dword [ebp - 0x88]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xd0]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xd4]
movss dword [esp], xmm0
lea ecx, [ebp - 0x248]
call fcn.10002be0
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10086c09
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0xb8]
mov ecx, dword [edx + 0xbc]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x250]
mov dword [ebp - 0x158], edx
jmp 0x10086c2c
mov eax, dword [ebp - 0x54]
add eax, 0x24
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea edx, [ebp - 0x318]
push edx
call fcn.10070a60
add esp, 0xc
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x19c]
call fcn.10002b70
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x20]
jne 0x10086c9e
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10086c9e
push 0
push 0x100ab840
mov ecx, dword [ebp - 0x18]
call fcn.10075570
mov ecx, dword [ebp - 0xc]
cmp dword [ecx + 0x17d4], eax
jne 0x10086c9e
mov byte [ebp - 0x33], 1
jmp 0x10086ca2
mov byte [ebp - 0x33], 0
mov dl, byte [ebp - 0x33]
mov byte [ebp - 0x59], dl
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x17d4]
cmp ecx, dword [ebp - 0x20]
je 0x10086cc2
movzx edx, byte [ebp - 0x59]
test edx, edx
je 0x100877a0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
movss xmm0, dword [eax + 0xccc]
addss xmm0, dword [ecx + 8]
mov edx, dword [ebp - 4]
movss dword [edx + 0xccc], xmm0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x60], ecx
lea ecx, [ebp - 0x9c]
call fcn.10070520
lea ecx, [ebp - 0x22c]
call fcn.10070520
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax*2]
mov eax, 4
imul ecx, eax, 0
mov dword [ebp + ecx - 0xbc], edx
mov edx, 4
shl edx, 0
mov dword [ebp + edx - 0xbc], 0
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x7c], 0xfffffc19
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x10086d94
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10070bd0
add esp, 8
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax*2]
mov eax, 4
shl eax, 0
mov dword [ebp + eax - 0xbc], edx
mov ecx, 4
shl ecx, 0
mov dword [ebp + ecx - 0x80], 0xffffffff
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x10086da8
mov dword [ebp - 0x15c], 1
jmp 0x10086db2
mov dword [ebp - 0x15c], 0
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x50], 0
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x74], edx
jmp 0x10086dd6
mov eax, dword [ebp - 0x74]
add eax, 2
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
movzx edx, word [ecx]
test edx, edx
je 0x10086e87
mov eax, dword [ebp - 0x74]
movzx ecx, word [eax]
cmp ecx, 0xa
jne 0x10086e82
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
mov eax, 4
imul ecx, eax, 0
cmp dword [ebp + ecx - 0x80], 0xffffffff
jne 0x10086e3f
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp + eax - 0xbc]
jb 0x10086e3f
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x50]
mov dword [ebp + eax - 0x80], ecx
mov edx, dword [ebp - 0x48]
sub edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
jg 0x10086e3f
jmp 0x10086e87
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x80], 0xffffffff
jne 0x10086e82
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp + ecx - 0xbc]
jb 0x10086e82
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x50]
mov dword [ebp + eax - 0x80], ecx
mov edx, dword [ebp - 0x48]
sub edx, 1
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
jg 0x10086e82
jmp 0x10086e87
jmp 0x10086dcd
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
mov ecx, 4
imul edx, ecx, 0
cmp dword [ebp + edx - 0x80], 0xffffffff
jne 0x10086eae
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 0x50]
mov dword [ebp + ecx - 0x80], edx
mov eax, 4
shl eax, 0
cmp dword [ebp + eax - 0x80], 0xffffffff
jne 0x10086ecc
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp - 0x50]
mov dword [ebp + ecx - 0x80], edx
push 0
push 0
push 0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + ecx - 0xbc]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0xbc]
push eax
call fcn.10073ab0
add esp, 8
push eax
lea ecx, [ebp - 0x320]
push ecx
call fcn.10082e00
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x9c], xmm0
mov edx, 4
imul eax, edx, 0
cvtsi2ss xmm0, dword [ebp + eax - 0x80]
mov ecx, dword [ebp - 0xc]
mulss xmm0, dword [ecx + 0x1774]
movss dword [ebp - 0x98], xmm0
mov edx, 4
shl edx, 0
cmp dword [ebp + edx - 0x80], 0
jl 0x10086fb9
push 0
push 0
push 0
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0xbc]
push ecx
mov edx, dword [ebp - 0x60]
push edx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp + eax - 0xbc]
push ecx
call fcn.10073ab0
add esp, 8
push eax
lea edx, [ebp - 0x288]
push edx
call fcn.10082e00
add esp, 0x18
movss xmm0, dword [eax]
movss dword [ebp - 0x22c], xmm0
mov eax, 4
shl eax, 0
cvtsi2ss xmm0, dword [ebp + eax - 0x80]
mov ecx, dword [ebp - 0xc]
mulss xmm0, dword [ecx + 0x1774]
movss dword [ebp - 0x228], xmm0
movzx edx, byte [ebp - 5]
test edx, edx
je 0x10087001
cvtsi2ss xmm0, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc]
mulss xmm0, dword [eax + 0x1774]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x88]
movss dword [esp], xmm0
lea ecx, [ebp - 0x290]
call fcn.10002b70
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0xcd0]
test ecx, ecx
je 0x100871b3
mov edx, dword [ebp + 0x18]
and edx, 0x1000
jne 0x100870d5
movss xmm0, dword [ebp - 0x88]
mulss xmm0, dword [0x100b02bc]
movss dword [ebp - 0x160], xmm0
mov eax, dword [ebp - 4]
movss xmm0, dword [eax + 0x34]
comiss xmm0, dword [ebp - 0x9c]
jbe 0x10087092
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0x160]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10070c60
add esp, 8
fstp dword [ebp - 0x1e8]
movss xmm0, dword [ebp - 0x1e8]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 4]
movss dword [edx + 0x34], xmm0
jmp 0x100870d3
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0x88]
mov eax, dword [ebp - 4]
comiss xmm0, dword [eax + 0x34]
jb 0x100870d3
movss xmm0, dword [ebp - 0x9c]
subss xmm0, dword [ebp - 0x88]
addss xmm0, dword [ebp - 0x160]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 4]
movss dword [edx + 0x34], xmm0
jmp 0x100870e0
mov eax, dword [ebp - 4]
xorps xmm0, xmm0
movss dword [eax + 0x34], xmm0
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x100871b3
mov edx, dword [ebp - 0x18]
movss xmm0, dword [edx + 0x60]
movss dword [ebp - 0x78], xmm0
mov eax, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [eax + 0x1774]
movss xmm1, dword [ebp - 0x78]
comiss xmm1, xmm0
jbe 0x10087145
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ecx + 0x1774]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
call fcn.10070c60
add esp, 8
fstp dword [ebp - 0x78]
jmp 0x10087170
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ebp - 0x84]
comiss xmm0, dword [ebp - 0x78]
jb 0x10087170
movss xmm0, dword [ebp - 0x98]
subss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x78], xmm0
mov edx, dword [ebp - 0x18]
movss xmm0, dword [edx + 0x60]
subss xmm0, dword [ebp - 0x78]
mov eax, dword [ebp - 0x18]
addss xmm0, dword [eax + 0xbc]
mov ecx, dword [ebp - 0x18]
movss dword [ecx + 0xbc], xmm0
mov edx, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x78]
movss dword [edx + 0x60], xmm0
mov eax, dword [ebp - 0x18]
movss xmm0, dword [eax + 0xbc]
movss dword [ebp - 0xc0], xmm0
mov ecx, dword [ebp - 4]
mov byte [ecx + 0xcd0], 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov edx, dword [ebp - 4]
push ecx
movss xmm0, dword [edx + 0x34]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1d8]
call fcn.10002b70
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
cmp edx, dword [ecx + 0x40]
je 0x10087519
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10070bd0
add esp, 8
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax*2]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x40]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x3c]
push eax
call fcn.10070c00
add esp, 8
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax*2]
mov dword [ebp - 0xdc], edx
movzx eax, byte [ebp - 5]
test eax, eax
je 0x1008724a
xorps xmm0, xmm0
movss dword [ebp - 0x164], xmm0
jmp 0x1008725a
movss xmm0, dword [0x100b0450]
movss dword [ebp - 0x164], xmm0
movss xmm0, dword [ebp - 0x164]
movss dword [ebp - 0x1fc], xmm0
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1008727f
xorps xmm0, xmm0
movss dword [ebp - 0x168], xmm0
jmp 0x1008728f
movss xmm0, dword [0x100b0358]
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ebp - 0x168]
movss dword [ebp - 0x1f8], xmm0
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push 0x31
call fcn.100745f0
add esp, 8
mov dword [ebp - 0x200], eax
lea edx, [ebp - 0x1d8]
push edx
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0xc4]
push ecx
lea edx, [ebp - 0x358]
push edx
call fcn.10070a60
add esp, 0xc
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.10070aa0
add esp, 0xc
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0xdc]
jae 0x10087519
mov eax, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x23c]
addss xmm0, dword [eax + 0x1774]
movss xmm1, dword [ebp - 0xe0]
comiss xmm1, xmm0
jbe 0x1008732e
jmp 0x10087519
movss xmm0, dword [ebp - 0x244]
comiss xmm0, dword [ebp - 0xe0]
jbe 0x10087371
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0xdc]
jae 0x1008736c
mov edx, dword [ebp - 0x64]
movzx eax, word [edx]
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebp - 0x64]
add ecx, 2
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x1f0], 0xa
jne 0x1008736a
jmp 0x1008736c
jmp 0x1008733f
jmp 0x100874e1
push 1
push 0
lea edx, [ebp - 0x64]
push edx
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
lea edx, [ebp - 0x234]
push edx
call fcn.10082e00
add esp, 0x18
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x234]
jb 0x100873d5
push 0x20
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1770]
call fcn.10070820
fstp dword [ebp - 0x1f4]
movss xmm0, dword [ebp - 0x1f4]
mulss xmm0, dword [0x100b02d8]
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 - 0x2a0]
call fcn.10002b70
push eax
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0x2a8]
push eax
call fcn.10070a60
add esp, 0xc
push eax
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0x1fc]
subss xmm0, dword [ecx + 0x1774]
push ecx
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2b0]
call fcn.10002b70
push eax
lea edx, [ebp - 0xe4]
push edx
lea eax, [ebp - 0x2b8]
push eax
call fcn.10070a60
add esp, 0xc
push eax
lea ecx, [ebp - 0x260]
call fcn.10070fb0
lea ecx, [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x330]
call fcn.10070ff0
lea edx, [ebp - 0x330]
push edx
lea ecx, [ebp - 0x260]
call fcn.10071390
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x340]
call fcn.10070ff0
lea ecx, [ebp - 0x340]
push ecx
lea ecx, [ebp - 0x260]
call fcn.100712b0
movzx edx, al
test edx, edx
je 0x100874e1
push 0xffffffffffffffff
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 0x200]
push eax
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x260]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x254]
call fcn.10094ea0
movss xmm0, dword [ebp - 0xc4]
subss xmm0, dword [ebp - 0x1d8]
movss dword [ebp - 0xe4], xmm0
mov ecx, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xe0]
addss xmm0, dword [ecx + 0x1774]
movss dword [ebp - 0xe0], xmm0
jmp 0x100872fa
movzx edx, byte [ebp - 5]
test edx, edx
je 0x1008752d
mov dword [ebp - 0x16c], 0
jmp 0x10087539
lea eax, [ebp - 0x248]
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 - 4]
mov eax, dword [ebp - 0x8c]
add eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push 0
call fcn.100745f0
add esp, 8
push eax
lea edx, [ebp - 0x1d8]
push edx
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x2c0]
push ecx
call fcn.10070aa0
add esp, 0xc
push eax
mov edx, dword [ebp - 0xc]
push ecx
movss xmm0, dword [edx + 0x1774]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x1770]
push ecx
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x254]
call fcn.10095080
mov eax, dword [ebp - 0xc]
xorps xmm0, xmm0
comiss xmm0, dword [eax + 0x2770]
jae 0x10087616
push ecx
movss xmm0, dword [0x100b0338]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc]
push ecx
movss xmm0, dword [ecx + 0x2770]
movss dword [esp], xmm0
call fcn.100709b0
add esp, 8
fstp dword [ebp - 0x204]
movss xmm0, dword [0x100b02fc]
comiss xmm0, dword [ebp - 0x204]
jae 0x10087616
mov dword [ebp - 0x170], 0
jmp 0x10087620
mov dword [ebp - 0x170], 1
mov dl, byte [ebp - 0x170]
mov byte [ebp - 0x5a], dl
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x9c]
push ecx
lea edx, [ebp - 0xc4]
push edx
lea eax, [ebp - 0x2c8]
push eax
call fcn.10070a60
add esp, 0xc
push eax
lea ecx, [ebp - 0xf0]
push ecx
call fcn.10070aa0
add esp, 0xc
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [0x100b0348]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xf0]
addss xmm0, dword [0x100b0328]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [edx + 0x1774]
addss xmm0, dword [0x100b02d8]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xf0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x270]
call fcn.10071050
movzx eax, byte [ebp - 0x5a]
test eax, eax
je 0x10087745
lea ecx, [ebp - 0x248]
push ecx
lea ecx, [ebp - 0x350]
call fcn.10070ff0
lea edx, [ebp - 0x350]
push edx
lea ecx, [ebp - 0x270]
call fcn.100712b0
movzx eax, al
test eax, eax
je 0x10087745
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push 0
call fcn.100745f0
add esp, 8
push eax
lea ecx, [ebp - 0x2d0]
push ecx
lea ecx, [ebp - 0x270]
call fcn.100711d0
push eax
lea edx, [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x254]
call fcn.10094d20
movzx ecx, byte [ebp - 6]
test ecx, ecx
je 0x1008779b
mov edx, dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xec]
subss xmm0, dword [edx + 0x1774]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xf0]
subss xmm0, dword [0x100b0328]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2d8]
call fcn.10002b70
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x2bfc], ecx
mov dword [eax + 0x2c00], edx
jmp 0x1008788e
mov dword [ebp - 0x178], 0
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10087807
lea edx, [ebp - 0x178]
push edx
mov eax, dword [ebp - 0x8c]
push eax
call fcn.10082d70
add esp, 8
cvtsi2ss xmm0, eax
mov ecx, dword [ebp - 0xc]
mulss xmm0, dword [ecx + 0x1774]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x88]
movss dword [esp], xmm0
lea ecx, [ebp - 0x310]
call fcn.10002b70
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x198], eax
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x1008781b
mov dword [ebp - 0x174], 0
jmp 0x10087827
lea edx, [ebp - 0x248]
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 - 0x8c]
push edx
push ecx
movss xmm0, dword [0x100b0328]
movss dword [esp], xmm0
push 0
call fcn.100745f0
add esp, 8
push eax
lea eax, [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
movss xmm0, dword [ecx + 0x1774]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xc]
mov eax, dword [edx + 0x1770]
push eax
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0x254]
call fcn.10095080
movzx edx, byte [ebp - 5]
test edx, edx
je 0x100878e5
mov eax, dword [ebp - 0xc]
push ecx
movss xmm0, dword [eax + 0x1774]
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2e8]
call fcn.10002b70
push eax
lea ecx, [ebp - 0x19c]
push ecx
lea edx, [ebp - 0x2f0]
push edx
call fcn.10070a60
add esp, 0xc
push eax
call fcn.10089fc0
add esp, 4
call fcn.1007a190
call fcn.1008a1a0
movzx eax, byte [ebp - 0x1b]
test eax, eax
je 0x100878f2
call fcn.1007eae0
mov ecx, dword [ebp - 0xc]
movzx edx, byte [ecx + 0x2c0c]
test edx, edx
je 0x10087920
movzx eax, byte [ebp - 0x1b]
test eax, eax
jne 0x10087920
push 0
mov ecx, dword [ebp - 0x8c]
push ecx
lea edx, [ebp - 0xc4]
push edx
call fcn.10078390
add esp, 0xc
movss xmm0, dword [ebp - 0x1e0]
comiss xmm0, dword [0x100b025c]
jbe 0x1008797f
push 1
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0xd0]
addss xmm0, dword [ecx + 0x28]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x54]
movss xmm0, dword [ebp - 0xcc]
addss xmm0, dword [edx + 0x38]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2f8]
call fcn.10002b70
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
call fcn.10078530
add esp, 0x14
mov eax, dword [ebp + 0x18]
and eax, 0x20
je 0x1008798e
mov al, byte [ebp - 0x34]
jmp 0x10087991
mov al, byte [ebp - 0x24]
mov esp, ebp
pop ebp
ret