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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf8
mov eax, dword [0x1010c040]
xor eax, esp
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
sar eax, 3
push edi
mov edi, ecx
movss dword [esp + 0x18], xmm3
and eax, 0xf
mov dword [esp + 8], edx
xor ecx, ecx
mov dword [esp + 0x14], edi
test dword [ebp + 0x1c], 0x400
push edx
cmove ecx, eax
mov eax, 0x4cda10
mov dword [esp + 0x20], ecx
call eax
mov edx, 0x969c50
mov ecx, eax
call edx
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je case.0x1008a95f.4800
cmp byte [edi + 8], 1
jne 0x100868af
cmp dword [0xe61e18], 7
jne 0x100867a0
push 1
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3e4ccccd
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
jmp 0x100867c7
mov eax, 0x635f50
call eax
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor3f]
mov ecx, dword [0xe61e18]
cmp ecx, 0x18
jge 0x10086802
mov dword [esp + 0x14], 1
cmp ecx, 0xa
jne 0x1008681d
push 0x12
lea ecx, [edi + 0x1e4]
mov eax, 0x4c8640
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
cmp ecx, 0x1d
jle 0x10086815
xor eax, eax
cmp ecx, 0x24
setne al
mov dword [esp + 0x14], eax
jmp 0x1008681d
mov dword [esp + 0x14], 0
cmp byte [edi + 0x21], 3
je 0x100867df
mov eax, 0x4db250
call eax
mov edx, 0x4e44a0
lea ecx, [eax + 0x84]
call edx
test al, al
jne 0x100867df
push 0x12
lea ecx, [edi + 0x1e4]
mov eax, 0x4c8640
call eax
mov ecx, dword [esp + 0x14]
xor edx, edx
test al, al
movzx ecx, cl
cmove edx, ecx
test dl, dl
je case.0x1008a95f.4800
cmp byte [edi + 7], 0
je case.0x1008a95f.4800
mov ecx, dword [edi + 0x30]
mov eax, dword [edi + 0x3c]
cmp ecx, 0x2f8
jne 0x1008687f
mov eax, 2
jmp 0x1008688a
xor edx, edx
cmp ecx, 0x328
cmove eax, edx
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push dword [edi + 0x44]
mov eax, 0x54a270
mov ecx, esi
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 8]
mov ecx, 0x10280890
add eax, 0xfffffb6d
push eax
call fcn.100648b0
test eax, eax
je 0x100868ce
xor eax, eax
jmp 0x10086a5c
mov ecx, dword [esp + 8]
cmp ecx, 0x1e96
jle 0x100869db
cmp ecx, 0x209f
jle 0x100869a4
cmp ecx, 0x2526
jle 0x10086946
lea edx, [ecx - 0x2529]
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov dword [esp + 0xc], eax
cmp edx, 0xc
ja case.0x10086a0f.7323
mov dword [esp + 0xc], eax
jmp dword [edx*4 + 0x1008ad58]
xor eax, eax
cmp ecx, 0xd
sete al
lea eax, [eax*4 + 9]
jmp 0x10086a5c
lea eax, [ecx*2 - 0xf]
jmp 0x10086a5c
lea eax, [ecx - 1]
jmp 0x10086a5c
lea eax, [ecx + 7]
jmp 0x10086a5c
cmp ecx, 0x2525
jl 0x10086958
mov eax, 8
jmp 0x10086a5c
lea edx, [ecx - 0x20a0]
mov ecx, dword [esp + 0x1c]
mov eax, ecx
mov dword [esp + 0xc], eax
cmp edx, 0x33
ja case.0x10086a0f.7323
mov dword [esp + 0xc], eax
movzx eax, byte [edx + 0x1008ada4]
jmp dword [eax*4 + 0x1008ad8c]
mov eax, 0xd
jmp 0x10086a5c
cmp ecx, 6
jbe 0x1008699c
mov eax, 0xd
jmp 0x10086a5c
lea eax, [ecx + ecx]
jmp 0x10086a5c
jne 0x100869b0
mov eax, 8
jmp 0x10086a5c
mov edx, dword [esp + 0x1c]
add ecx, 0xffffe163
mov eax, edx
mov dword [esp + 0xc], eax
cmp ecx, 0x7c
ja case.0x10086a0f.7323
mov dword [esp + 0xc], eax
movzx eax, byte [ecx + 0x1008ade8]
jmp dword [eax*4 + 0x1008add8]
jne 0x100869e4
mov eax, 8
jmp 0x10086a5c
cmp ecx, 0x1c99
jle 0x10086a1d
mov edx, dword [esp + 0x1c]
add ecx, 0xffffe366
mov eax, edx
mov dword [esp + 0xc], eax
cmp ecx, 0x88
ja case.0x10086a0f.7323
mov dword [esp + 0xc], eax
movzx eax, byte [ecx + 0x1008ae78]
jmp dword [eax*4 + 0x1008ae68]
mov eax, 9
jmp 0x10086a5c
cmp ecx, 0x1c93
jge case.0x10086a0f.7326
mov edx, dword [esp + 0x1c]
cmp ecx, 0xc9a
jne 0x10086a3e
cmp edx, 1
jae 0x10086a55
xor eax, eax
jmp 0x10086a5c
mov eax, edx
mov dword [esp + 0xc], eax
cmp ecx, 0xca2
jne case.0x10086a0f.7323
cmp edx, 1
jb case.0x10086a0f.7326
lea eax, [edx*2 + 1]
mov dword [esp + 0xc], eax
mov eax, 0x861110
call eax
mov edx, 0x861620
mov ecx, eax
call edx
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0xcc]
mov dword [esp + 0x3c], eax
cmp eax, 4
jg 0x10086a93
lea eax, [eax*2 + 5]
cmp ecx, eax
cmovge ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [edi + 0x30]
mov edx, 0x5494c0
movss xmm1, dword [0x101035b8]
movss xmm2, dword [0x10103590]
mov dword [esp + 0x24], 0x5468a0
mov dword [esp + 0x30], 0x6d9070
cmp eax, 0xa9c
jne 0x10086b2c
mov dword [esi + 0x48], 0x3f000000
mov dword [esi + 0x4c], 0x3f000000
mov dword [esi + 0x50], 0x3fc00000
mov byte [esi + 0x88], 0
movss xmm0, dword [edi + 0x6c]
push 0x7d2a
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call edx
mov byte [esi + 0x88], 0xff
jmp 0x10089310
cmp eax, 0x20ae
jne 0x10086d75
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x50], 0x3f800000
mov byte [esi + 0x88], 0
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 0
call dword [esp + 0x44]
mov eax, dword [esp + 0xc]
cmp eax, 1
je 0x10086d69
cmp eax, 2
jne 0x10086c49
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push eax
push 1
call dword [esp + 0x44]
push 0x7d2a
sub esp, 0xc
mov dword [esi + 0x48], 0x3f400000
mov dword [esi + 0x4c], 0x3f266666
mov dword [esi + 0x50], 0x3f000000
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x44
push 1
call dword [esp + 0x44]
mov byte [esi + 0x88], 0xff
jmp 0x10089310
cmp eax, 3
jne 0x10086d69
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 1
call dword [esp + 0x44]
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 2
call dword [esp + 0x44]
push 0x7d2a
sub esp, 0xc
mov dword [esi + 0x48], 0x3f400000
mov dword [esi + 0x4c], 0x3f266666
mov dword [esi + 0x50], 0x3f000000
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x44
push 1
call dword [esp + 0x44]
movss xmm0, dword [edi + 0x6c]
push 0x7d2a
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x44
push 2
call dword [esp + 0x44]
mov byte [esi + 0x88], 0xff
jmp 0x10089310
cmp eax, 0x20d2
jne 0x10086e9c
push 0xffffffffffffffff
sub esp, 0xc
mov byte [esi + 0x88], 0
mov dword [edi + 0x64], 0x3f800000
mov eax, 0x5468a0
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x50], 0x3f800000
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 0
mov dword [esp + 0x44], eax
call eax
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 0
mov byte [esi + 0x44], 1
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 1
call dword [esp + 0x44]
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x44
push 1
call dword [esp + 0x44]
mov byte [esi + 0x88], 0xff
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
cmp eax, 0x20c7
jne 0x10086f6e
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3f800000
mov eax, edx
mov dword [esi + 0x50], 0x3f800000
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
push 0xffffffffffffffff
sub esp, 0xc
mov byte [esi + 0x44], 1
mov dword [esi + 0x48], 0x3dcccccd
mov eax, 0x5468a0
mov dword [esi + 0x4c], 0x3f19999a
mov dword [esi + 0x50], 0x3ecccccd
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f000000
mov ecx, esi
push 0x44
push 0
mov dword [edi + 0x98], 0x3f000000
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
cmp eax, 0x2530
jne 0x100870cd
mov eax, edx
push 0xffffffffffffffff
cmp ecx, 1
jne 0x10087041
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x4c], 0x3f4ccccd
mov dword [esi + 0x50], 0x3f800000
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [edi + 0x98]
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3f4ccccd
mov dword [esi + 0x50], 0x3e99999a
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push 0xffffffffffffffff
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
push 0x44
mov eax, 0x5494c0
mov ecx, esi
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x48], 0x3f666666
mov dword [esi + 0x4c], 0x3f666666
mov dword [esi + 0x50], 0x3f666666
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
movss xmm0, dword [edi + 0x6c]
push 0x7d2b
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f000000
jmp 0x10087022
cmp eax, 0x2533
jne 0x100870e6
cmp ecx, 9
jne 0x1008730c
push 0xffffffffffffffff
mov eax, edx
jmp 0x10086f86
cmp eax, 0x1ca8
jb 0x100870f8
cmp eax, 0x1cab
jbe 0x1008ac03
cmp eax, 0x1cb6
je 0x1008ac03
cmp eax, 0x1cc3
je 0x1008ac03
cmp eax, 0x1eb2
jne 0x100871d4
movss xmm0, dword [edi + 0x6c]
mov eax, edx
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [esp + 0x30]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
mov eax, dword [esp + 0xc]
sub eax, 0
je 0x1008717f
sub eax, 1
jne case.0x1008a95f.4800
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x4c], 0x3f4ccccd
mov dword [esi + 0x50], 0x3f800000
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
mov eax, 0x5468a0
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x28]
push 0
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x42
push 0
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
add eax, 0xffffdf6d
cmp eax, 6
ja 0x100871f4
test ecx, ecx
jle 0x10089310
mov eax, 7
mov dword [esp + 0xc], eax
jmp 0x10089310
mov eax, dword [edi + 0x30]
cmp eax, 0x1ccf
jb 0x10087205
cmp eax, 0x1cd4
jbe 0x1008721d
cmp eax, 0x1cd9
jb 0x10087213
cmp eax, 0x1cdd
jbe 0x1008721d
add eax, 0xffffe309
cmp eax, 0x1d
ja 0x10087228
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x10089310
mov eax, dword [edi + 0x30]
cmp eax, 0x1ea2
jne 0x1008730c
cmp ecx, 3
ja case.default.0x1008723b
jmp dword [ecx*4 + 0x1008af04]
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0x3f000000
mov dword [esi + 0x50], 0x3f800000
jmp case.default.0x1008723b
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3e4ccccd
mov dword [esi + 0x50], 0
jmp case.default.0x1008723b
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x50], 0
jmp 0x1008728e
mov dword [esi + 0x48], 0x3f19999a
mov dword [esi + 0x50], 0x3ecccccd
mov dword [esi + 0x4c], 0x3f4ccccd
movss xmm0, dword [edi + 0x6c]
mov eax, edx
push 0x7d2b
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 8
call eax
movss xmm0, dword [edi + 0x6c]
push 0x7d2b
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
jmp 0x10087014
mov edx, dword [esp + 8]
cmp edx, 0x252a
jne 0x1008748c
and dword [ebp + 0xc], 0x78
cmp dword [ebp + 0xc], 0x70
jne 0x1008741a
mov dword [esi + 0x48], 0x3e4ccccd
mov eax, 0x5494c0
mov dword [esi + 0x4c], 0x3e99999a
mov dword [esi + 0x50], 0x3f000000
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
mov dword [esi + 0x48], 0x3dcccccd
mov dword [esi + 0x50], 0x3f800000
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov dword [esi + 0x4c], 0x3e99999a
movss xmm0, dword [edi + 0x6c]
mov eax, 0x5494c0
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x44
call eax
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
push 0x48
jmp 0x10087024
cmp dword [ebp + 0xc], 0x78
jne 0x1008748c
mov dword [esi + 0x48], 0x3f000000
mov eax, 0x5494c0
mov dword [esi + 0x4c], 0x3e99999a
mov dword [esi + 0x50], 0x3e4ccccd
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x50], 0x3dcccccd
jmp 0x10087391
cmp eax, 0x1ea4
jne 0x10087596
mov dword [esi + 0x48], 0x3f666666
mov dword [esi + 0x4c], 0x3dcccccd
mov dword [esi + 0x50], 0x3dcccccd
movd xmm0, dword [0xe61e18]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10103570]
cvtps2pd xmm0, xmm0
call fcn.100f4340
cvtsd2ss xmm0, xmm0
push 0x7d2a
mov eax, 0x5494c0
movss dword [edi + 0x68], xmm0
movss xmm0, dword [0x5ef5a1c]
xorps xmm0, xmmword [0x10104770]
mulss xmm0, dword [0x1010357c]
movss dword [edi + 0x6c], xmm0
mov byte [esi + 0x88], 0
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
call eax
mov byte [esi + 0x88], 0xff
mov dword [esi + 0x48], 0x3f666666
mov dword [esi + 0x4c], 0x3f666666
mov dword [esi + 0x50], 0x3f666666
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
push 2
jmp 0x10087024
cmp eax, 0x1ea5
jne 0x10087612
mov dword [esi + 0x48], 0x3f4ccccd
mov dword [esi + 0x4c], 0x3f4ccccd
mov dword [esi + 0x50], 0x3f4ccccd
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035b8]
cvtps2pd xmm0, xmm0
call fcn.100f4340
cvtsd2ss xmm0, xmm0
push ecx
mulss xmm0, dword [0x10103648]
addss xmm0, dword [0x10103674]
movss dword [esp], xmm0
push 0
push ecx
mov dword [esp], 0x3f800000
push 0x42
jmp 0x10087024
cmp eax, 0x2531
jne 0x10087749
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
call fcn.100f4340
xorps xmm1, xmm1
mov dword [esp + 0x40], 0
cvtsd2ss xmm1, xmm0
push 0
lea eax, [esp + 0xe8]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x50], 0x41700000
push eax
mulss xmm1, dword [0x10103654]
mov eax, 0x545030
push 0x7bc08a0
mov ecx, esi
addss xmm1, dword [0x10103670]
movaps xmm0, xmm1
movss dword [esp + 0x20], xmm1
mulss xmm0, dword [0x10103650]
movss dword [esp + 0x100], xmm0
movss dword [esp + 0x104], xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
movss dword [esp + 0x108], xmm0
call eax
movss xmm0, dword [esp + 0xe4]
addss xmm0, dword [edi + 0xfc]
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, dword [edi + 0x100]
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esp + 0xec]
addss xmm0, dword [edi + 0x104]
movss dword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [0x10103684]
addss xmm0, dword [0x10103908]
push 0
push ecx
mov dword [esp], 0
lea eax, [esp + 0xf8]
push edi
push eax
lea eax, [esp + 0xf4]
push ecx
movss dword [esp], xmm0
push eax
push 0x7d31
mov eax, 0x771310
call eax
add esp, 0x1c
jmp 0x10089310
cmp eax, 0x252b
jne 0x100877e0
cmp ecx, 0xd
jne 0x10087d80
push 0xffffffffffffffff
mov dword [esi + 0x48], 0x3ecccccd
mov eax, 0x5494c0
mov dword [esi + 0x4c], 0x3f19999a
mov dword [esi + 0x50], 0x3f800000
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 1
call eax
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push dword [edi + 0x3c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
mov dword [esp], 0x3f800000
push 0
push ecx
mov dword [esp], 0x3f800000
jmp 0x10087022
cmp eax, 0x2532
jne 0x1008791d
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
call fcn.100f4340
xorps xmm1, xmm1
mov byte [esi + 0x88], 0
cvtsd2ss xmm1, xmm0
mov dword [esp + 0x40], 0
mov ecx, 0xfa0
mov dword [esp + 0x44], 0xc0a00000
mov dword [esp + 0x48], 0xc1700000
push 0
mulss xmm1, dword [0x10103654]
addss xmm1, dword [0x10103670]
movaps xmm0, xmm1
movss dword [esp + 0x14], xmm1
addss xmm0, xmm1
movss dword [esp + 0xf4], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [0x10103650]
movss dword [esp + 0xf8], xmm0
movss dword [esp + 0xfc], xmm0
movss xmm0, dword [0x5ef5a1c]
xorps xmm0, xmmword [0x10104770]
cvttss2si eax, xmm0
cdq
idiv ecx
lea eax, [esp + 0xe8]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
movd xmm0, edx
mov eax, 0x545030
cvtdq2ps xmm0, xmm0
push 0x7bc08a0
mulss xmm0, dword [0x10103574]
movss dword [edi + 0x6c], xmm0
call eax
movss xmm0, dword [esp + 0xe4]
addss xmm0, dword [edi + 0xfc]
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, dword [edi + 0x100]
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [esp + 0xec]
addss xmm0, dword [edi + 0x104]
movss dword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [0x10103684]
addss xmm0, dword [0x10103988]
jmp 0x10087714
cmp eax, 0x20a4
jne 0x100879b2
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
cvtps2pd xmm0, xmm0
call fcn.100f4340
xorps xmm1, xmm1
mov dword [edi + 0x44], 1
cvtsd2ss xmm1, xmm0
mov ecx, 0x7d0
mulss xmm1, dword [0x10103ea4]
addss xmm1, dword [0x10103ecc]
movss dword [edi + 0x64], xmm1
cvttss2si eax, dword [0x5ef5a1c]
mov dword [edi + 0x98], 0x40000000
divss xmm1, dword [0x10103e88]
cdq
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1010357c]
movss dword [edi + 0x6c], xmm0
movss dword [edi + 0x9c], xmm1
movss dword [edi + 0xa0], xmm1
movss dword [edi + 0xa4], xmm1
jmp 0x10089310
cmp eax, 0x20a5
jne 0x10087b74
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
call fcn.1001e1a0
movaps xmm1, xmm0
mov dword [esp + 0xf0], 0
mulss xmm1, dword [0x10103654]
lea eax, [esp + 0xd8]
push 0
push eax
lea eax, [esp + 0xf8]
mov dword [esp + 0xfc], 0
addss xmm1, dword [0x10103670]
push eax
push 0x7bc08d0
mov eax, 0x545030
mov dword [esp + 0x108], 0
mov ecx, esi
movaps xmm0, xmm1
mulss xmm0, dword [0x10103684]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, dword [0x10103650]
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xfc], xmm1
call eax
movss xmm0, dword [esp + 0xd8]
lea eax, [esp + 0xe4]
addss xmm0, dword [edi + 0xfc]
push 0
push ecx
mov dword [esp], 0
push edi
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, dword [edi + 0x100]
push eax
push ecx
lea eax, [esp + 0xec]
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0xf4]
addss xmm0, dword [edi + 0x104]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp], xmm0
push eax
push 0x7d31
mov eax, 0x771310
call eax
add esp, 0x1c
lea eax, [esp + 0xd8]
push 0
push eax
lea eax, [esp + 0xf8]
push eax
push 0x7bc0900
mov ecx, esi
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0xd8]
lea eax, [esp + 0xe4]
addss xmm0, dword [edi + 0xfc]
push 0
push ecx
mov dword [esp], 0
push edi
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, dword [edi + 0x100]
push eax
lea eax, [esp + 0xe8]
movss dword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0xf0]
addss xmm0, dword [edi + 0x104]
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0x24]
jmp 0x1008772e
cmp eax, 0x20a6
jne 0x10087cbf
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
call fcn.1001e1a0
movaps xmm1, xmm0
mov dword [esp + 0xf0], 0
mulss xmm1, dword [0x10103654]
lea eax, [esp + 0xd8]
push 0
push eax
lea eax, [esp + 0xf8]
mov dword [esp + 0xfc], 0
addss xmm1, dword [0x10103670]
push eax
push 0x7bc0a50
mov eax, 0x545030
mov dword [esp + 0x108], 0
mov ecx, esi
movaps xmm0, xmm1
mulss xmm0, dword [0x10103684]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, dword [0x10103650]
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xfc], xmm1
call eax
movss xmm0, dword [esp + 0xd8]
lea eax, [esp + 0xe4]
addss xmm0, dword [edi + 0xfc]
push 0
push ecx
mov dword [esp], 0
push edi
movss dword [esp + 0xe4], xmm0
movss xmm0, dword [esp + 0xe8]
addss xmm0, dword [edi + 0x100]
push eax
push ecx
lea eax, [esp + 0xec]
movss dword [esp + 0xf0], xmm0
movss xmm0, dword [esp + 0xf4]
addss xmm0, dword [edi + 0x104]
movss dword [esp + 0xf4], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp], xmm0
push eax
push 0x7d31
mov eax, 0x771310
call eax
add esp, 0x1c
lea eax, [esp + 0xd8]
push 0
push eax
lea eax, [esp + 0xf8]
push eax
push 0x7bc0a80
jmp 0x10087af8
cmp eax, 0x20a8
jne 0x10087d2e
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
call fcn.1001e1a0
mulss xmm0, dword [0x10103640]
lea eax, [esp + 0x40]
push 0
push ecx
mov dword [esp], 0
xorps xmm2, xmm2
addss xmm0, dword [0x10103680]
push edi
push eax
push ecx
mov dword [esp], 0x40200000
lea eax, [edi + 0xfc]
movaps xmm1, xmm0
movss dword [esp + 0x54], xmm0
mulss xmm1, dword [0x10103664]
mulss xmm0, xmm2
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x5c], xmm0
jmp 0x10087734
cmp eax, 0x1c98
jne 0x10087d5b
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm2
call fcn.1001e1a0
addss xmm0, dword [0x101036cc]
mulss xmm0, dword [0x10103640]
jmp 0x1008930b
cmp eax, 0x1c97
jne 0x10087d80
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm2
call fcn.1001e1a0
addss xmm0, dword [0x10103708]
jmp 0x1008930b
cmp edx, 0x16ab
je 0x100892ea
cmp edx, 0x12ab
je 0x100892ea
cmp eax, 0xe9e
jne 0x10087dc9
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035fc]
call fcn.1001e1a0
mulss xmm0, dword [0x10103648]
addss xmm0, dword [0x10103674]
jmp 0x1008930b
cmp edx, 0x12a6
je 0x100892e1
cmp edx, 0x18a6
je 0x100892e1
cmp edx, 0x1aa6
je 0x100892e1
cmp edx, 0x209a
jne 0x10087e0b
sub ecx, 0
je 0x10087e1b
sub ecx, 1
jne 0x10089314
mov dword [edi + 0x3c], ecx
jmp 0x10089314
cmp edx, 0x1e9a
je 0x10087df5
cmp edx, 0x1e9e
jne 0x10087e27
mov dword [edi + 0x3c], 1
jmp 0x10089314
cmp edx, 0x2537
jne 0x10087e3b
mov dword [edi + 0x44], 1
jmp 0x10089314
cmp eax, 0x1c99
jne 0x10088134
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035fc]
call fcn.1001e1a0
mulss xmm0, dword [0x10103648]
mov eax, 0x7bc0e40
mov dword [esp + 0x40], 0x3f19999a
mov dword [esp + 0x44], 0x3e99999a
mov dword [esp + 0x48], 0x3f4ccccd
addss xmm0, dword [0x10103648]
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0x14], eax
mulss xmm0, dword [0x10103ea4]
addss xmm0, dword [0x10103ee0]
movaps xmm1, xmm0
movss dword [esp + 0x1c], xmm0
divss xmm0, dword [0x10103f04]
addss xmm1, dword [0x10103e88]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x10], xmm1
push 1
lea ecx, [esp + 0xe8]
add eax, 0xfffffe80
push ecx
lea ecx, [esp + 0xf8]
mov edx, 0x545030
push ecx
push eax
mov ecx, esi
call edx
push 1
lea eax, [esp + 0xdc]
mov ecx, esi
push eax
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x20]
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x1c]
lea eax, [edi + 0x108]
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
push edi
push 0xe
push eax
lea eax, [esp + 0x10c]
push eax
lea eax, [esp + 0x104]
push eax
push 0x7d86
mov eax, 0x72d1b0
call eax
movss xmm0, dword [esp + 0x44]
lea eax, [edi + 0x108]
add esp, 0x34
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
push edi
push 4
push eax
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x110]
push eax
push 0x7ddc
mov eax, 0x72d1b0
call eax
movss xmm0, dword [esp + 0x6c]
lea eax, [esp + 0x74]
add esp, 0x34
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7de5
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x30]
add esp, 0x1c
dec eax
mov dword [esp + 0x14], eax
cmp eax, 0x7bc0e3b
jg 0x10087ee2
movss xmm0, dword [esp + 0x1c]
mov eax, 0x7bc09f0
movaps xmm1, xmm0
mov dword [esp + 0x14], 0
divss xmm0, dword [0x10103f04]
mov dword [esp + 0x10], eax
addss xmm1, dword [0x10103e88]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x38], xmm1
push 1
lea ecx, [esp + 0xe8]
push ecx
lea ecx, [esp + 0xf8]
push ecx
push eax
mov ecx, esi
mov eax, 0x545030
call eax
push 1
lea eax, [esp + 0xdc]
mov ecx, esi
push eax
lea eax, [esp + 0xf8]
push eax
mov eax, dword [esp + 0x20]
add eax, 0x7bc0ab0
push eax
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x1c]
lea eax, [edi + 0x108]
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
push edi
push 0xe
push eax
lea eax, [esp + 0x10c]
push eax
lea eax, [esp + 0x104]
push eax
push 0x7d86
mov eax, 0x72d1b0
call eax
movss xmm0, dword [esp + 0x6c]
lea eax, [edi + 0x108]
add esp, 0x34
push 0xffffffffffffffff
push 0
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
push edi
push 4
push eax
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x110]
push eax
push 0x7ddc
mov eax, 0x72d1b0
call eax
movss xmm0, dword [esp + 0x60]
lea eax, [esp + 0x74]
add esp, 0x34
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7de5
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc dword [esp + 0x14]
dec eax
mov dword [esp + 0x10], eax
cmp eax, 0x7bc09eb
jg 0x10088021
jmp 0x10089310
cmp edx, 0x1cb7
jne 0x100884f1
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x10103578]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x10103658]
xor eax, eax
mov dword [esp + 0xa0], 0x66
mov edx, 0x545030
mov dword [esp + 0x10], eax
addss xmm0, dword [0x10103664]
movss dword [esp + 0xd8], xmm0
movss dword [esp + 0xdc], xmm0
movss dword [esp + 0xe0], xmm0
movaps xmm0, xmmword [0x10104450]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x10104540]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x101045b0]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x10104620]
movups xmmword [esp + 0x70], xmm0
movaps xmm0, xmmword [0x10104640]
movups xmmword [esp + 0x80], xmm0
movaps xmm0, xmmword [0x10104670]
movups xmmword [esp + 0x90], xmm0
nop dword [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edx
mov eax, 0x5ef5a1c
push 1
push ecx
movss xmm0, dword [eax]
lea eax, [esp + 0xe0]
mulss xmm0, dword [0x10103620]
movss dword [esp], xmm0
push edi
push eax
push ecx
lea eax, [esp + 0xf8]
mov dword [esp], 0x3f000000
push eax
push 0x7e04
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov edx, 0x545030
mov dword [esp + 0x10], eax
cmp eax, 0x19
jl 0x10088230
movaps xmm0, xmmword [0x10104610]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0x51
mov dword [esp + 0x54], 0x59
call fcn.100dc14a
test al, 1
jne 0x10088380
xor eax, eax
mov dword [esp + 0x10], eax
nop dword [eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
call fcn.100dc14a
cdq
mov ecx, 0x14
idiv ecx
test edx, edx
jne 0x1008836e
push 0xffffffffffffffff
push ecx
mov dword [esp], edx
lea eax, [esp + 0xe0]
push edx
push edx
push edx
push 0xffffffffffffffff
push edi
push 1
push eax
lea eax, [edi + 0x108]
mov dword [esp + 0xfc], 0x3f19999a
push eax
lea eax, [esp + 0x10c]
mov dword [esp + 0x104], 0x3f19999a
push eax
push 0x184
mov dword [esp + 0x110], 0x3f666666
call dword [esp + 0x60]
add esp, 0x30
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 6
jl 0x100882e0
movaps xmm0, xmmword [0x10104630]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x90], 0x31
movaps xmm0, xmmword [0x10104650]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0x94], 0x2d
movaps xmm0, xmmword [0x10104460]
movups xmmword [esp + 0x60], xmm0
movaps xmm0, xmmword [0x10104530]
movups xmmword [esp + 0x70], xmm0
movaps xmm0, xmmword [0x101045a0]
movups xmmword [esp + 0x80], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035d8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x1010363c]
xor eax, eax
mov dword [esp + 0x14], eax
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
add eax, 0x7bc08a
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + ecx*4 + 0x40]
cmp eax, 0xc
je 0x1008847b
cmp eax, 0x40
je 0x1008847b
cmp eax, 0x62
je 0x1008847b
cmp eax, 0x34
je 0x1008847b
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x10103648]
mov dword [esp + 0xd8], 0x3f4ccccd
mov dword [esp + 0xdc], 0x3f000000
mov dword [esp + 0xe0], 0x3e4ccccd
jmp 0x100884aa
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x101037c0]
mov dword [esp + 0xd8], 0x3f666666
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
push 0
push ecx
mov dword [esp], 0
lea eax, [esp + 0xe0]
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x16
jl 0x10088403
jmp 0x10089310
mov eax, dword [edi + 0x30]
cmp eax, 0x1cb8
jne 0x100887e4
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035d8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x1010363c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035d8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x10103648]
xor eax, eax
mov dword [esp + 0x50], 0x35
mov edx, 0x545030
mov dword [esp + 0x54], 0x23
mov dword [esp + 0x10], eax
movaps xmm1, xmm0
addss xmm0, dword [0x1010366c]
addss xmm1, dword [0x10103664]
movss dword [esp + 0xec], xmm0
movaps xmm0, xmmword [0x10104420]
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103780]
movss dword [esp + 0xe4], xmm1
movss dword [esp + 0xe8], xmm1
movss dword [esp + 0x2c], xmm0
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edx
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0xe4]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xec]
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov edx, 0x545030
mov dword [esp + 0x10], eax
cmp eax, 6
jl 0x100885e0
movaps xmm0, xmmword [0x10104510]
xor eax, eax
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0xe4], 0x3dcccccd
movaps xmm0, xmmword [0x10104470]
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0xe8], 0x3dcccccd
movaps xmm0, xmmword [0x10104430]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0xec], 0x3f666666
movaps xmm0, xmmword [0x101045e0]
movups xmmword [esp + 0x70], xmm0
mov dword [esp + 0x80], 0x28
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103818]
mov dword [esp + 0x84], 0x27
mov dword [esp + 0x10], eax
movss dword [esp + 0x2c], xmm0
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0xe4]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xec]
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x12
jl 0x100886d0
movaps xmm0, xmmword [0x10104590]
xor eax, eax
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x10], eax
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103664]
movss dword [esp + 0x1c], xmm0
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0xe4]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xec]
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 4
jl 0x10088770
jmp 0x10089310
cmp eax, 0x1cb9
jne 0x10088b70
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x1010363c]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035b8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x10103658]
xorps xmm2, xmm2
xor eax, eax
mov edx, 0x545030
mov dword [esp + 0x10], eax
movaps xmm1, xmm0
movss dword [esp + 0x2c], xmm0
addss xmm1, dword [0x10103664]
movss dword [esp + 0xd8], xmm1
movaps xmm1, xmm0
movaps xmm0, xmmword [0x10104410]
addss xmm1, xmm2
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x101044e0]
movups xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [0x10104550]
movups xmmword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x1010366c]
movss dword [esp + 0xdc], xmm1
movss dword [esp + 0xe0], xmm1
movss dword [esp + 0x14], xmm0
nop
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edx
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0xd8]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7d83
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov edx, 0x545030
mov dword [esp + 0x10], eax
cmp eax, 0xc
jl 0x100888d0
movss xmm1, dword [esp + 0x2c]
xorps xmm2, xmm2
movaps xmm0, xmm1
xor eax, eax
addss xmm0, xmm2
mov dword [esp + 0x10], eax
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10103664]
addss xmm1, xmm2
movss dword [esp + 0xdc], xmm0
movaps xmm0, xmmword [0x10104480]
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x10104520]
movss dword [esp + 0xe0], xmm1
movups xmmword [esp + 0x50], xmm0
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
push 0
push ecx
mov dword [esp], 0
lea eax, [esp + 0xe0]
push edi
push eax
push ecx
lea eax, [esp + 0xf8]
mov dword [esp], 0x3fa66666
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 8
jl 0x100889a0
mov dword [esp + 0xd8], 0x3f800000
mov dword [esp + 0xdc], 0x3f800000
mov dword [esp + 0xe0], 0x3f800000
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035fc]
call fcn.1001e1a0
addss xmm0, dword [0x101036cc]
push 0
push ecx
mov dword [esp], 0x3f000000
lea eax, [esp + 0xe0]
push edi
mulss xmm0, dword [0x10103630]
push eax
push ecx
lea eax, [esp + 0xf8]
mov dword [esp], 0x3ecccccd
movaps xmm1, xmm0
addss xmm1, dword [0x10103684]
addss xmm0, dword [0x10103648]
push eax
push 0x7d02
mov eax, 0x771310
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0xf8], xmm1
movss dword [esp + 0xfc], xmm0
call eax
add esp, 0x1c
call fcn.100dc14a
cdq
mov ecx, 0xf
idiv ecx
cmp edx, 8
jl 0x10089310
push 1
lea eax, [esp + 0xe8]
mov ecx, esi
push eax
lea eax, [esp + 0xf8]
push eax
push 0x7bc0b10
mov eax, 0x545030
call eax
push 0
push ecx
mov dword [esp], 0x3f000000
lea eax, [esp + 0xe0]
push 5
push eax
lea esi, [edi + 0x108]
push esi
lea eax, [esp + 0xf8]
push eax
push 0x7d71
mov eax, 0x74cd30
call eax
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x100]
add esp, 0x1c
push 1
push eax
lea eax, [esp + 0xf8]
push eax
push 0x7bc0e70
mov eax, 0x545030
call eax
push 0
push ecx
mov dword [esp], 0x3f000000
lea eax, [esp + 0xe0]
push 5
push eax
push esi
lea eax, [esp + 0xf8]
push eax
push 0x7d71
mov eax, 0x74cd30
call eax
mov esi, dword [esp + 0x3c]
add esp, 0x1c
jmp 0x10089310
cmp eax, 0x1cba
jne 0x10088f88
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035d8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x1010363c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035d8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x10103648]
xor eax, eax
mov dword [esp + 0x50], 0x2f
mov edx, 0x545030
mov dword [esp + 0x54], 0x26
mov dword [esp + 0x10], eax
movaps xmm1, xmm0
addss xmm1, dword [0x10103674]
movss dword [esp + 0xe4], xmm1
movaps xmm1, xmm0
addss xmm0, dword [0x10103684]
addss xmm1, dword [0x10103664]
movss dword [esp + 0xec], xmm0
movaps xmm0, xmmword [0x101045c0]
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103818]
movss dword [esp + 0xe8], xmm1
movss dword [esp + 0x1c], xmm0
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edx
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0xe4]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xec]
push eax
push 0x7d02
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov edx, 0x545030
mov dword [esp + 0x10], eax
cmp eax, 6
jl 0x10088c60
movaps xmm0, xmmword [0x101045d0]
lea ecx, [edi + 0x108]
movups xmmword [esp + 0x40], xmm0
xor eax, eax
mov dword [esp + 0xe4], 0x3f19999a
movaps xmm0, xmmword [0x101044c0]
mov edi, edx
movups xmmword [esp + 0x50], xmm0
mov dword [esp + 0xe8], 0x3ecccccd
movaps xmm0, xmmword [0x10104560]
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0xec], 0x3f333333
movaps xmm0, xmmword [0x10104600]
movups xmmword [esp + 0x70], xmm0
mov dword [esp + 0xd0], 0x3a
movaps xmm0, xmmword [0x101044b0]
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0xd4], 0x31
movaps xmm0, xmmword [0x10104570]
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x10], eax
movaps xmm0, xmmword [0x101045f0]
movups xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x2c], ecx
movaps xmm0, xmmword [0x10104500]
movups xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [0x101044f0]
movups xmmword [esp + 0xc0], xmm0
nop dword [eax]
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edi
push 0
push ecx
mov dword [esp], 0x3dcccccd
lea eax, [esp + 0xec]
push 0
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0xec]
push eax
push 0x7e0f
mov eax, 0x74cd30
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 6
jl 0x10088da0
mov ecx, dword [esp + 0x14]
mov eax, 6
add ecx, 0x108
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edi
push 0
push ecx
mov dword [esp], 0x3e99999a
lea eax, [esp + 0xec]
push 0
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0xec]
push eax
push 0x7e0f
mov eax, 0x74cd30
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x12
jl 0x10088e20
mov ecx, dword [esp + 0x14]
mov eax, 0x12
add ecx, 0x108
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edi
push 0
push ecx
mov dword [esp], 0x3f000000
lea eax, [esp + 0xec]
push 0
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0xec]
push eax
push 0x7e0f
mov eax, 0x74cd30
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x1e
jl 0x10088ea0
mov ecx, dword [esp + 0x14]
mov eax, 0x1e
add ecx, 0x108
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
nop word [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xd8]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edi
push 0
push ecx
mov dword [esp], 0x3f333333
lea eax, [esp + 0xe0]
push 0
push dword [esp + 0x34]
push dword [esp + 0x3c]
push eax
push 0x7e0f
mov eax, 0x74cd30
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 0x26
jl 0x10088f20
mov edi, dword [esp + 0x14]
jmp 0x10089310
cmp eax, 0x1cbe
jne 0x10089314
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm1
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x1010363c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035b8]
call fcn.1001e1a0
call fcn.100d1120
mulss xmm0, dword [0x10103658]
xor eax, eax
mov edx, 0x545030
mov dword [esp + 0x50], 8
movss xmm2, dword [0x10103664]
mov dword [esp + 0x54], 0x14
movaps xmm1, xmm0
movss dword [esp + 0x10], xmm0
addss xmm1, dword [0x101036cc]
mov dword [esp + 0x14], eax
mulss xmm1, xmm2
movss dword [esp + 0xd8], xmm1
movaps xmm1, xmm0
addss xmm0, dword [0x1010363c]
addss xmm1, dword [0x10103674]
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [esp + 0xe0], xmm0
movaps xmm0, xmmword [0x10104580]
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103908]
movss dword [esp + 0xdc], xmm1
movss dword [esp + 0x2c], xmm0
nop dword [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
call edx
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0xd8]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7d83
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
mov edx, 0x545030
mov dword [esp + 0x14], eax
cmp eax, 2
jl 0x10089090
movss xmm2, dword [esp + 0x10]
movss xmm1, dword [0x10103640]
movaps xmm0, xmm2
addss xmm0, dword [0x101036cc]
mulss xmm0, xmm1
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x10103674]
mulss xmm0, xmm1
movss dword [esp + 0xdc], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x1010363c]
mulss xmm0, xmm1
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103664]
movss dword [esp + 0x2c], xmm0
nop dword [eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0xd8]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7d83
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x30]
add esp, 0x1c
inc eax
mov dword [esp + 0x14], eax
cmp eax, 6
jl 0x10089170
movss xmm1, dword [esp + 0x10]
xor eax, eax
movss xmm2, dword [0x10103664]
movaps xmm0, xmm1
addss xmm0, xmm2
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x54], 6
mov dword [esp + 0x10], eax
mulss xmm0, xmm2
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10103634]
addss xmm1, dword [0x10103658]
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [esp + 0xdc], xmm0
movaps xmm0, xmmword [0x101044a0]
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10103908]
movss dword [esp + 0xe0], xmm1
movss dword [esp + 0x1c], xmm0
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + eax*4 + 0x40]
lea ecx, [esp + 0xe4]
add eax, 0x29402e
push 1
push ecx
lea ecx, [esp + 0xf8]
lea eax, [eax + eax*2]
push ecx
shl eax, 4
mov ecx, esi
push eax
mov eax, 0x545030
call eax
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0xd8]
push 0
push ecx
mov dword [esp], 0
push edi
push eax
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xf8]
push eax
push 0x7d83
mov eax, 0x771310
call eax
mov eax, dword [esp + 0x2c]
add esp, 0x1c
inc eax
mov dword [esp + 0x10], eax
cmp eax, 6
jl 0x10089270
jmp 0x10089310
mov dword [edi + 0x64], 0x3f800000
jmp 0x10089314
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, xmm2
call fcn.1001e1a0
mulss xmm0, dword [0x10103658]
addss xmm0, dword [0x1010366c]
movss dword [edi + 0x64], xmm0
mov edx, dword [esp + 8]
cmp byte [edi + 8], 0
je 0x10089435
cmp dword [0xe61e18], 7
jne 0x10089359
push 1
mov eax, 0x635fd0
call eax
mov dword [esp], 0x3e4ccccd
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor4f]
jmp 0x10089380
mov eax, 0x635f50
call eax
sub esp, 0xc
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.OPENGL32.dll_glColor3f]
mov ecx, dword [0xe61e18]
cmp ecx, 0x18
jge 0x1008939e
mov dword [esp + 0x14], 1
cmp ecx, 0xa
je 0x100867df
jmp 0x100893b9
cmp ecx, 0x1d
jle 0x100893b1
xor eax, eax
cmp ecx, 0x24
setne al
mov dword [esp + 0x14], eax
jmp 0x100893b9
mov dword [esp + 0x14], 0
cmp byte [edi + 0x21], 3
je 0x100867df
mov eax, 0x4db250
call eax
mov edx, 0x4e44a0
lea ecx, [eax + 0x84]
call edx
test al, al
jne 0x100867df
push 0x12
lea ecx, [edi + 0x1e4]
mov eax, 0x4c8640
call eax
mov ecx, dword [esp + 0x14]
xor edx, edx
test al, al
movzx ecx, cl
cmove edx, ecx
test dl, dl
je case.0x1008a95f.4800
cmp byte [edi + 7], 0
je case.0x1008a95f.4800
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [edi + 0x3c]
mov eax, 0x54a270
mov ecx, esi
push dword [edi + 0x44]
call eax
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x14], 0x278b
mov dword [esp + 0x1c], 0x4c8640
jg 0x1008a4f4
lea ecx, [edi + 0x1e4]
push 0x12
call dword [esp + 0x20]
test al, al
je 0x100894ba
push 0x7dd8
mov dword [esi + 0x48], 0x3f800000
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x50], 0x3f800000
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
addss xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
mulss xmm0, dword [0x10103e98]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f000000
push 0x4040
jmp 0x1008a594
push 0x37
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x100894f4
push 0x38
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x100894f4
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x50], 0x3f800000
jmp 0x100896ad
push 0x56
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x1008951e
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x50], 0x3f800000
jmp 0x100896ad
push 0x37
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x10089548
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x4c], 0x3f800000
mov dword [esi + 0x50], 0x3f000000
jmp 0x100896ad
push 0x3d
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x100895b7
push 5
push edi
push 0x7de2
mov eax, 0x6d8980
call eax
add esp, 0xc
lea eax, [edi + 0x108]
push 0xffffffffffffffff
push ecx
mov dword [esp], 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 5
push dword [esp + 0x48]
push eax
lea eax, [edi + 0xfc]
push eax
push 0x7de2
call dword [esp + 0x60]
add esp, 0x30
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 0x3f800000
jmp 0x100896ad
push 0x38
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
jne 0x100895e7
push 0x56
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
jne 0x100895e7
push 0x39
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
je 0x10089601
mov dword [esi + 0x4c], 0x3f000000
mov dword [esi + 0x48], 0x3e99999a
mov dword [esi + 0x50], 0x3f800000
jmp 0x100896ad
mov eax, dword [esp + 0xc]
cmp eax, 3
jl 0x1008a2e9
cmp dword [edi + 0x30], 0x20a2
je 0x1008a2e9
cmp eax, 5
jge 0x10089656
movss xmm0, dword [0xe8c808]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0xe8c808]
mulss xmm0, dword [0x1010366c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0xe8c808]
mulss xmm0, dword [0x1010366c]
jmp 0x10089693
cmp eax, 7
jge 0x100896d2
movss xmm0, dword [0xe8c808]
mulss xmm0, dword [0x10103664]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0xe8c808]
mulss xmm0, dword [0x10103674]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0xe8c808]
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x48]
push eax
lea ecx, [esp + 0x44]
movss dword [esp + 0x4c], xmm0
call fcn.100d1080
add esp, 4
push dword [ebp + 0x1c]
movss xmm0, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
push ecx
movss dword [esp], xmm0
push eax
push edi
push esi
mov eax, 0x5fa710
call eax
add esp, 0x14
jmp 0x1008a59d
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x1008a3c3
cmp eax, 9
jge 0x10089960
cmp ecx, 1
jl 0x10089969
mov eax, dword [ebp + 0x20]
test eax, eax
js 0x100898e3
cmp dword [0x1147331c], 0
jne 0x10089898
mov ecx, dword [ebp + 0x24]
test ecx, ecx
js 0x10089722
lea edx, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, 0x102bc680
call fcn.1006a280
jmp 0x10089732
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, 0x102bc680
call fcn.1006a020
test al, al
je 0x10089898
movd xmm0, dword [esp + 0x44]
lea eax, [esi + 0x48]
movsd xmm1, qword [0x101037f0]
lea ecx, [esi + 0x4c]
cvtdq2pd xmm0, xmm0
lea edx, [esi + 0x50]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
push dword [ebp + 0x1c]
mulsd xmm0, xmm1
push ecx
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x50]
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
push edi
push esi
mov eax, 0x5fa710
call eax
movd xmm0, dword [esp + 0x78]
add esp, 0x14
movsd xmm2, qword [0x101037f0]
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x30]
push 0xffffffffffffffff
push 0xffffffffffffffff
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movd xmm0, dword [esp + 0x5c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x60]
cvtdq2pd xmm0, xmm0
mov eax, dword [esp + 0x18]
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x64]
mov eax, dword [esp + 0x1c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [ebp + 0x1c]
movss xmm0, dword [edi + 0x6c]
and eax, 0x100
or eax, 0x44
sub esp, 0xc
mov dword [ebp + 0x1c], eax
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movd xmm0, dword [esp + 0x78]
cvtdq2pd xmm0, xmm0
push ecx
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
jmp 0x1008a594
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103684]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x10]
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push eax
jmp 0x1008992b
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103684]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
mov eax, 0x5fa710
call eax
add esp, 0x14
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push 0x44
push dword [esp + 0x18]
movss xmm3, dword [esp + 0x2c]
mov edx, edi
mov ecx, esi
call fcn.1008b2d0
add esp, 0x14
jmp 0x1008a59d
cmp eax, 0xb
jge 0x10089cc8
cmp ecx, 2
jl 0x10089cd1
mov eax, dword [ebp + 0x20]
test eax, eax
js 0x10089c12
cmp dword [0x1147331c], 0
jne 0x10089b72
mov ecx, dword [ebp + 0x24]
test ecx, ecx
js 0x100899a4
lea edx, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, 0x102bc680
call fcn.1006a280
jmp 0x100899b4
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, 0x102bc680
call fcn.1006a020
test al, al
je 0x10089b72
movd xmm0, dword [esp + 0x44]
lea eax, [esi + 0x48]
movsd xmm1, qword [0x101037f0]
lea ecx, [esi + 0x4c]
cvtdq2pd xmm0, xmm0
lea edx, [esi + 0x50]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
push dword [ebp + 0x1c]
mulsd xmm0, xmm1
push ecx
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, 0x5fa710
movd xmm0, dword [esp + 0x50]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
movd xmm0, dword [esp + 0x78]
add esp, 0x14
movsd xmm2, qword [0x101037f0]
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0x30]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x58]
mov eax, dword [esp + 0x10]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [ebp + 0x1c]
and eax, 0x100
mov dword [ebp + 0x1c], eax
movss xmm0, dword [edi + 0x6c]
or eax, 0x48
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movd xmm0, dword [esp + 0x74]
push dword [edi + 0x44]
cvtdq2pd xmm0, xmm0
push ecx
mov ecx, esi
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, 0x5494c0
call eax
mov eax, dword [ebp + 0x1c]
movss xmm0, dword [edi + 0x6c]
or eax, 0x44
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov dword [ebp + 0x1c], eax
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movd xmm0, dword [esp + 0x74]
push dword [edi + 0x44]
cvtdq2pd xmm0, xmm0
push ecx
mulsd xmm0, qword [0x101037f0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
jmp 0x1008a594
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
movss xmm3, dword [esp + 0x18]
and esi, 0x100
mov eax, esi
mov edx, edi
or eax, 0x44
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], 0x3f800000
push eax
push dword [esp + 0x18]
call fcn.1008b2d0
add esp, 0x14
or esi, 0x48
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push esi
mov esi, dword [esp + 0x30]
jmp 0x10089945
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
movss xmm3, dword [esp + 0x18]
and esi, 0x100
mov eax, esi
mov edx, edi
or eax, 0x44
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], 0x3f800000
push eax
push dword [esp + 0x18]
call fcn.1008b2d0
add esp, 0x14
or esi, 0x48
movss xmm3, dword [esp + 0x18]
mov edx, edi
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push esi
push dword [esp + 0x18]
mov esi, dword [esp + 0x34]
mov ecx, esi
call fcn.1008b2d0
add esp, 0x14
jmp 0x1008a59d
cmp eax, 0xd
jge 0x1008a044
cmp ecx, 3
jl 0x1008a04d
mov eax, dword [ebp + 0x20]
test eax, eax
js 0x10089f88
cmp dword [0x1147331c], 0
jne 0x10089ebb
mov ecx, dword [ebp + 0x24]
test ecx, ecx
js 0x10089d0c
lea edx, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, 0x102bc680
call fcn.1006a280
jmp 0x10089d1c
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, 0x102bc680
call fcn.1006a020
test al, al
je 0x10089ebb
movd xmm0, dword [esp + 0x44]
lea eax, [esi + 0x48]
movsd xmm1, qword [0x101037f0]
lea ecx, [esi + 0x4c]
cvtdq2pd xmm0, xmm0
lea edx, [esi + 0x50]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
push dword [ebp + 0x1c]
mulsd xmm0, xmm1
push ecx
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, 0x5fa710
movd xmm0, dword [esp + 0x50]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov eax, dword [esp + 0x3c]
add esp, 0x14
movss xmm1, dword [0x10103698]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push 0xffffffffffffffff
movss dword [ecx], xmm0
movss xmm0, dword [eax + 4]
mov ecx, dword [esp + 0x24]
mulss xmm0, xmm1
push ecx
mov dword [esp], 0x3f800000
movss dword [ecx], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x20]
mulss xmm0, xmm1
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x68]
mov eax, dword [ebp + 0x1c]
cvtdq2pd xmm0, xmm0
and eax, 0x100
mov dword [ebp + 0x1c], eax
or eax, 0x240
push eax
push ecx
mov eax, 0x608fb0
mulsd xmm0, qword [0x101037f0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
push esi
call eax
movd xmm0, dword [esp + 0x80]
movsd xmm2, qword [0x101037f0]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movd xmm0, dword [esp + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
mov eax, dword [esp + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x3c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [esp + 0x34]
movd xmm0, dword [esp + 0x78]
add esp, 0x1c
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [ebp + 0x1c]
jmp 0x10089ace
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x240
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push eax
push ecx
mov dword [esp], 0x3f800000
mov eax, 0x608fb0
push dword [esp + 0x18]
push edi
push dword [esp + 0x38]
call eax
movss xmm3, dword [esp + 0x34]
add esp, 0x1c
mov eax, esi
mov edx, edi
or eax, 0x48
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], 0x3f800000
push eax
push dword [esp + 0x18]
call fcn.1008b2d0
add esp, 0x14
or esi, 0x44
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push esi
mov esi, dword [esp + 0x30]
jmp 0x10089945
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x240
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push eax
push ecx
mov dword [esp], 0x3f800000
mov eax, 0x608fb0
push dword [esp + 0x18]
push edi
push dword [esp + 0x38]
call eax
movss xmm3, dword [esp + 0x34]
add esp, 0x1c
mov eax, esi
mov edx, edi
or eax, 0x48
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], 0x3f800000
push eax
push dword [esp + 0x18]
call fcn.1008b2d0
add esp, 0x14
or esi, 0x44
jmp 0x10089c9c
cmp eax, 0x10
jge 0x1008a3c3
cmp ecx, 4
jl 0x1008a3c3
mov eax, dword [ebp + 0x20]
test eax, eax
js 0x1008a280
cmp dword [0x1147331c], 0
jne 0x1008a217
mov ecx, dword [ebp + 0x24]
test ecx, ecx
js 0x1008a088
lea edx, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, 0x102bc680
call fcn.1006a280
jmp 0x1008a098
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, 0x102bc680
call fcn.1006a020
test al, al
je 0x1008a217
movd xmm0, dword [esp + 0x44]
lea eax, [esi + 0x48]
movsd xmm1, qword [0x101037f0]
lea ecx, [esi + 0x4c]
cvtdq2pd xmm0, xmm0
lea edx, [esi + 0x50]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
push dword [ebp + 0x1c]
mulsd xmm0, xmm1
push ecx
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, 0x5fa710
movd xmm0, dword [esp + 0x50]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ecx], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [edx], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov eax, dword [esp + 0x3c]
add esp, 0x14
movss xmm1, dword [0x10103698]
mov ecx, dword [esp + 0x14]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push 0xffffffffffffffff
movss dword [ecx], xmm0
movss xmm0, dword [eax + 4]
mov ecx, dword [esp + 0x24]
mulss xmm0, xmm1
push ecx
mov dword [esp], 0x3f800000
movss dword [ecx], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x20]
mulss xmm0, xmm1
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x68]
mov eax, dword [ebp + 0x1c]
cvtdq2pd xmm0, xmm0
and eax, 0x100
mov dword [ebp + 0x1c], eax
or eax, 0x1040
push eax
push ecx
mov eax, 0x608fb0
mulsd xmm0, qword [0x101037f0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
push esi
call eax
movd xmm0, dword [esp + 0x80]
movsd xmm2, qword [0x101037f0]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movd xmm0, dword [esp + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
mov eax, dword [esp + 0x30]
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
movd xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x3c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [eax], xmm0
mov eax, dword [esp + 0x34]
jmp 0x10089e96
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x1040
jmp 0x10089f1f
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, 0x5fa710
mulss xmm0, xmm1
movss dword [esi + 0x50], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x1040
jmp 0x10089fec
mov eax, dword [edi + 0x30]
cmp eax, 0x20d3
jne 0x1008a37c
push dword [ebp + 0x1c]
movss xmm0, dword [esp + 0x1c]
mov eax, 0x5fa710
push ecx
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x42
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f000000
push eax
push ecx
mov dword [esp], 0x3f000000
mov eax, 0x608fb0
push dword [esp + 0x18]
push edi
push dword [esp + 0x38]
call eax
add esp, 0x1c
or esi, 0x1040
mov eax, 0x608fb0
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push esi
mov esi, dword [esp + 0x2c]
push ecx
mov dword [esp], 0x3f800000
push dword [esp + 0x18]
push edi
push esi
call eax
add esp, 0x1c
jmp 0x1008a59d
cmp eax, 0x1ec5
je 0x1008a3fc
cmp eax, 0x20bd
je 0x1008a3fc
cmp eax, 0x1eb9
je 0x1008a3fc
cmp eax, 0x1ebe
je 0x1008a438
cmp eax, 0x1ef0
je 0x1008a3fc
cmp eax, 0x1ebf
je 0x1008a3fc
cmp eax, 0x1ef1
je 0x1008a3fc
cmp eax, 0x1f07
je 0x1008a3fc
cmp eax, 0x1ec0
je 0x1008a3fc
mov ecx, dword [esp + 0x28]
push dword [ebp + 0x1c]
movss xmm0, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
movss dword [esp], xmm0
push dword [esp + 0x10]
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
mov eax, 0x5fa710
push edi
push esi
call eax
add esp, 0x14
jmp 0x1008a59d
mov eax, dword [edi + 0x30]
cmp eax, 0x1ef0
je 0x1008a438
cmp eax, 0x1ebf
je 0x1008a438
cmp eax, 0x1ef1
je 0x1008a438
cmp eax, 0x1f07
je 0x1008a438
cmp eax, 0x1ec0
je 0x1008a438
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 4]
mov dword [esi + 0x4c], eax
movss xmm0, dword [ecx + 8]
jmp 0x1008a468
mov eax, dword [esp + 0x28]
movss xmm1, dword [0x10103698]
movss xmm0, dword [eax]
mulss xmm0, xmm1
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm1
push dword [ebp + 0x1c]
movss dword [esi + 0x50], xmm0
mov eax, 0x5fa710
movss xmm0, dword [esp + 0x1c]
push ecx
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov esi, dword [ebp + 0x1c]
add esp, 0x14
and esi, 0x100
mov eax, esi
or eax, 0x240
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3fc00000
push eax
push ecx
mov dword [esp], 0x3fc00000
mov eax, 0x608fb0
push dword [esp + 0x18]
push edi
push dword [esp + 0x38]
call eax
add esp, 0x1c
or esi, 0x1040
mov eax, 0x608fb0
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
push esi
mov esi, dword [esp + 0x2c]
push ecx
mov dword [esp], 0x3f800000
push dword [esp + 0x18]
push edi
push esi
call eax
add esp, 0x1c
jmp 0x1008a59d
mov ecx, dword [esp + 0x28]
push dword [ebp + 0x1c]
movss xmm0, dword [esp + 0x1c]
push ecx
mov eax, dword [ecx]
mov dword [esi + 0x48], eax
mov eax, dword [ecx + 4]
movss dword [esp], xmm0
push edx
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 8]
mov dword [esi + 0x50], eax
mov eax, 0x5fa710
push edi
push esi
call eax
mov dword [esi + 0x48], 0x3f800000
mov ecx, 0x2710
mov dword [esi + 0x4c], 0x3f800000
add esp, 0x14
mov dword [esi + 0x50], 0x3f800000
cvttss2si eax, dword [0x5ef5a1c]
push 0x7e12
push dword [edi + 0x3c]
cdq
idiv ecx
sub esp, 0xc
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10103678]
cvtpd2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f800000
push 0x80040
mov ecx, esi
mov eax, 0x5494c0
call eax
mov eax, dword [esp + 8]
add eax, 0xfffffb6d
push eax
mov eax, 0x7e7870
call eax
test al, al
je 0x1008a81a
mov eax, dword [ebp + 0x20]
test eax, eax
js 0x1008a81a
cmp dword [0x1147331c], 0
jne 0x1008a81a
mov ecx, dword [ebp + 0x24]
test ecx, ecx
js 0x1008a5ef
lea edx, [esp + 0x40]
push edx
push eax
push ecx
mov ecx, 0x102bc680
call fcn.1006a280
test al, al
jne 0x1008a607
jmp 0x1008a81a
lea ecx, [esp + 0x40]
push ecx
push eax
mov ecx, 0x102bc680
call fcn.1006a020
test al, al
je 0x1008a81a
movd xmm0, dword [esp + 0x44]
mov eax, 0x5fa710
movsd xmm1, qword [0x101037f0]
cvtdq2pd xmm0, xmm0
push dword [ebp + 0x1c]
mulsd xmm0, xmm1
push ecx
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x48], xmm0
movd xmm0, dword [esp + 0x50]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x4c], xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x50], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x10]
push edi
push esi
call eax
mov eax, dword [esp + 0x3c]
add esp, 0x14
movss xmm1, dword [0x10103698]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
movss dword [esi + 0x48], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [ebp + 0x1c]
mulss xmm0, xmm1
and eax, 0x100
mov dword [ebp + 0x1c], eax
or eax, 0x1040
push eax
push ecx
movss dword [esi + 0x50], xmm0
mov eax, 0x608fb0
movd xmm0, dword [esp + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x101037f0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
push esi
call eax
movd xmm0, dword [esp + 0x80]
add esp, 0x1c
movsd xmm2, qword [0x101037f0]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
movd xmm0, dword [esp + 0x54]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x48], xmm0
movd xmm0, dword [esp + 0x58]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x4c], xmm0
movd xmm0, dword [esp + 0x5c]
cvtdq2pd xmm0, xmm0
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov eax, dword [ebp + 0x1c]
or eax, 0x48
mulsd xmm0, xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x50], xmm0
movss xmm0, dword [edi + 0x6c]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movd xmm0, dword [esp + 0x74]
push dword [edi + 0x44]
cvtdq2pd xmm0, xmm0
push ecx
mov ecx, esi
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, 0x5494c0
call eax
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
mov eax, dword [ebp + 0x1c]
or eax, 0x44
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movd xmm0, dword [esp + 0x74]
push dword [edi + 0x44]
cvtdq2pd xmm0, xmm0
push ecx
mov ecx, esi
mulsd xmm0, qword [0x101037f0]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
mov eax, 0x5494c0
call eax
cmp dword [esp + 0x3c], 0
je case.0x1008a95f.4800
lea ecx, [edi + 0x1e4]
push 0x39
call dword [esp + 0x20]
test al, al
jne case.0x1008a95f.4800
push 0x12
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
jne case.0x1008a95f.4800
push 0x41
lea ecx, [edi + 0x1e4]
call dword [esp + 0x20]
test al, al
jne case.0x1008a95f.4800
test byte [ebp + 0x10], 0x3f
jbe 0x1008ab47
mov eax, dword [edi + 0x30]
cmp eax, 0x1c93
jb 0x1008a880
cmp eax, 0x1c99
jbe 0x1008ab47
cmp eax, 0x1eb1
je 0x1008ab47
cmp eax, 0x1cb7
jb 0x1008a89d
cmp eax, 0x1cbe
jbe 0x1008ab47
cmp eax, 0x1d15
jb 0x1008a8ab
cmp eax, 0x1d19
jmp 0x1008a8b7
cmp eax, 0x1cc4
jb 0x1008a8c8
cmp eax, 0x1cc5
jbe 0x1008ab47
cmp eax, 0x1d1a
je 0x1008ab47
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x101035b8]
cvtps2pd xmm0, xmm0
call fcn.100f4340
cmp byte [esi + 0x99], 0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x10103664]
addss xmm1, dword [0x10103664]
movaps xmm0, xmm1
movss dword [esi + 0x48], xmm1
mulss xmm0, dword [0x10103648]
movss dword [esi + 0x4c], xmm0
movss xmm0, dword [0x101036cc]
subss xmm0, xmm1
movss dword [esi + 0x50], xmm0
je 0x1008aa02
mov eax, dword [edi + 0x30]
cmp eax, 0x12ba
jb 0x1008a93b
cmp eax, 0x12bf
jbe 0x1008a946
cmp eax, 0x12e5
jne 0x1008aa02
mov eax, dword [esp + 8]
add eax, 0xffffed46
cmp eax, 0x2b
ja case.0x1008a95f.4800
movzx eax, byte [eax + 0x1008af24]
jmp dword [eax*4 + 0x1008af14]
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 0x42
push 2
call dword [esp + 0x44]
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 0x42
push 0
call dword [esp + 0x44]
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 8]
cmp eax, 0x12ce
je case.0x1008a95f.4795
cmp eax, 0x12cf
je case.0x1008a95f.4795
cmp eax, 0x12e6
je case.0x1008a95f.4795
cmp eax, 0x12d0
je case.0x1008a95f.4796
cmp eax, 0x14ce
je case.0x1008a95f.4795
cmp eax, 0x14e6
je case.0x1008a95f.4795
cmp eax, 0x14d0
jg 0x1008aaa8
je case.0x1008a95f.4796
cmp eax, 0x282
je 0x1008aaf3
cmp eax, 0x12dc
je case.0x1008a95f.4796
cmp eax, 0x14cf
jne 0x1008aaba
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 0x42
push 1
call dword [esp + 0x44]
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
cmp eax, 0x14dc
je case.0x1008a95f.4794
cmp eax, 0x1adc
je 0x1008aaf3
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
push ecx
mov dword [esp], 0x3f800000
push 0x42
jmp 0x10087024
movss xmm0, dword [edi + 0x6c]
push 0xffffffffffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
push dword [edi + 0x44]
movss xmm0, dword [edi + 0x98]
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x42
push 0
call dword [esp + 0x44]
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, ecx
and eax, reloc.WS2_32.dll_closesocket
jns 0x1008ab58
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 1
je 0x1008ab66
cmp eax, 2
jne case.0x1008a95f.4800
cmp ecx, 0x278b
jg case.0x1008a95f.4800
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x10103590]
cvtps2pd xmm0, xmm0
call fcn.100f4340
movss xmm1, dword [0x10103620]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x10103664]
addss xmm0, dword [0x10103658]
comiss xmm1, xmm0
movss dword [esp + 0x2c], xmm0
jb 0x1008abca
call fcn.100dc14a
cdq
mov ecx, 0x64
idiv ecx
movss xmm0, dword [esp + 0x2c]
mov dword [esi + 0xc0], edx
push 0xffffffffffffffff
push ecx
mov dword [esp], 0x3f800000
mov eax, 0x608fb0
push 0x840
push ecx
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
push esi
call eax
add esp, 0x1c
pop edi
pop esi
mov ecx, dword [esp + 0xf4]
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret
movss xmm0, dword [edi + 0x98]
mov eax, 0x546860
push ecx
movss dword [esp], xmm0
call eax
sub esp, 0xc
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
call dword [sym.imp.OPENGL32.dll_glColor3f]
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
mov eax, 0x5468a0
sub esp, 0xc
mov dword [edi + 0x64], 0x3f800000
mov dword [esp + 0x34], eax
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x28]
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 2
push 0
call eax
movss xmm0, dword [0x5ef5a1c]
mulss xmm0, dword [0x10103590]
cvtps2pd xmm0, xmm0
call fcn.100f4340
push dword [edi + 0x3c]
cvtsd2ss xmm0, xmm0
sub esp, 0xc
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movss xmm0, dword [edi + 0x6c]
mulsd xmm1, qword [0x101038a0]
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
addsd xmm1, qword [0x101038a0]
movss xmm0, dword [esp + 0x28]
cvtpd2ps xmm1, xmm1
movss dword [esp], xmm1
push 1
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x42
push 1
movss dword [edi + 0x64], xmm1
call dword [esp + 0x44]
push dword [edi + 0x3c]
movss xmm0, dword [edi + 0x6c]
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [edi + 0x68]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x101036cc]
subss xmm0, dword [edi + 0x64]
movss dword [esp], xmm0
movss xmm0, dword [esp + 0x28]
push 2
push ecx
movss dword [esp], xmm0
mov ecx, esi
push 0x42
push 2
call dword [esp + 0x44]
mov eax, 0x546880
call eax
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
xor ecx, esp
call fcn.100d2be8
mov esp, ebp
pop ebp
ret