Function at 0x1007b250
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 0x100b8875
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x1e8
push esi
mov dword [ebp - 0x1c], 0
cmp byte [0x102ff023], 0
push edi
mov edi, 0xff
je 0x1007bb9a
mov eax, dword [0x102ff478]
cmp dword [eax], 0
je 0x1007c8f9
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10309160]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10307bc0]
mov dword [ebp - 0x18], ecx
cmp eax, dword [ecx + 4]
jg 0x1007c90c
mov ecx, dword [0x102ff468]
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov eax, dword [0x102ff478]
mov dword [ebp - 0x24], 0x3f800000
mov dword [ebp - 0x1c], 0
mov ecx, dword [eax]
call fcn.1007adb0
push dword [0x102ff200]
xorps xmm1, xmm1
lea edx, [ebp - 0x28]
push dword [0x102ff1fc]
movss xmm0, dword [eax]
lea ecx, [ebp - 0x1c]
divss xmm0, dword [0x100c8928]
lea esi, [ebp - 0x24]
push dword [0x102ff1f8]
comiss xmm1, xmm0
push dword [0x102ff1f4]
movss dword [ebp - 0x28], xmm0
seta al
test al, al
cmove ecx, edx
comiss xmm0, dword [0x100bc600]
seta al
test al, al
cmove esi, ecx
lea ecx, [ebp - 0x98]
call fcn.1008a020
push dword [0x102ff210]
lea ecx, [ebp - 0x40]
push dword [0x102ff20c]
movups xmm0, xmmword [eax]
push dword [0x102ff208]
movups xmmword [ebp - 0x68], xmm0
push dword [0x102ff204]
call fcn.1008a020
movups xmm3, xmmword [ebp - 0x68]
movss xmm4, dword [esi]
movups xmm2, xmmword [eax]
movaps xmm0, xmm3
psrldq xmm0, 0xc
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 0xc
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 8
cvttss2si esi, xmm1
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
movaps xmm0, xmm3
psrldq xmm0, 4
movd eax, xmm0
movaps xmm0, xmm2
psrldq xmm0, 4
cvttss2si edx, xmm1
movd xmm1, eax
movd eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push esi
push edx
movd eax, xmm3
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si ecx, xmm1
movd xmm1, eax
movd eax, xmm2
cvtdq2ps xmm1, xmm1
push ecx
lea ecx, [ebp - 0x58]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm0
cvttss2si eax, xmm1
push eax
call fcn.1008a020
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0xf
mov byte [ebp - 0xf8], 0
mov eax, dword [0x102ff478]
mov dword [ebp - 4], 0
mov ecx, dword [eax]
call fcn.1007adb0
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [eax]
mov eax, dword [0x10307bc4]
movss dword [ebp - 0x20], xmm0
cmp eax, dword [ecx + 4]
jg 0x1007c942
jmp 0x1007b4b7
movss xmm0, dword [ebp - 0x20]
cvtps2pd xmm0, xmm0
sub esp, 8
lea eax, [ebp - 0x1e0]
movsd qword [esp], xmm0
push str._.1f
push eax
call fcn.1007c9d0
movups xmm0, xmmword [0x102ff234]
add esp, 0x10
mov dword [ebp - 0x1c0], 0x100c2e80
mov dword [ebp - 0x1b0], 0x100c2e88
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
push 0
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 1
push eax
lea ecx, [ebp - 0x158]
mov dword [ebp - method.std::basic_istream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov dword [ebp - 0x15c], 0x50
movlpd qword [ebp - 0x1b8], xmm0
call fcn.100359d0
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1b4], eax
mov eax, dword [ebp - 0x1c0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x1c4], eax
mov eax, dword [ebp - 0x1c0]
push 8
mov dword [ebp - 4], 6
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1c4], eax
mov dword [ebp - method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.1008ae39
mov esi, eax
add esp, 4
test esi, esi
je 0x1007b604
push 1
mov byte [ebp - 4], 7
call fcn.1008cefa
add esp, 4
mov dword [esi + 4], eax
jmp 0x1007b606
xor esi, esi
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x174], esi
call fcn.10034ec0
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x1b0]
movss xmm0, dword [ebp - 0x20]
push 0
mov byte [ebp - 4], 8
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0x19c]
and eax, 0xffffefff
or eax, 0x2000
mov dword [ebp + ecx - 0x19c], eax
xor eax, eax
comiss xmm0, dword [0x100bc6f8]
seta al
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.1008d542
lea edx, [ebp - 0x1b0]
push dword [eax + 0xc]
mov ecx, dword [eax]
push dword [eax + 8]
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax + 4]
add eax, edx
push eax
call ecx
movss xmm0, dword [ebp - 0x20]
lea ecx, [ebp - 0x1b0]
add esp, 0x14
movss dword [esp], xmm0
call fcn.10078fe0
mov eax, dword [ebp - 0x16c]
xorps xmm0, xmm0
and al, 0x22
mov byte [ebp - 4], 9
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x1c], 0x21
movq qword [ebp - 0x3c], xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x88], xmm0
mov byte [ebp - 0x88], 0
cmp al, 2
je 0x1007b715
mov eax, dword [ebp - 0x188]
mov ecx, dword [eax]
test ecx, ecx
je 0x1007b715
mov eax, dword [ebp - 0x198]
cmp ecx, dword [ebp - 0x170]
cmovb ecx, dword [ebp - 0x170]
mov edx, dword [eax]
sub ecx, edx
jmp 0x1007b746
test byte [ebp - 0x16c], 4
jne 0x1007b740
mov eax, dword [ebp - 0x18c]
mov esi, dword [eax]
test esi, esi
je 0x1007b740
mov eax, dword [ebp - 0x19c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax]
add ecx, esi
sub ecx, edx
jmp 0x1007b746
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x1007b757
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.10035150
movups xmm0, xmmword [ebp - 0x88]
lea esi, [ebp - 0x24]
mov dword [ebp - 0x28], 0xff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 4], 8
movq xmm0, qword [ebp - 0x78]
movq qword [ebp - 0xe8], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x100c1038]
cvttss2si edx, xmm0
mov eax, edx
mov dword [ebp - 0x24], edx
shr eax, 0x1f
test al, al
lea eax, [ebp - 0x28]
cmove ecx, esi
cmp edx, 0xff
cmovle eax, ecx
mov esi, dword [eax]
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011280
test byte [eax], 1
je 0x1007b8eb
lea ecx, [ebp - 0x1e0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007b7d7
sub ecx, edx
lea eax, [ebp - 0x1e0]
push ecx
push eax
mov ecx, 0x100e27c8
call fcn.10035150
cmp byte [0x102ff254], 0
lea ecx, [ebp - 0xa8]
mov eax, edi
cmovne eax, esi
push eax
push 0
push 0
push 0
call fcn.1008a020
cmp byte [0x102ff256], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
je 0x1007b82d
movups xmm0, xmmword [ebp - 0x58]
lea eax, [ebp - 0x68]
movups xmmword [ebp - 0x68], xmm0
jmp 0x1007b84e
cmp byte [0x102ff254], 0
lea ecx, [ebp - 0x98]
mov eax, edi
cmovne eax, esi
push eax
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [ebp - 0x68]
call fcn.1008a020
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov esi, dword [ebp - 0x44]
sub esi, dword [0x102ff258]
mov dword [ebp - 0x1c], eax
inc esi
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cdq
sub eax, edx
mov edi, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
sar edi, 1
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
inc edi
movups xmmword [eax], xmm0
lea eax, [ebp - 0xf8]
push eax
call fcn.100265b0
push dword [ebp - 0x18]
mov ecx, dword [0x10307ad8]
movd xmm0, esi
sub esp, 8
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100742e0
mov eax, dword [0x102ff470]
movss xmm0, dword [eax + 0x10]
addss xmm0, dword [0x100c3f70]
cvttss2si eax, xmm0
mov dword [0x10307bc8], eax
jmp 0x1007bb4e
cmp byte [0x102ff254], 0
lea ecx, [ebp - 0xa8]
mov eax, edi
cmovne eax, esi
push eax
push 0
push 0
push 0
call fcn.1008a020
cmp byte [0x102ff256], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
je 0x1007b926
movups xmm0, xmmword [ebp - 0x58]
lea eax, [ebp - 0x68]
movups xmmword [ebp - 0x68], xmm0
jmp 0x1007b947
cmp byte [0x102ff254], 0
lea ecx, [ebp - 0x98]
mov eax, edi
cmovne eax, esi
push eax
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [ebp - 0x68]
call fcn.1008a020
mov ecx, dword [0x10307ad8]
sub esp, 0x10
mov esi, dword [ebp - 0x44]
sub esi, dword [0x102ff258]
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
inc esi
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x14]
cdq
sub eax, edx
mov edi, eax
mov eax, esp
push 1
sar edi, 1
push 1
movups xmmword [eax], xmm0
inc edi
sub esp, 0x10
movups xmm0, xmmword [ecx]
mov eax, esp
mov dword [ebp - 0xd0], 0
lea ecx, [ebp - 0x1e0]
mov dword [ebp - 0xcc], 0
lea edx, [ecx + 1]
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0xe0], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007b9b0
sub ecx, edx
lea eax, [ebp - 0x1e0]
push ecx
push eax
lea ecx, [ebp - 0xe0]
call fcn.1000d3f0
push 2
push 0x100c8800
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0xa
call fcn.1000f850
mov dword [ebp - 0x78], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x74], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x78], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x100e27c8
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.100788f0
sub esp, 0xc
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x18], esp
mov ecx, eax
push 1
push 0x100c87fc
call fcn.1000f850
mov ecx, dword [ebp - 0x18]
xorps xmm0, xmm0
push dword [ebp - 0x24]
sub esp, 8
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [0x10307ad8]
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100742e0
lea ecx, [ebp - 0x110]
call fcn.10009870
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0xa
cmp ecx, 0x10
jb 0x1007bafb
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007baf1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007c9bb
push ecx
push edx
call fcn.1008ae69
add esp, 8
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
mov byte [ebp - 4], 8
cmp ecx, 0x10
jb 0x1007bb4e
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007bb44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007c9bb
push ecx
push edx
call fcn.1008ae69
add esp, 8
lea ecx, [ebp - 0x1c0]
call fcn.10030f50
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0x10
jb 0x1007bb9a
mov edx, dword [ebp - 0xf8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007bb90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007c9c0
push ecx
push edx
call fcn.1008ae69
add esp, 8
cmp byte [0x102fef96], 0
je 0x1007c3d7
mov ecx, dword [0x102ff468]
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x2c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [0x102ff478]
cmp dword [esi], 0
je 0x1007c8f9
mov ecx, dword [esi]
call fcn.10011400
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x3c], xmm0
movss xmm1, dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x38]
mulss xmm1, xmm1
mov dword [ebp - 0x34], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1007bc07
sqrtsd xmm0, xmm0
jmp 0x1007bc0c
call fcn.100979e0
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.10098b2d
mov ecx, dword [esi]
add esp, 4
fstp dword [ebp - 0x1c]
call fcn.10011400
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1007bc55
sqrtsd xmm0, xmm0
jmp 0x1007bc5a
call fcn.100979e0
cvtsd2ss xmm0, xmm0
mov dword [ebp - 0x28], 0x3f800000
mov dword [ebp - 0x18], 0
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x100bc728]
cvttsd2si eax, xmm0
mov dword [ebp - 0x14], eax
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1007bcb2
sqrtsd xmm0, xmm0
jmp 0x1007bcb7
call fcn.100979e0
cvtsd2ss xmm0, xmm0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x18]
lea edi, [ebp - 0x28]
push dword [0x102ff230]
divss xmm0, dword [0x100c892c]
push dword [0x102ff22c]
xorps xmm1, xmm1
movss dword [ebp - 0x24], xmm0
comiss xmm1, xmm0
push dword [0x102ff228]
push dword [0x102ff224]
seta al
test al, al
cmove ecx, edx
comiss xmm0, dword [0x100bc600]
seta al
test al, al
cmove edi, ecx
lea ecx, [ebp - 0x68]
call fcn.1008a020
push dword [0x102ff220]
lea ecx, [ebp - 0x40]
push dword [0x102ff21c]
movups xmm0, xmmword [eax]
push dword [0x102ff218]
movups xmmword [ebp - 0x58], xmm0
push dword [0x102ff214]
call fcn.1008a020
movss xmm0, dword [edi]
sub esp, 0x14
mov ecx, esp
movss dword [esp + 0x10], xmm0
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x98]
push eax
movups xmmword [ecx], xmm0
call fcn.1007ad10
mov edi, dword [ebp - 0x14]
add esp, 0x28
movss xmm1, dword [0x10307b94]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007bd9c
push dword [0x102ff100]
lea ecx, [ebp - 0x68]
push dword [0x102ff0fc]
push dword [0x102ff0f8]
call fcn.10089ff0
jmp 0x1007bde3
comiss xmm1, xmm0
jbe 0x1007bdb7
mov eax, dword [0x102ff144]
lea ecx, [ebp - 0x40]
mov edx, dword [0x102ff148]
mov edi, dword [0x102ff14c]
jmp 0x1007bdce
mov eax, dword [0x102ff0e8]
lea ecx, [ebp - 0xc0]
mov edx, dword [0x102ff0ec]
mov edi, dword [0x102ff0f0]
push edi
push edx
push eax
call fcn.10089ff0
mov edi, dword [ebp - 0x14]
movups xmm0, xmmword [eax]
lea eax, [ebp - 0x58]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movups xmmword [ebp - 0x68], xmm0
movss xmm0, dword [0x10307b94]
comiss xmm0, xmm1
jbe 0x1007be08
lea ecx, [ebp - 0xc0]
xor eax, eax
jmp 0x1007be10
lea ecx, [ebp - 0x58]
mov eax, 0xaa
push eax
push 0xff
push 0xff
push 0xff
call fcn.1008a020
lea eax, [ebp - 0x110]
push edi
push eax
call fcn.10037750
mov eax, dword [0x102ff470]
mov dword [ebp - 4], 0xd
push dword [eax + 0x1c]
lea eax, [ebp - 0xe0]
push eax
call fcn.10037750
add esp, 0x10
mov ecx, dword [0x102ff470]
mov eax, dword [0x10307b90]
add eax, 5
mov byte [ebp - 4], 0xe
cmp eax, dword [ecx + 0x1c]
jge 0x1007be7e
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [0x10307b94], xmm0
mov eax, dword [ecx + 0x1c]
mov dword [0x10307b90], eax
cmp dword [ecx + 0x1c], 0x7d0
jg 0x1007bea0
xor edi, edi
lea ecx, [ebp - 0x110]
push edi
push 0x100bb610
call fcn.10035150
mov dword [0x10307b90], edi
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011280
test byte [eax], 1
je 0x1007bee3
cmp byte [0x10307b80], 0
je 0x1007bec1
mov byte [0x10307b80], 0
push edi
mov ecx, 0x100e2798
call fcn.10078fb0
movzx eax, byte [0x10307b80]
mov ecx, 0x100e27b0
push eax
call fcn.10078fb0
jmp 0x1007bf6d
cmp byte [0x10307b80], 0
jne 0x1007bf6d
cvttss2si eax, dword [ebp - 0x1c]
mov byte [0x10307b80], 1
push eax
mov dword [0x10307b84], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.10037750
push eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xf
push 0x100c8800
push eax
call fcn.100789c0
push 0x100c87fc
push eax
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x10
push eax
call fcn.10078950
add esp, 0x20
mov ecx, 0x100e27b0
push eax
call fcn.10078f70
lea ecx, [ebp - 0x88]
call fcn.10009870
lea ecx, [ebp - 0xc8]
call fcn.10009870
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0xe
call fcn.10009870
cvttss2si ecx, dword [ebp - 0x1c]
mov edi, 0xff
mov eax, edi
cmp ecx, eax
cmovl eax, ecx
mov ecx, dword [esi]
mov dword [ebp - 0x18], eax
call fcn.10088af0
cmp eax, 8
je 0x1007c3ba
cmp byte [0x102ff128], 0
lea ecx, [ebp - 0xc0]
mov esi, dword [ebp - 0x18]
mov eax, edi
cmovne eax, esi
push eax
push 0
push 0
push 0
call fcn.1008a020
cmp byte [0x102ff255], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
je 0x1007bfd2
movups xmm0, xmmword [ebp - 0x98]
lea eax, [ebp - 0x58]
movups xmmword [ebp - 0x58], xmm0
jmp 0x1007bff1
cmp byte [0x102ff128], 0
lea ecx, [ebp - 0xa8]
cmovne edi, esi
push edi
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [ebp - 0x68]
call fcn.1008a020
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov esi, dword [ebp - 0x44]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x2c]
cdq
sub esi, dword [0x102ff12c]
sub eax, edx
mov edi, eax
inc esi
mov eax, esp
sar edi, 1
push 1
push 1
sub esp, 0x10
inc edi
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
cvttss2si eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x1f8]
push eax
call fcn.10037750
sub esp, 0x10
mov byte [ebp - 4], 0x11
mov ecx, esp
push 0x100e27b0
push eax
push ecx
call fcn.100788f0
mov ecx, dword [0x10307ad8]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
push dword [ebp - 0x18]
sub esp, 8
movss dword [esp + 4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call fcn.100742e0
lea ecx, [ebp - 0x1f8]
mov byte [ebp - 4], 0xe
call fcn.10009870
mov eax, dword [0x102ff478]
cmp dword [eax], 0
jne 0x1007c0d3
lea ecx, [ebp - 0xe0]
mov dword [0x10307b94], 0
call fcn.10009870
lea ecx, [ebp - 0x110]
call fcn.10009870
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [0x102ff468]
lea edx, [ebp - 0x24]
push edx
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [0x102ff478]
mov ecx, dword [esi]
call fcn.10011400
movq xmm0, qword [eax]
movq qword [ebp - 0x3c], xmm0
movss xmm1, dword [ebp - 0x3c]
movss xmm0, dword [ebp - 0x38]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1007c124
sqrtsd xmm0, xmm0
jmp 0x1007c129
call fcn.100979e0
cvtsd2ss xmm0, xmm0
push ecx
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.10098b2d
mov ecx, dword [esi]
add esp, 4
fstp dword [ebp - 0x14]
call fcn.10011400
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1007c172
sqrtsd xmm0, xmm0
jmp 0x1007c177
call fcn.100979e0
cvtsd2ss xmm0, xmm0
movss xmm1, dword [0x10307b94]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [0x100bc728]
cvttsd2si eax, xmm0
mov dword [ebp - 0x18], eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007c1bf
mov eax, dword [0x102ff0f8]
lea ecx, [ebp - 0xc0]
mov edx, dword [0x102ff0fc]
mov edi, dword [0x102ff100]
jmp 0x1007c1f1
comiss xmm1, xmm0
jbe 0x1007c1dd
mov eax, dword [0x102ff144]
lea ecx, [ebp - 0xa8]
mov edx, dword [0x102ff148]
mov edi, dword [0x102ff14c]
jmp 0x1007c1f1
mov eax, dword [0x102ff0e8]
lea ecx, [ebp - 0x58]
mov edx, dword [0x102ff0ec]
mov edi, dword [0x102ff0f0]
push edi
push edx
push eax
call fcn.10089ff0
mov edi, dword [ebp - 0x18]
movss xmm0, dword [0x10307b94]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1007c21a
lea ecx, [ebp - 0xc0]
xor eax, eax
jmp 0x1007c225
lea ecx, [ebp - 0xa8]
mov eax, 0xaa
push eax
push 0xff
push 0xff
push 0xff
call fcn.1008a020
lea eax, [ebp - 0x88]
push edi
push eax
call fcn.10037750
mov eax, dword [0x102ff470]
mov byte [ebp - 4], 0x12
push dword [eax + 0x1c]
lea eax, [ebp - 0x1dc]
push eax
call fcn.10037750
add esp, 0x10
mov ecx, dword [0x102ff470]
mov eax, dword [0x10307b90]
add eax, 5
mov byte [ebp - 4], 0x13
cmp eax, dword [ecx + 0x1c]
jge 0x1007c290
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [0x10307b94], xmm0
mov eax, dword [ecx + 0x1c]
mov dword [0x10307b90], eax
cmp dword [ecx + 0x1c], 0x7d0
jg 0x1007c2b2
xor edi, edi
lea ecx, [ebp - 0x88]
push edi
push 0x100bb610
call fcn.10035150
mov dword [0x10307b90], edi
cvttss2si eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10037750
add esp, 8
mov eax, dword [0x102ff478]
mov byte [ebp - 4], 0x14
mov ecx, dword [eax]
call fcn.10011280
test byte [eax], 1
je 0x1007c30b
cmp byte [0x10307b80], 0
je 0x1007c2e9
mov byte [0x10307b80], 0
push edi
mov ecx, 0x100e2798
call fcn.10078fb0
movzx eax, byte [0x10307b80]
mov ecx, 0x100e27b0
push eax
call fcn.10078fb0
jmp 0x1007c395
cmp byte [0x10307b80], 0
jne 0x1007c395
cvttss2si eax, dword [ebp - 0x14]
mov byte [0x10307b80], 1
push eax
mov dword [0x10307b84], eax
lea eax, [ebp - 0xb0]
push eax
call fcn.10037750
push eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x15
push 0x100c8800
push eax
call fcn.100789c0
push 0x100c87fc
push eax
lea eax, [ebp - 0x1f8]
mov byte [ebp - 4], 0x16
push eax
call fcn.10078950
add esp, 0x20
mov ecx, 0x100e27b0
push eax
call fcn.10078f70
lea ecx, [ebp - 0x1f8]
call fcn.10009870
lea ecx, [ebp - 0xc8]
call fcn.10009870
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x14
call fcn.10009870
mov ecx, dword [esi]
call fcn.10088af0
lea ecx, [ebp - 0x70]
call fcn.10009870
lea ecx, [ebp - 0x1dc]
call fcn.10009870
lea ecx, [ebp - 0x88]
call fcn.10009870
lea ecx, [ebp - 0xe0]
call fcn.10009870
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.10009870
cmp byte [0x102fef20], 0
je 0x1007c8f9
mov ecx, dword [0x102ff468]
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
movd xmm1, dword [ebp - 0x48]
movd xmm0, dword [0x102ff130]
push dword [0x102feff0]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si edi, xmm1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1007c54b
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
call fcn.1008a020
cmp byte [0x102ff599], 0
push 0xff
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
je 0x1007c4b5
movd xmm0, dword [0x102ff120]
lea ecx, [ebp - 0x98]
movss xmm3, dword [0x100c1580]
movd xmm1, dword [0x102ff11c]
movd xmm2, dword [0x102ff118]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1008a020
lea eax, [ebp - 0x98]
jmp 0x1007c4c7
push 0xff
push 0xff
lea ecx, [ebp - 0x68]
call fcn.10089ff0
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
cvtdq2ps xmm1, xmm1
push esi
sub esp, 8
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100c8804]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x10307ad8]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100742e0
add edi, 0x23
push dword [0x102feff8]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1007c684
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
call fcn.1008a020
cmp byte [0x102ff598], 0
push 0xff
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
je 0x1007c5ee
movd xmm0, dword [0x102ff120]
lea ecx, [ebp - 0x98]
movss xmm3, dword [0x100c1580]
movd xmm1, dword [0x102ff11c]
movd xmm2, dword [0x102ff118]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1008a020
lea eax, [ebp - 0x98]
jmp 0x1007c600
push 0xff
push 0xff
lea ecx, [ebp - 0x68]
call fcn.10089ff0
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
cvtdq2ps xmm1, xmm1
push esi
sub esp, 8
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100bd918]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x10307ad8]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100742e0
add edi, 0x23
push dword [0x102fefe8]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1007c7bd
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xc0]
call fcn.1008a020
cmp byte [0x102ff59c], 0
push 0xff
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
je 0x1007c727
movd xmm0, dword [0x102ff120]
lea ecx, [ebp - 0x98]
movss xmm3, dword [0x100c1580]
movd xmm1, dword [0x102ff11c]
movd xmm2, dword [0x102ff118]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1008a020
lea eax, [ebp - 0x98]
jmp 0x1007c739
push 0xff
push 0xff
lea ecx, [ebp - 0x68]
call fcn.10089ff0
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x58]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
cvtdq2ps xmm1, xmm1
push esi
sub esp, 8
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100bcf88]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x10307ad8]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100742e0
add edi, 0x23
push dword [0x102fef68]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1007c8f9
push 0xff
push 0
push 0
push 0
lea ecx, [ebp - 0xd8]
call fcn.1008a020
cmp byte [0x102ff59b], 0
push 0xff
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x98], xmm0
je 0x1007c863
movd xmm0, dword [0x102ff120]
lea ecx, [ebp - 0xa8]
movss xmm3, dword [0x100c1580]
movd xmm1, dword [0x102ff11c]
movd xmm2, dword [0x102ff118]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
divss xmm0, xmm3
divss xmm1, xmm3
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
divss xmm2, xmm3
cvttss2si eax, xmm0
mulss xmm1, xmm3
push eax
mulss xmm2, xmm3
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
call fcn.1008a020
lea eax, [ebp - 0xa8]
jmp 0x1007c875
push 0xff
push 0xff
lea ecx, [ebp - 0x80]
call fcn.10089ff0
mov ecx, dword [0x10307ad8]
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x98]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov esi, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
inc eax
movd xmm1, eax
mov eax, esp
push 1
push 1
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
sub esp, 0x18
movups xmm0, xmmword [ecx]
mov ecx, esp
cvtdq2ps xmm1, xmm1
push esi
sub esp, 8
movups xmmword [eax], xmm0
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 2
movd xmm0, edi
mov dword [ecx + 0x14], 0xf
mov ax, word [0x100bcf78]
cvtdq2ps xmm0, xmm0
mov word [ecx], ax
mov byte [ecx + 2], 0
mov ecx, dword [0x10307ad8]
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.100742e0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0x10307bc0
call fcn.1008b53e
add esp, 4
cmp dword [0x10307bc0], 0xffffffff
jne 0x1007b2ce
push 0x100b9f70
call fcn.1008b17c
push 0x10307bc0
call fcn.1008b4ed
add esp, 8
jmp 0x1007b2ce
push 0x10307bc4
call fcn.1008b53e
add esp, 4
cmp dword [0x10307bc4], 0xffffffff
jne 0x1007b4b2
movd xmm0, dword [0x102ff234]
movss xmm1, dword [0x100c0954]
cvtdq2ps xmm0, xmm0
push 0x10307bc4
mulss xmm0, xmm1
movss dword [0x100e27e0], xmm0
movd xmm0, dword [0x102ff238]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [0x100e27e4], xmm0
movd xmm0, dword [0x102ff23c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [0x100e27e8], xmm0
call fcn.1008b4ed
add esp, 4
jmp 0x1007b4b2
call fcn.10096ffe
call fcn.10096ffe
int3