Function at 0x1000e690
Capabilities:
Access peb ldr_data
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100b69c3
push eax
mov dword fs:[0], esp
sub esp, 0xb0
cmp byte [0x102fefec], 0
je 0x1000ed79
push dword [0x102feff0]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1000ed79
test byte [0x102ff50c], 1
push esi
mov esi, dword [0x102ff478]
jne 0x1000ed78
cmp byte [0x102ff599], 0
jne 0x1000ed78
mov eax, dword [0x102ff564]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push edi
mov edi, dword [eax + 0x1c]
movss xmm1, dword [ecx + 0x28]
mov eax, dword [edx + 8]
movq xmm0, qword [edx]
movss xmm2, dword [ecx + 0x24]
mov dword [ebp - 0xa8], eax
lea eax, [ecx + 0xc]
mov dword [ebp - 0x1c], eax
movq qword [ebp - 0xb0], xmm0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + 0x30]
mov ecx, dword [0x10309160]
mov dword [ebp - 0x2c], eax
mov eax, dword fs:[0x2c]
movq qword [ebp - 0x28], xmm0
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x34], xmm2
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102ff5e8]
mov dword [ebp - 0x38], ecx
cmp eax, dword [ecx + 4]
jg 0x1000ed87
jmp 0x1000e776
mov edx, dword [ebp + 0xc]
movss xmm2, dword [ebp - 0x34]
movss xmm1, dword [ebp - 0x30]
cmp byte [0x102ff5ec], 0
jne 0x1000e7fd
movss xmm0, dword [edx]
movss dword [0x102ff544], xmm0
movss xmm0, dword [edx + 4]
movss dword [0x102ff548], xmm0
movss xmm0, dword [edx + 8]
movss dword [0x102ff54c], xmm0
movss dword [0x100e247c], xmm1
movss dword [0x100e2480], xmm2
mov dword [0x100e2484], 0x7f800000
movss xmm2, dword [edx]
movss xmm1, dword [edx + 4]
movss xmm0, dword [edx + 8]
subss xmm2, dword [0x102ff5dc]
subss xmm1, dword [0x102ff5e0]
subss xmm0, dword [0x102ff5e4]
movss dword [0x102ff550], xmm2
movss dword [0x102ff554], xmm1
movss dword [0x102ff558], xmm0
movss xmm0, dword [edx]
lea ecx, [edi - 1]
mov edi, dword [ebp - 0x2c]
movss dword [0x102ff5dc], xmm0
and edi, 4
movss xmm0, dword [edx + 4]
movss dword [0x102ff5e0], xmm0
movss xmm0, dword [edx + 8]
mov byte [0x102ff5ec], 0
movss dword [0x102ff5e4], xmm0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edi
mov eax, dword [0x102ff5f0]
test eax, eax
je 0x1000e85c
mov dword [ebp - 0x10], eax
mov dword [0x102ff5f0], 0
mov eax, dword [0x100e2460]
push ecx
push 0
mov eax, dword [eax]
call eax
mov eax, dword [ebp - 0x10]
test edi, edi
je 0x1000e87d
cmp eax, 2
mov ecx, 2
cmovl eax, ecx
mov dword [ebp - 0x10], eax
movss xmm0, dword [0x102ff544]
not al
mov edi, dword [ebp - 0x1c]
and al, 1
mov edx, dword [ebp + 8]
mov byte [0x102ff52d], al
mov eax, dword [ebp - 0x2c]
movss dword [edi], xmm0
movss xmm0, dword [0x102ff548]
movss dword [edi + 4], xmm0
movss xmm0, dword [0x102ff54c]
movss dword [edi + 8], xmm0
mov dword [edx + 0x30], eax
movss xmm0, dword [0x100e247c]
movss dword [edx + 0x28], xmm0
movss xmm0, dword [0x100e2480]
movss dword [edx + 0x24], xmm0
mov dword [ebp - 0x3c], 0
nop dword [eax]
mov ecx, dword [edx + 0x30]
mov eax, ecx
and eax, 0xfffffffb
or ecx, 4
cmp dword [ebp - 0x10], 1
cmovle ecx, eax
mov dword [edx + 0x30], ecx
cmp byte [0x102ff52d], 0
je 0x1000e945
movss xmm0, dword [0x102ff550]
lea eax, [ebp - 0xbc]
addss xmm0, dword [edi]
push eax
mov ecx, edi
movss dword [edi], xmm0
movss xmm0, dword [0x102ff554]
addss xmm0, dword [edi + 4]
movss dword [edi + 4], xmm0
movss xmm0, dword [0x102ff558]
addss xmm0, dword [edi + 8]
movss dword [edi + 8], xmm0
call fcn.1000e5c0
mov edx, dword [ebp + 8]
jmp 0x1000e953
mov dword [edx + 0x28], 0
mov dword [edx + 0x24], 0
mov ecx, dword [0x102ff534]
push edx
call fcn.100385b0
mov ecx, dword [0x102ff534]
call fcn.10038560
mov ecx, dword [ebp - 0x38]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
mov eax, dword [0x102ff58c]
cmp eax, dword [ecx + 4]
jg 0x1000edca
mov ecx, dword [ebp - 0x14]
sub esp, 8
mov eax, dword [0x102ff588]
movss xmm0, dword [eax + ecx + 8]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp qword [esp]
call fcn.10098a30
fstp dword [ebp - 0x14]
fld dword [0x102ff510]
fstp qword [esp]
call fcn.10098a30
movss xmm0, dword [ebp - 0x14]
add esp, 8
fstp dword [ebp - 0x18]
comiss xmm0, dword [ebp - 0x18]
jbe 0x1000e9f2
mov ecx, dword [esi]
call fcn.10011280
test byte [eax], 1
jne 0x1000e9f2
xorps xmm0, xmm0
comiss xmm0, dword [0x102ff510]
jbe 0x1000e9f2
mov ecx, dword [esi]
call fcn.10011400
xorps xmm0, xmm0
comiss xmm0, dword [eax + 8]
ja 0x1000eaf7
movss xmm0, dword [0x102ff514]
xorps xmm0, xmmword [0x100bc630]
comiss xmm0, dword [0x102ff510]
jbe 0x1000ea6c
fld dword [0x102ff514]
push ecx
fstp dword [esp]
call fcn.10098b2d
mov ecx, dword [esi]
add esp, 4
fstp dword [ebp - 0x14]
call fcn.10011400
push ecx
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call fcn.10098b2d
movss xmm1, dword [ebp - 0x14]
add esp, 4
xorps xmm1, xmmword [0x100bc630]
fstp dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000ea6c
mov ecx, dword [esi]
call fcn.10088af0
cmp eax, 9
jne 0x1000ebd1
mov ecx, dword [ebp - 0x38]
mov eax, dword [esi]
mov dword [ebp - 0x18], eax
mov eax, dword [0x102ff58c]
cmp eax, dword [ecx + 4]
jg 0x1000ef36
cmp byte [0x102ff599], 0
mov eax, dword [0x102ff588]
mov ecx, dword [ebp - 0x18]
movss xmm0, dword [ecx + eax + 8]
movss dword [0x102ff510], xmm0
jne 0x1000eca1
mov ecx, dword [esi]
call fcn.10011280
test byte [eax], 1
jne 0x1000ead6
mov ecx, dword [esi]
call fcn.10088af0
cmp eax, 9
je 0x1000ead6
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x1c]
inc eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
cmp eax, 0x40
jl 0x1000e8e0
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, 4
jge 0x1000ec2b
mov edi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
jmp 0x1000e846
cmp byte [0x102ff52d], 0
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x30]
mov dword [0x102ff518], eax
je 0x1000eba8
movss xmm2, dword [0x102ff554]
movss xmm1, dword [0x102ff558]
movss xmm0, dword [0x102ff550]
addss xmm2, dword [0x102ff548]
addss xmm1, dword [0x102ff54c]
addss xmm0, dword [0x102ff544]
mov eax, dword [ebp + 0xc]
movss dword [eax], xmm0
movss dword [eax + 4], xmm2
movss dword [eax + 8], xmm1
lea ecx, [ebp - 0xbc]
mov byte [0x102ff5ec], 1
push ecx
mov ecx, eax
call fcn.1000e5c0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax]
movss dword [0x102ff544], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x102ff548], xmm0
movss xmm0, dword [eax + 8]
movss dword [0x102ff54c], xmm0
movss xmm0, dword [0x100e247c]
movss dword [esi + 0x28], xmm0
movss xmm0, dword [0x100e2480]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [ebp - 0x28]
mov byte [0x102ff599], 1
movss dword [edi], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [edi + 4], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [edi + 8], xmm0
jmp 0x1000ed6f
cmp byte [0x102ff52d], 0
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x30]
mov dword [0x102ff518], eax
je 0x1000eba8
movss xmm2, dword [0x102ff550]
movss xmm1, dword [0x102ff554]
movss xmm0, dword [0x102ff558]
addss xmm2, dword [0x102ff544]
addss xmm1, dword [0x102ff548]
addss xmm0, dword [0x102ff54c]
mov eax, dword [ebp + 0xc]
movss dword [eax], xmm2
movss dword [eax + 4], xmm1
movss dword [eax + 8], xmm0
jmp 0x1000eb50
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x28]
mov esi, dword [ebp + 8]
pop edi
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [eax + 8], xmm0
mov eax, dword [ebp + 0xc]
movss xmm0, dword [ebp - 0xb0]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0xac]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [eax + 8], xmm0
movss xmm0, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
movss dword [esi + 0x28], xmm0
movss xmm0, dword [ebp - 0x34]
mov dword [esi + 0x30], eax
movss dword [esi + 0x24], xmm0
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp byte [0x102ff52d], 0
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x30]
mov dword [0x102ff518], eax
je 0x1000ed4f
movss xmm2, dword [0x102ff550]
lea eax, [ebp - 0xbc]
movss xmm1, dword [0x102ff554]
movss xmm0, dword [0x102ff558]
addss xmm2, dword [0x102ff544]
addss xmm1, dword [0x102ff548]
addss xmm0, dword [0x102ff54c]
mov edi, dword [ebp + 0xc]
mov ecx, edi
push eax
mov byte [0x102ff5ec], 1
movss dword [edi], xmm2
movss dword [edi + 4], xmm1
movss dword [edi + 8], xmm0
call fcn.1000e5c0
movss xmm0, dword [edi]
movss dword [0x102ff544], xmm0
movss xmm0, dword [edi + 4]
movss dword [0x102ff548], xmm0
movss xmm0, dword [edi + 8]
movss dword [0x102ff54c], xmm0
movss xmm0, dword [0x100e247c]
movss dword [esi + 0x28], xmm0
movss xmm0, dword [0x100e2480]
movss dword [esi + 0x24], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x28]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [eax + 8], xmm0
mov eax, dword [ebp - 0x10]
mov dword [0x102ff5f0], eax
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 0x102ff5e8
call fcn.1008b53e
add esp, 4
cmp dword [0x102ff5e8], 0xffffffff
jne 0x1000e769
mov eax, dword [ebp + 0xc]
push 0x102ff5e8
movq xmm0, qword [eax]
movq qword [0x102ff5dc], xmm0
mov eax, dword [eax + 8]
mov dword [0x102ff5e4], eax
call fcn.1008b4ed
add esp, 4
jmp 0x1000e769
push 0x102ff58c
call fcn.1008b53e
add esp, 4
cmp dword [0x102ff58c], 0xffffffff
jne 0x1000e983
mov dword [ebp - 4], 0
call fcn.10009be0
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
push 0x20
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x58], 0xf
mov edi, eax
movups xmmword [ebp - 0x6c], xmm0
call fcn.10009fc0
movups xmm0, xmmword [str.m_vecVelocity_0_]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x5c], 0x10
mov dword [ebp - 0x58], 0x1f
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
mov eax, dword [0x100bc598]
xorps xmm0, xmm0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x4c], eax
movq xmm0, qword [str.DT_BasePlayer]
mov al, byte [0x100bc59c]
mov dword [ebp - 0x44], 0xd
mov dword [ebp - 0x40], 0xf
movq qword [ebp - 0x54], xmm0
mov byte [ebp - 0x48], al
mov byte [ebp - 0x47], 0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x54]
mov ecx, edi
push eax
call fcn.1008a900
mov ecx, dword [ebp - 0x40]
mov dword [0x102ff588], eax
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x1000eeba
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000eeae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f0d1
jmp 0x1000eeae
push ecx
push edx
call fcn.1008ae69
add esp, 8
jmp 0x1000eeba
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
mov byte [ebp - 4], 0
cmp ecx, 0x10
jb 0x1000ef08
mov edx, dword [ebp - 0x6c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000eefc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f0d1
jmp 0x1000eefc
push ecx
push edx
call fcn.1008ae69
add esp, 8
jmp 0x1000ef08
push 0x102ff58c
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
mov dword [ebp - 4], 0xffffffff
call fcn.1008b4ed
mov edi, dword [ebp - 0x1c]
add esp, 4
jmp 0x1000e983
push 0x102ff58c
call fcn.1008b53e
add esp, 4
cmp dword [0x102ff58c], 0xffffffff
jne 0x1000ea85
mov dword [ebp - 4], 3
call fcn.10009be0
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
push 0x20
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x88], 0xf
mov edi, eax
movups xmmword [ebp - 0x9c], xmm0
call fcn.10009fc0
movups xmm0, xmmword [str.m_vecVelocity_0_]
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x8c], 0x10
mov dword [ebp - 0x88], 0x1f
movups xmmword [eax], xmm0
mov byte [eax + 0x10], 0
mov eax, dword [0x100bc598]
xorps xmm0, xmm0
movups xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], eax
movq xmm0, qword [str.DT_BasePlayer]
mov al, byte [0x100bc59c]
mov dword [ebp - 0x74], 0xd
mov dword [ebp - 0x70], 0xf
movq qword [ebp - 0x84], xmm0
mov byte [ebp - 0x78], al
mov byte [ebp - 0x77], 0
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x84]
mov ecx, edi
push eax
call fcn.1008a900
mov ecx, dword [ebp - 0x70]
mov dword [0x102ff588], eax
mov byte [ebp - 4], 4
cmp ecx, 0x10
jb 0x1000f04a
mov edx, dword [ebp - 0x84]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000f03e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f0d1
jmp 0x1000f03e
push ecx
push edx
call fcn.1008ae69
add esp, 8
jmp 0x1000f04a
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0xf
mov byte [ebp - 0x84], 0
mov byte [ebp - 4], 3
cmp ecx, 0x10
jb 0x1000f09d
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000f091
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000f0d1
jmp 0x1000f091
push ecx
push edx
call fcn.1008ae69
add esp, 8
jmp 0x1000f09d
push 0x102ff58c
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
mov dword [ebp - 4], 0xffffffff
call fcn.1008b4ed
add esp, 4
jmp 0x1000ea85
call fcn.10096ffe
int3