Function at 0x10021230
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002b882
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xed0
mov eax, dword [0x10036040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [0x1023212c]
test edx, edx
je 0x10023f8c
cmp dword [edx + 0x3c], 0
je 0x10023f8c
mov eax, dword [edx + 0x2c]
xor edi, edi
xor eax, 0x13e1855c
mov dword [ebp - 0xdb0], edi
jbe 0x10023f8c
mov ecx, dword [0x10232214]
nop word [eax + eax]
mov edx, dword [0x1023212c]
mov eax, dword [edx + 0x2c]
xor eax, 0x13e1855c
cmp eax, edi
jbe 0x100212d3
test edi, edi
jle 0x100212d3
mov eax, dword [edx + 0x44]
xor eax, 0x304cfd16
mov esi, dword [eax + edi*4]
jmp 0x100212d5
xor esi, esi
mov dword [ebp - 0xd84], esi
test ecx, ecx
jne 0x1002130f
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe74], eax
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x67], 0
je 0x1002132a
test esi, esi
je 0x10023f70
cmp esi, dword [0x102321fc]
jne 0x10021332
jmp 0x10023f70
test esi, esi
je 0x10023f70
mov eax, dword [esi + 0x210]
cmp eax, 0x20
je 0x10021346
cmp eax, 0x21
jne 0x10023f70
mov eax, esi
shr eax, 0x10
mov edx, eax
mov dword [ebp - 0xdb4], edx
test ax, ax
je 0x10023e79
mov eax, dword [esi + 0x2c]
movq xmm0, qword [esi + 0x24]
mov dword [ebp - 0xde0], eax
mov eax, dword [0x102321fc]
movss xmm1, dword [ebp - 0xde0]
movq qword [ebp - 0xde8], xmm0
movss xmm2, dword [ebp - 0xde8]
movq xmm0, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
movq qword [ebp - 0xddc], xmm0
movss xmm0, dword [ebp - 0xde4]
subss xmm2, dword [ebp - 0xddc]
subss xmm0, dword [ebp - 0xdd8]
mov dword [ebp - 0xdd4], eax
subss xmm1, dword [ebp - 0xdd4]
mulss xmm2, xmm2
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x100213e3
sqrtsd xmm0, xmm0
jmp 0x100213e8
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
lea eax, [ebp - 0xcf0]
mov edx, 6
push eax
mov ecx, esi
movss dword [ebp - 0xd88], xmm0
movss xmm0, dword [esi + 0x4cc]
movss dword [ebp - 0xd94], xmm0
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xcfc]
mov edx, 5
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xd20]
mov edx, 0x3c
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xd14]
mov edx, 0xa
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xd08]
mov edx, 0x37
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xce4]
mov edx, 0x1f
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xcd8]
mov edx, 0x30
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
lea eax, [ebp - 0xccc]
mov edx, 0x1a
mov ecx, esi
push eax
call fcn.1001ff50
add esp, 4
cmp dword [0x102321f0], 0
jne 0x100214f4
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc4c]
lea ecx, [ebp - 0xd20]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x1002154e
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc94]
lea ecx, [ebp - 0xd14]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x100215a8
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc64]
lea ecx, [ebp - 0xd08]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10021602
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc58]
lea ecx, [ebp - 0xce4]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x1002165c
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc70]
lea ecx, [ebp - 0xcd8]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x100216b6
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xc7c]
lea ecx, [ebp - 0xccc]
call fcn.1001e840
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10021710
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xca0]
lea ecx, [ebp - 0xcfc]
call fcn.1001e840
mov ecx, dword [0x10232214]
add esp, 4
test ecx, ecx
jne 0x10021764
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe78], eax
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x84], 0
je 0x10021788
mov eax, dword [0x102321fc]
mov eax, dword [eax + 0x42c]
test eax, eax
jle 0x10021788
cmp eax, dword [esi + 0x42c]
je 0x10023f70
cmp byte [ecx + 0x85], 0
je 0x100217ac
mov eax, dword [0x102321fc]
mov eax, dword [eax + 0x3e4]
test eax, eax
jle 0x100217ac
cmp eax, dword [esi + 0x3e4]
je 0x10023f70
cmp dword [0x102321f0], 0
jne 0x100217ec
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movq xmm0, qword [esi + 0x24]
lea edx, [ebp - 0xad4]
mov eax, dword [esi + 0x2c]
lea ecx, [ebp - 0xec4]
push dword [0x10232184]
movq qword [ebp - 0xec4], xmm0
mov dword [ebp - 0xebc], eax
call fcn.1001e840
add esp, 4
test al, al
je 0x10023e6d
cmp dword [0x102321f0], 0
jne 0x10021864
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd80], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
push dword [0x10232184]
lea edx, [ebp - 0xae0]
lea ecx, [ebp - 0xcf0]
call fcn.1001e840
add esp, 4
test al, al
je 0x10023e6d
cvttss2si eax, dword [ebp - 0xae0]
mov dword [ebp - 0xe50], eax
cvttss2si eax, dword [ebp - 0xc4c]
mov dword [ebp - 0xe4c], eax
cvttss2si eax, dword [ebp - 0xc94]
mov dword [ebp - 0xe48], eax
cvttss2si eax, dword [ebp - 0xc58]
mov dword [ebp - 0xe44], eax
cvttss2si eax, dword [ebp - 0xc64]
mov dword [ebp - 0xe40], eax
cvttss2si eax, dword [ebp - 0xc70]
mov dword [ebp - 0xe3c], eax
cvttss2si eax, dword [ebp - 0xc7c]
mov dword [ebp - 0xe38], eax
lea eax, [ebp - 0xe34]
push eax
lea eax, [ebp - 0xe50]
push eax
call fcn.1002a9a0
movss xmm2, dword [ebp - 0xadc]
mov esi, eax
subss xmm2, dword [ebp - 0xc9c]
lea eax, [ebp - 0xe18]
mov edi, edx
push eax
lea eax, [ebp - 0xe34]
push eax
movaps xmm0, xmm2
addss xmm2, xmm2
mulss xmm0, dword [0x100317fc]
addss xmm0, dword [ebp - 0xadc]
movss dword [ebp - 0xe34], xmm0
movss xmm0, dword [ebp - 0xc48]
subss xmm0, xmm2
movss dword [ebp - 0xe30], xmm0
movss xmm0, dword [ebp - 0xc90]
movss dword [ebp - 0xe2c], xmm0
movss xmm0, dword [ebp - 0xc54]
movss dword [ebp - 0xe28], xmm0
movss xmm0, dword [ebp - 0xc60]
subss xmm0, xmm2
movss dword [ebp - 0xe24], xmm0
movss xmm0, dword [ebp - 0xc6c]
movss dword [ebp - 0xe20], xmm0
movss xmm0, dword [ebp - 0xc78]
movss dword [ebp - 0xe1c], xmm0
call fcn.1002aa50
mov ecx, dword [0x10232214]
sub edi, esi
movd xmm0, esi
mov esi, dword [ebp - 0xd84]
mov dword [ebp - 0xda8], edx
movd xmm1, edi
mov dword [ebp - 0xdac], eax
mov dword [ebp - 0xd80], edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0xda4], xmm0
movss xmm0, dword [ebp - 0xda8]
mulss xmm1, dword [0x100317a0]
subss xmm0, dword [ebp - 0xdac]
movss dword [ebp - 0xda0], xmm1
movss dword [ebp - 0xd9c], xmm0
movss xmm0, dword [esi + 0x4cc]
movss dword [ebp - 0xd8c], xmm0
test ecx, ecx
jne 0x10021a4b
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe7c], eax
mov ecx, eax
mov dword [ebp - 4], 3
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x89], 0
je 0x10021ce2
cmp dword [0x102321f0], 0
movss xmm2, dword [ebp - 0xad0]
movaps xmm1, xmm2
movss xmm0, dword [0x100317ac]
subss xmm1, dword [ebp - 0xadc]
addss xmm2, dword [ebp - 0xadc]
movss xmm4, dword [ebp - 0xad4]
movss dword [ebp - 0xd90], xmm4
maxss xmm1, dword [0x100317c8]
mulss xmm2, xmm0
movaps xmm3, xmm1
movss dword [ebp - 0xd74], xmm1
divss xmm3, dword [0x100317f8]
movss dword [ebp - 0xdb8], xmm2
movss dword [ebp - 0xd78], xmm3
jne 0x10021b22
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
movss xmm1, dword [ebp - 0xd74]
movss xmm2, dword [ebp - 0xdb8]
movss xmm3, dword [ebp - 0xd78]
movss xmm4, dword [ebp - 0xd90]
movups xmmword [0x10232160], xmm0
mov dword [ebp - 0xd98], eax
movss xmm0, dword [0x100317ac]
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
mulss xmm3, xmm0
or edx, 0xffffffff
push ecx
mov ecx, dword [0x10232184]
mulss xmm1, xmm0
movaps xmm0, xmm3
addss xmm0, xmm4
subss xmm4, xmm3
movss dword [ebp - 0xd74], xmm1
subss xmm2, xmm1
movaps xmm3, xmm0
movss dword [ebp - 0xd98], xmm0
movaps xmm1, xmm4
movss dword [ebp - 0xd90], xmm4
movss dword [ebp - 0xd78], xmm2
movss dword [esp], xmm2
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10021bb6
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xd74]
or edx, 0xffffffff
addss xmm0, dword [ebp - 0xdb8]
movss xmm3, dword [ebp - 0xd98]
movss xmm2, dword [ebp - 0xd78]
movaps xmm1, xmm3
push ecx
mov ecx, dword [0x10232184]
movss dword [ebp - 0xd74], xmm0
movss dword [esp], xmm0
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10021c38
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xd74]
or edx, 0xffffffff
movss xmm3, dword [ebp - 0xd90]
movaps xmm2, xmm0
movss xmm1, dword [ebp - 0xd98]
push ecx
mov ecx, dword [0x10232184]
movss dword [esp], xmm0
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10021caa
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm3, dword [ebp - 0xd90]
or edx, 0xffffffff
movss xmm0, dword [ebp - 0xd78]
movaps xmm1, xmm3
movss xmm2, dword [ebp - 0xd74]
push ecx
mov ecx, dword [0x10232184]
movss dword [esp], xmm0
call fcn.1001eba0
mov ecx, dword [0x10232214]
add esp, 4
test ecx, ecx
jne 0x10021d16
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe80], eax
mov ecx, eax
mov dword [ebp - 4], 4
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x44], 0
je 0x10021d8e
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x43
call edi
test ax, ax
je 0x10021d54
mov eax, dword [0x102321fc]
lea ecx, [ebp - 0xeb8]
push ecx
mov ecx, esi
movq xmm0, qword [eax + 0x24]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xeb0], eax
mov eax, dword [esi]
movq qword [ebp - 0xeb8], xmm0
call dword [eax + 0x34]
push 0x58
call edi
cwde
test eax, 0x30d40
je 0x10021d88
mov ecx, dword [0x102321fc]
lea edx, [ebp - 0xeac]
mov eax, dword [esi + 0x2c]
movq xmm0, qword [esi + 0x24]
mov dword [ebp - 0xea4], eax
mov eax, dword [ecx]
push edx
movq qword [ebp - 0xeac], xmm0
call dword [eax + 0x34]
mov ecx, dword [0x10232214]
test ecx, ecx
jne 0x10021dc2
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe84], eax
mov ecx, eax
mov dword [ebp - 4], 5
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x41], 0
je 0x10021e92
movss xmm0, dword [ebp - 0xd88]
lea eax, [ebp - 0x238]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push 0x10030f98
push eax
call fcn.10001680
movss xmm1, dword [ebp - 0xad4]
lea eax, [ebp - 0x238]
subss xmm1, dword [0x1003185c]
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031864]
push eax
push 0xff000000
cvttss2si esi, xmm1
cvttss2si edi, xmm0
lea eax, [esi - 1]
push edi
push eax
call fcn.1001f6b0
lea eax, [ebp - 0x238]
push eax
push 0xff000000
lea eax, [esi + 1]
push edi
push eax
call fcn.1001f6b0
lea eax, [ebp - 0x238]
push eax
push 0xff000000
lea eax, [edi - 1]
push eax
push esi
call fcn.1001f6b0
add esp, 0x40
lea eax, [ebp - 0x238]
push eax
push 0xff000000
lea eax, [edi + 1]
push eax
push esi
call fcn.1001f6b0
lea eax, [ebp - 0x238]
push eax
push 0xffffffffffffffff
push edi
push esi
call fcn.1001f6b0
mov ecx, dword [0x10232214]
add esp, 0x20
mov esi, dword [ebp - 0xd84]
test ecx, ecx
jne 0x10021ec6
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe88], eax
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x40], 0
je 0x10022d43
movss xmm0, dword [esi + 0x4cc]
movss xmm1, dword [0x100318ac]
ucomiss xmm0, xmm1
movss dword [ebp - 0xd74], xmm0
lahf
test ah, 0x44
jp 0x1002202f
cmp dword [0x102321f0], 0
jne 0x10021f35
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xc20]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xc20], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc18], eax
sub esi, 2
mov dword [ebp - 0xc1c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc14], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xc30], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xff00ff00
mov dword [ebp - 0xc28], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xc2c], edx
lea edx, [ebp - 0xc30]
push edx
mov dword [ebp - 0xc24], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
movss xmm1, dword [0x100318ac]
comiss xmm0, dword [0x100318a8]
jb 0x10022177
comiss xmm1, xmm0
jb 0x10022177
cmp dword [0x102321f0], 0
jne 0x10022085
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xc40]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xc40], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xc38], eax
sub esi, 2
mov dword [ebp - 0xc3c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xc34], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xc00], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xff00ff00
mov dword [ebp - 0xbf8], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xbfc], edx
lea edx, [ebp - 0xc00]
push edx
mov dword [ebp - 0xbf4], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x100318a0]
jb 0x100222c7
movss xmm1, dword [0x100318a4]
comiss xmm1, xmm0
jb 0x100222c7
cmp dword [0x102321f0], 0
jne 0x100221d5
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xbf0]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xbf0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xbe8], eax
sub esi, 2
mov dword [ebp - 0xbec], esi
lea eax, [esi + 6]
mov dword [ebp - 0xbe4], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xbe0], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xff00ff00
mov dword [ebp - 0xbd8], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xbdc], edx
lea edx, [ebp - 0xbe0]
push edx
mov dword [ebp - 0xbd4], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x10031890]
jb 0x10022417
movss xmm1, dword [0x1003189c]
comiss xmm1, xmm0
jb 0x10022417
cmp dword [0x102321f0], 0
jne 0x10022325
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xbd0]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xbd0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xbc8], eax
sub esi, 2
mov dword [ebp - 0xbcc], esi
lea eax, [esi + 6]
mov dword [ebp - 0xbc4], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xbc0], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xff00ff00
mov dword [ebp - 0xbb8], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xbbc], edx
lea edx, [ebp - 0xbc0]
push edx
mov dword [ebp - 0xbb4], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x10031888]
jb 0x10022567
movss xmm1, dword [0x1003188c]
comiss xmm1, xmm0
jb 0x10022567
cmp dword [0x102321f0], 0
jne 0x10022475
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xbb0]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xbb0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xba8], eax
sub esi, 2
mov dword [ebp - 0xbac], esi
lea eax, [esi + 6]
mov dword [ebp - 0xba4], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xc10], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffe1ff00
mov dword [ebp - 0xc08], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xc0c], edx
lea edx, [ebp - 0xc10]
push edx
mov dword [ebp - 0xc04], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x1003187c]
jb 0x100226b7
movss xmm1, dword [0x10031884]
comiss xmm1, xmm0
jb 0x100226b7
cmp dword [0x102321f0], 0
jne 0x100225c5
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xba0]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xba0], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xb98], eax
sub esi, 2
mov dword [ebp - 0xb9c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb94], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xb90], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffe1ff00
mov dword [ebp - 0xb88], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xb8c], edx
lea edx, [ebp - 0xb90]
push edx
mov dword [ebp - 0xb84], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x1003186c]
jb 0x10022807
movss xmm1, dword [0x10031878]
comiss xmm1, xmm0
jb 0x10022807
cmp dword [0x102321f0], 0
jne 0x10022715
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xb80]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xb80], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xb78], eax
sub esi, 2
mov dword [ebp - 0xb7c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb74], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xb70], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffe1cc00
mov dword [ebp - 0xb68], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xb6c], edx
lea edx, [ebp - 0xb70]
push edx
mov dword [ebp - 0xb64], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x10031860]
jb 0x10022957
movss xmm1, dword [0x10031868]
comiss xmm1, xmm0
jb 0x10022957
cmp dword [0x102321f0], 0
jne 0x10022865
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xb60]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xb60], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xb58], eax
sub esi, 2
mov dword [ebp - 0xb5c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb54], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xb20], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffe1cc00
mov dword [ebp - 0xb18], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xb1c], edx
lea edx, [ebp - 0xb20]
push edx
mov dword [ebp - 0xb14], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x1003184c]
jb 0x10022aa7
movss xmm1, dword [0x1003185c]
comiss xmm1, xmm0
jb 0x10022aa7
cmp dword [0x102321f0], 0
jne 0x100229b5
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xb50]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xb50], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xb48], eax
sub esi, 2
mov dword [ebp - 0xb4c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb44], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xb40], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffff0000
mov dword [ebp - 0xb38], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xb3c], edx
lea edx, [ebp - 0xb40]
push edx
mov dword [ebp - 0xb34], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x10031824]
jb 0x10022bf7
movss xmm1, dword [0x10031848]
comiss xmm1, xmm0
jb 0x10022bf7
cmp dword [0x102321f0], 0
jne 0x10022b05
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xb30]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031820]
sub edi, 0x16
mov dword [ebp - 0xb30], edi
cvttss2si esi, xmm0
lea eax, [edi + 0x2d]
mov dword [ebp - 0xb28], eax
sub esi, 2
mov dword [ebp - 0xb2c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb24], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xaf0], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffff0000
mov dword [ebp - 0xae8], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xaec], edx
lea edx, [ebp - 0xaf0]
push edx
mov dword [ebp - 0xae4], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
movss xmm0, dword [ebp - 0xd74]
comiss xmm0, dword [0x100317c8]
jb 0x10022d43
movss xmm1, dword [0x10031820]
comiss xmm1, xmm0
jb 0x10022d43
cmp dword [0x102321f0], 0
jne 0x10022c5d
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
movss xmm1, dword [0x10031820]
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xad4]
lea edx, [ebp - 0xb10]
addss xmm0, dword [0x10031814]
mov ecx, dword [0x10232184]
push 0
push ecx
mov dword [esp], 0
cvttss2si edi, xmm0
push 0xff000000
push 1
push edx
push 1
push ecx
mov dword [ebp - 0xd78], ecx
movss xmm0, dword [ebp - 0xad0]
addss xmm0, xmm1
sub edi, 0x16
mov dword [ebp - 0xb10], edi
lea eax, [edi + 0x2d]
cvttss2si esi, xmm0
mov dword [ebp - 0xb08], eax
sub esi, 2
mov dword [ebp - 0xb0c], esi
lea eax, [esi + 6]
mov dword [ebp - 0xb04], eax
mov eax, dword [ecx]
call dword [eax + 0xac]
movss xmm0, dword [ebp - 0xd74]
mulss xmm0, dword [0x10031870]
divss xmm0, dword [0x100318ac]
call fcn.1002af20
push 0
lea ecx, [edi + 1]
add eax, ecx
mov dword [ebp - 0xb00], ecx
mov ecx, dword [ebp - 0xd78]
lea edx, [esi + 1]
push ecx
mov dword [esp], 0
push 0xffff0000
mov dword [ebp - 0xaf8], eax
lea eax, [edx + 4]
push 1
mov dword [ebp - 0xafc], edx
lea edx, [ebp - 0xb00]
push edx
mov dword [ebp - 0xaf4], eax
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xac]
mov ecx, dword [0x10232214]
test ecx, ecx
jne 0x10022d77
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe8c], eax
mov ecx, eax
mov dword [ebp - 4], 7
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x47], 0
je 0x10022eac
movss xmm1, dword [ebp - 0xd8c]
comiss xmm1, dword [0x100317c8]
jb 0x10022eac
movss xmm0, dword [0x100318ac]
minss xmm0, xmm1
movaps xmm1, xmm0
comiss xmm1, dword [0x10031898]
movss dword [ebp - 0xd8c], xmm1
jbe 0x10022dbd
mov edi, 0xff00ff00
jmp 0x10022dd1
comiss xmm1, dword [0x10031868]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
cmp dword [0x102321f0], 0
jne 0x10022e11
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm3, dword [ebp - 0xda0]
mov ecx, 0xff000000
movss xmm0, dword [ebp - 0xda4]
subss xmm0, xmm3
mov esi, dword [0x10232184]
movss xmm2, dword [0x10031804]
mov edx, esi
cvtps2pd xmm1, xmm0
cvtps2pd xmm0, xmm3
movss xmm3, dword [ebp - 0xd9c]
divsd xmm0, qword [0x100317e0]
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss xmm1, dword [ebp - 0xda8]
movss dword [ebp - 0xd78], xmm0
call fcn.1001f330
movss xmm3, dword [ebp - 0xd8c]
mov edx, esi
mulss xmm3, dword [ebp - 0xd9c]
mov ecx, edi
movss xmm2, dword [0x100317ec]
movss xmm1, dword [ebp - 0xda8]
divss xmm3, dword [0x100318ac]
movss xmm0, dword [ebp - 0xd78]
call fcn.1001f330
mov ecx, dword [0x10232214]
test ecx, ecx
jne 0x10022ee0
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe90], eax
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x45], 0
je 0x10022ffb
movss xmm1, dword [ebp - 0xd8c]
comiss xmm1, dword [0x100317c8]
jb 0x10022ffb
movss xmm0, dword [0x100318ac]
minss xmm0, xmm1
comiss xmm0, dword [0x10031898]
movss dword [ebp - 0xd78], xmm0
jbe 0x10022f23
mov edi, 0xff00ff00
jmp 0x10022f37
comiss xmm0, dword [0x10031868]
mov edi, 0xffff0000
mov eax, 0xffff9b00
cmova edi, eax
cmp dword [0x102321f0], 0
jne 0x10022f77
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm0, dword [ebp - 0xda4]
mov ecx, 0xff000000
subss xmm0, dword [ebp - 0xda0]
mov esi, dword [0x10232184]
mov edx, esi
movss xmm3, dword [ebp - 0xd9c]
movss xmm2, dword [0x100317c8]
movss xmm1, dword [ebp - 0xda8]
subss xmm0, dword [ebp - 0xda0]
movss dword [ebp - 0xd98], xmm0
call fcn.1001f330
movss xmm3, dword [ebp - 0xd78]
mov edx, esi
mulss xmm3, dword [ebp - 0xd9c]
mov ecx, edi
movss xmm1, dword [ebp - 0xda8]
xorps xmm2, xmm2
movss xmm0, dword [ebp - 0xd98]
divss xmm3, dword [0x100318ac]
call fcn.1001f330
mov ecx, dword [0x10232214]
test ecx, ecx
jne 0x1002302f
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe94], eax
mov ecx, eax
mov dword [ebp - 4], 9
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x3f], 0
je 0x100232a8
cmp dword [0x102321f0], 0
movss xmm0, dword [ebp - 0xadc]
subss xmm0, xmm0
maxss xmm0, dword [0x100317c8]
movaps xmm4, xmm0
movss dword [ebp - 0xd8c], xmm0
divss xmm4, dword [0x100317f8]
movss dword [ebp - 0xd90], xmm4
jne 0x100230b8
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
movss xmm4, dword [ebp - 0xd90]
movups xmmword [0x10232160], xmm0
mov dword [ebp - 0xd7c], eax
movss xmm0, dword [ebp - 0xd8c]
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm2, dword [ebp - 0xad0]
mov edx, 0xffff0000
movss xmm1, dword [ebp - 0xad4]
subss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [0x100317ac]
push ecx
mov ecx, dword [0x10232184]
movss dword [esp], xmm2
subss xmm1, xmm0
movss dword [ebp - 0xd74], xmm0
movaps xmm3, xmm1
addss xmm3, xmm4
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x10023143
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm2, dword [ebp - 0xad0]
mov edx, 0xffff0000
movss xmm1, dword [ebp - 0xad4]
subss xmm2, dword [ebp - 0xd8c]
subss xmm1, dword [ebp - 0xd74]
push ecx
mov ecx, dword [0x10232184]
movaps xmm0, xmm2
addss xmm1, dword [ebp - 0xd90]
addss xmm0, dword [ebp - 0xd8c]
movaps xmm3, xmm1
movss dword [esp], xmm0
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x100231d2
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm3, dword [ebp - 0xad4]
mov edx, 0xffff0000
movss xmm2, dword [ebp - 0xad0]
subss xmm3, dword [ebp - 0xd74]
subss xmm2, dword [ebp - 0xd8c]
push ecx
mov ecx, dword [0x10232184]
movaps xmm1, xmm3
addss xmm2, dword [ebp - 0xd8c]
addss xmm1, dword [ebp - 0xd90]
movss dword [esp], xmm2
call fcn.1001eba0
add esp, 4
cmp dword [0x102321f0], 0
jne 0x1002325e
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm2, dword [ebp - 0xad0]
mov edx, 0xffff0000
subss xmm2, dword [ebp - 0xd8c]
movss xmm1, dword [ebp - 0xad4]
subss xmm1, dword [ebp - 0xd74]
push ecx
mov ecx, dword [0x10232184]
movss dword [esp], xmm2
addss xmm2, dword [ebp - 0xd8c]
movaps xmm3, xmm1
call fcn.1001eba0
mov ecx, dword [0x10232214]
add esp, 4
test ecx, ecx
jne 0x100232dc
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe98], eax
mov ecx, eax
mov dword [ebp - 4], 0xa
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x71], 0
je 0x100233d8
cmp dword [0x102321f0], 0
jne 0x10023326
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm1, dword [ebp - 0xda0]
xor ecx, ecx
movss xmm4, dword [ebp - 0xda4]
movaps xmm0, xmm1
mulss xmm0, dword [0x100317ac]
subss xmm4, xmm1
mov edi, dword [0x10232184]
mov edx, edi
cvttss2si esi, dword [ebp - 0xd9c]
subss xmm4, xmm0
movd xmm0, dword [ebp - 0xd80]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm1
movss dword [ebp - 0xda4], xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm3, xmm0
movss dword [ebp - 0xda0], xmm1
movaps xmm2, xmm1
movss xmm1, dword [ebp - 0xda8]
movaps xmm0, xmm4
call fcn.1001f330
movss xmm3, dword [ebp - 0xda0]
movss xmm2, dword [ebp - 0xda8]
movss xmm1, dword [ebp - 0xda4]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, edi
movss dword [esp], xmm0
call fcn.1001f070
mov ecx, dword [0x10232214]
add esp, 4
test ecx, ecx
jne 0x1002340c
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe9c], eax
mov ecx, eax
mov dword [ebp - 4], 0xb
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x65], 0
je 0x100234aa
mov edx, dword [ebp - 0xd84]
cmp dword [edx + 0x42c], 0
je 0x100234aa
mov eax, dword [edx + 0x430]
dec eax
cmp eax, 7
ja case.0x10023435.1
jmp dword [eax*4 + 0x10024154]
mov ecx, 0xffa6780c
jmp 0x10023472
mov ecx, 0xff10a49e
jmp 0x10023472
mov ecx, 0xff20a414
jmp 0x10023472
mov ecx, 0xff104ea4
jmp 0x10023472
mov ecx, 0xff9610a4
jmp 0x10023472
mov ecx, 0xff444444
jmp 0x10023472
mov ecx, 0xffa4a4a4
jmp 0x10023472
mov ecx, 0xffaa0000
movss xmm0, dword [ebp - 0xad0]
lea eax, [edx + 0x434]
xorps xmm1, xmm1
push eax
addss xmm0, xmm1
push str.__s_
push ecx
cvttss2si eax, xmm0
push eax
cvttss2si eax, dword [ebp - 0xad4]
push eax
call fcn.1001f6b0
mov ecx, dword [0x10232214]
add esp, 0x14
test ecx, ecx
jne 0x100234de
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xea0], eax
mov ecx, eax
mov dword [ebp - 4], 0xc
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0xa8], 0
je 0x1002361e
cmp dword [0x102321f0], 0
jne 0x10023527
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
xor esi, esi
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], esi
mov dword [0x10232200], esi
mov dword [0x102321f0], eax
jmp 0x1002352d
mov esi, dword [0x10232190]
lea eax, [ebp - 0xcb0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0xca8]
sub eax, dword [ebp - 0xcb0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100317ac]
call fcn.1002af20
mov edi, eax
lea eax, [ebp - 0xcc0]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 0xcb4]
sub ecx, dword [ebp - 0xcbc]
sub ecx, 0xc
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100317ac]
call fcn.1002af20
cmp dword [0x102321f0], 0
mov esi, eax
jne 0x100235d0
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
mov eax, dword [0x10232214]
test eax, eax
jne 0x10023606
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xed4], eax
mov ecx, eax
mov dword [ebp - 4], 0xd
call fcn.100264c0
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], eax
movd xmm0, dword [eax + 0x20]
cvtdq2ps xmm0, xmm0
push esi
push edi
call fcn.1001f750
mov ecx, dword [0x10232214]
add esp, 8
test ecx, ecx
jne 0x10023652
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe70], eax
mov ecx, eax
mov dword [ebp - 4], 0xe
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x12], 0
mov esi, dword [ebp - 0xd84]
je 0x10023ac4
movss xmm0, dword [0x100318bc]
comiss xmm0, dword [ebp - 0xd88]
jbe 0x10023ac4
cmp dword [esi + 0x42c], 0
je 0x100238b8
lea eax, [ebp - 0x318]
mov ecx, esi
push eax
call fcn.1001e9b0
mov eax, dword [esi + 0x430]
or edi, 0xffffffff
dec eax
cmp eax, 7
ja case.default.0x100236a1
jmp dword [eax*4 + 0x10024174]
mov edi, 0xffaa0000
jmp case.default.0x100236a1
mov edi, 0xffa6780c
jmp case.default.0x100236a1
mov edi, 0xff10a49e
jmp case.default.0x100236a1
mov edi, 0xff20a414
jmp case.default.0x100236a1
mov edi, 0xff104ea4
jmp case.default.0x100236a1
mov edi, 0xff9610a4
jmp case.default.0x100236a1
mov edi, 0xff444444
jmp case.default.0x100236a1
mov edi, 0xffa4a4a4
lea eax, [esi + 0x434]
push eax
lea eax, [ebp - 0x158]
push str.__s_
push eax
call fcn.10025e30
lea ecx, [ebp - 0x158]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023702
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x4d0]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x158]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jle 0x100238b8
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0xe68]
call fcn.100257d0
push 0x50
lea eax, [ebp - 0xd70]
mov dword [ebp - 4], 0xf
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xd70]
call fcn.100254b0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xe68]
cmp dword [ebp - 0xe54], 0xf
mov eax, dword [ebp - 0xe58]
cmova ecx, dword [ebp - 0xe68]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xdd0]
push eax
lea ecx, [ebp - 0xd70]
call fcn.10025940
lea ecx, [ebp - 0xd70]
call fcn.100253f0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0xdd0]
cmp dword [ebp - 0xdbc], 7
xorps xmm0, xmm0
cmova edx, dword [ebp - 0xdd0]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
lea eax, [ecx + 2]
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 0xd80], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100237e6
sub ecx, dword [ebp - 0xd80]
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10025e50
movss xmm0, dword [ebp - 0xd88]
subss xmm0, dword [0x10031834]
cvttss2si edx, dword [ebp - 0xd88]
push dword [0x10232144]
cvttss2si ecx, xmm0
push edi
call fcn.1001f4d0
mov byte [ebp - 4], 0xf
add esp, 0x20
mov ecx, dword [ebp - 0xdbc]
cmp ecx, 7
jbe 0x10023871
mov edx, dword [ebp - 0xdd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10023867
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe54]
cmp ecx, 0xf
jbe 0x100238b2
mov edx, dword [ebp - 0xe68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100238a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov esi, dword [ebp - 0xd84]
lea eax, [ebp - 0x5b0]
mov ecx, esi
push eax
call fcn.1001e9b0
lea eax, [ebp - 0x5b0]
push eax
lea eax, [ebp - 0x158]
push 0x10030fb4
push eax
call fcn.10025e30
lea ecx, [ebp - 0x158]
add esp, 0xc
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100238f0
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0xac8]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x158]
push eax
push 0
push 0xfde9
call edi
test eax, eax
jle 0x10024135
cmp dword [esi + 0x430], 0
lea eax, [ebp - 0x158]
push eax
jne 0x10023faa
lea ecx, [ebp - 0xe18]
call fcn.100257d0
push 0x50
lea eax, [ebp - 0xd70]
mov dword [ebp - 4], 0x12
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xd70]
call fcn.100254b0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xe18]
cmp dword [ebp - 0xe04], 0xf
mov eax, dword [ebp - 0xe08]
cmova ecx, dword [ebp - 0xe18]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xdd0]
push eax
lea ecx, [ebp - 0xd70]
call fcn.10025940
lea ecx, [ebp - 0xd70]
call fcn.100253f0
mov byte [ebp - 4], 0x14
lea edx, [ebp - 0xdd0]
cmp dword [ebp - 0xdbc], 7
xorps xmm0, xmm0
cmova edx, dword [ebp - 0xdd0]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 0
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100239e0
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10025e50
cvttss2si edx, dword [ebp - 0xd88]
cvttss2si ecx, dword [ebp - 0xd88]
push dword [0x10232144]
push 0xffffffffffffffff
call fcn.1001f4d0
mov byte [ebp - 4], 0x12
add esp, 0x20
mov ecx, dword [ebp - 0xdbc]
cmp ecx, 7
jbe 0x10023a5c
mov edx, dword [ebp - 0xdd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10023a52
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe04]
cmp ecx, 0xf
jbe 0x10023a9d
mov edx, dword [ebp - 0xe18]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10023a93
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov dword [ebp - 0xe08], 0
mov dword [ebp - 0xe04], 0xf
mov byte [ebp - 0xe18], 0
mov ecx, dword [0x10232214]
mov esi, dword [ebp - 0xd84]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test ecx, ecx
jne 0x10023afe
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xe6c], eax
mov ecx, eax
mov dword [ebp - 4], 0x18
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0xd], 0
je 0x10023b7b
mov eax, dword [ebp - 0xd94]
movss xmm1, dword [0x100318ac]
mov dword [ebp - 0xd94], eax
movss xmm0, dword [ebp - 0xd94]
comiss xmm0, xmm1
jbe 0x10023b28
movaps xmm0, xmm1
push dword [0x10232208]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
movss xmm0, dword [ebp - 0xad0]
addss xmm0, dword [0x10031858]
push str.HP___.f_
push 0xffffff00
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xad4]
subss xmm0, dword [0x10031834]
push eax
cvttss2si eax, xmm0
push eax
call fcn.1001f6b0
mov ecx, dword [0x10232214]
add esp, 0x1c
test ecx, ecx
jne 0x10023baf
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xee0], eax
mov ecx, eax
mov dword [ebp - 4], 0x19
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x5d], 0
je 0x10023c7c
lea eax, [ebp - 0x318]
mov ecx, esi
push eax
call fcn.1001e9b0
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x458]
push 0x10030fb4
push eax
call fcn.10025e30
add esp, 0xc
lea eax, [ebp - 0x910]
push eax
lea eax, [ebp - 0x690]
push 0x10030fb4
push eax
call fcn.10001680
lea ecx, [ebp - 0x458]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023c06
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x910]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x458]
push eax
push 0
push 0xfde9
call edi
test eax, eax
jle 0x10023c76
movss xmm0, dword [ebp - 0xad0]
lea eax, [ebp - 0x910]
addss xmm0, dword [0x10031830]
push 0x101
push eax
push 0xffffffffffffffff
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xad4]
subss xmm0, dword [0x100317fc]
push eax
cvttss2si eax, xmm0
push eax
push dword [0x10232208]
call fcn.1001f430
add esp, 0x18
mov ecx, dword [0x10232214]
test ecx, ecx
jne 0x10023cb0
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xedc], eax
mov ecx, eax
mov dword [ebp - 4], 0x1a
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 0x42], 0
je 0x10024140
cmp dword [0x102321f0], 0
jne 0x10023cfa
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movss xmm3, dword [ebp - 0xadc]
sub esp, 0x10
subss xmm3, dword [ebp - 0xc9c]
movss xmm1, dword [ebp - 0xae0]
movaps xmm2, xmm3
addss xmm2, dword [ebp - 0xadc]
call fcn.1001ed90
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10031e70]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x100318c4]
mulss xmm0, dword [0x1003180c]
movss dword [ebp - 0xd88], xmm0
addss xmm0, dword [0x100317ac]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x100317c8]
mulss xmm0, dword [0x100318b4]
movss dword [ebp - 0xd94], xmm0
movss xmm0, dword [ebp - 0xd88]
addss xmm0, dword [0x100317d0]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x100317c8]
mulss xmm0, dword [0x100318b4]
movss dword [ebp - 0xd80], xmm0
movss xmm0, dword [ebp - 0xd88]
addss xmm0, dword [0x100317ec]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
cvttss2si esi, dword [ebp - 0xd94]
cvttss2si eax, dword [ebp - 0xd80]
or esi, 0xff00
shl esi, 8
cvtsd2ss xmm0, xmm0
movzx eax, al
or esi, eax
shl esi, 8
addss xmm0, dword [0x100317c8]
mulss xmm0, dword [0x100318b4]
cvttss2si eax, xmm0
movzx eax, al
or esi, eax
cmp dword [0x102321f0], 0
jne 0x10023e54
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
mov edx, esi
mov esi, dword [ebp - 0xd84]
push ecx
mov ecx, esi
call fcn.100200a0
mov edi, dword [ebp - 0xdb0]
add esp, 4
mov ecx, dword [0x10232214]
mov edx, dword [ebp - 0xdb4]
cmp dword [esi + 0x210], 0x20001
jne 0x10023f70
test dx, dx
je 0x10023f70
cmp dword [0x102321f0], 0
jne 0x10023ed2
push 1
call fcn.10029eb3
movaps xmm0, xmmword [0x10031ed0]
add esp, 4
mov dword [ebp - 0xd7c], eax
movups xmmword [0x10232160], xmm0
mov dword [0x10232190], 0
mov dword [0x10232200], 0
mov dword [0x102321f0], eax
movq xmm0, qword [esi + 0x24]
lea edx, [ebp - 0xc88]
mov eax, dword [esi + 0x2c]
lea ecx, [ebp - 0xed0]
push dword [0x10232184]
movq qword [ebp - 0xed0], xmm0
mov dword [ebp - 0xec8], eax
call fcn.1001e840
mov ecx, dword [0x10232214]
add esp, 4
test al, al
je 0x10023f70
test ecx, ecx
jne 0x10023f40
push 0x4c4
call fcn.10029eb3
add esp, 4
mov dword [ebp - 0xed8], eax
mov ecx, eax
mov dword [ebp - 4], 0x1b
call fcn.100264c0
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10232214], ecx
cmp byte [ecx + 4], 0
je 0x10023f70
cvttss2si eax, dword [ebp - 0xc84]
push str.Zombies
push 0xffff8000
push eax
cvttss2si eax, dword [ebp - 0xc88]
push eax
call fcn.1001f6b0
mov ecx, dword [0x10232214]
add esp, 0x10
mov eax, dword [0x1023212c]
inc edi
mov dword [ebp - 0xdb0], edi
mov eax, dword [eax + 0x2c]
xor eax, 0x13e1855c
cmp edi, eax
jb 0x100212b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10029910
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0xe00]
call fcn.100257d0
push 0x50
lea eax, [ebp - 0xd70]
mov dword [ebp - 4], 0x15
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xd70]
call fcn.100254b0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xe00]
cmp dword [ebp - 0xdec], 0xf
mov eax, dword [ebp - 0xdf0]
cmova ecx, dword [ebp - 0xe00]
add eax, ecx
push eax
push ecx
lea eax, [ebp - 0xdd0]
push eax
lea ecx, [ebp - 0xd70]
call fcn.10025940
lea ecx, [ebp - 0xd70]
call fcn.100253f0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0xdd0]
cmp dword [ebp - 0xdbc], 7
xorps xmm0, xmm0
cmova edx, dword [ebp - 0xdd0]
sub esp, 0x18
mov esi, esp
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
lea edi, [ecx + 2]
mov dword [esi + 0x14], 0
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10024050
sub ecx, edi
sar ecx, 1
push ecx
push edx
mov ecx, esi
call fcn.10025e50
movss xmm0, dword [ebp - 0xd88]
addss xmm0, dword [0x10031874]
cvttss2si edx, dword [ebp - 0xd88]
push dword [0x10232144]
cvttss2si ecx, xmm0
push 0xffffffffffffffff
call fcn.1001f4d0
mov byte [ebp - 4], 0x15
add esp, 0x20
mov ecx, dword [ebp - 0xdbc]
cmp ecx, 7
jbe 0x100240d8
mov edx, dword [ebp - 0xdd0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100240ce
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xdec]
cmp ecx, 0xf
jbe 0x10024115
mov edx, dword [ebp - 0xe00]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002410b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002414b
push ecx
push edx
call fcn.10029e02
add esp, 8
mov dword [ebp - 0xdf0], 0
mov dword [ebp - 0xdec], 0xf
mov byte [ebp - 0xe00], 0
jmp 0x10023ab8
mov ecx, dword [0x10232214]
jmp 0x10023aca
mov edi, dword [ebp - 0xdb0]
jmp 0x10023e73
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop dword [eax]
insd dword es:[edi], dx
xor al, 2
adc byte [esp + esi], bh
add dl, byte [eax]
inc ebx
xor al, 2
adc byte [edx + 0x34], cl
add dl, byte [eax]
push ecx
xor al, 2
adc byte [eax + 0x34], bl
add dl, byte [eax]
pop edi
xor al, 2
adc byte [esi + 0x34], ah
add dl, byte [eax]
test al, 0x36
add dl, byte [eax]
scasd eax, dword es:[edi]
add dl, byte ss:[eax]
mov dh, 0x36
add dl, byte [eax]
mov ebp, 0xc4100236
add dl, byte ss:[eax]
retf