Function at 0x100435cd
Capabilities:
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [0x10151388]
sub esp, 0x6c
push ebp
xor ebp, ebp
cmp dword [eax + 0x6f32], ebp
je 0x10043914
cmp dword [eax + 0x10d], ebp
jne 0x10043914
call fcn.1002a149
test eax, eax
jne 0x10043914
cmp dword [0x10188298], ebp
je 0x10043914
cmp dword [0x1017aac8], ebp
je 0x10043914
cmp dword [0x1017aacc], ebp
je 0x10043914
push esi
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 9
call esi
test ax, ax
jns 0x1004363d
cmp dword [0x1015e330], ebp
jne 0x10043913
mov eax, dword [0x1017aae0]
cmp dword [eax], ebp
jne 0x10043913
push 0x79
call esi
test ax, ax
js 0x10043913
cmp dword [0x101882ac], ebp
je 0x10043913
push dword [0x101882b4]
call fcn.1002a3ed
pop ecx
test eax, eax
jne 0x10043913
mov eax, dword [0x10151388]
push dword [eax + 0x54e5]
call fcn.1003f268
push ebp
push 0xffffffffffffffff
mov esi, eax
call fcn.10029da6
add esp, 0xc
test esi, esi
je 0x10043913
cmp eax, esi
je 0x10043913
mov ecx, dword [0x101882ac]
push ebx
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov ebx, eax
test ebx, ebx
je 0x10043912
mov ecx, dword [0x101173d4]
push edi
mov edx, dword [ecx]
call dword [edx + 0x3c]
mov esi, eax
mov ecx, esi
mov edi, dword [esi]
call dword [edi + 0x28]
movzx ecx, al
push ecx
mov ecx, esi
call dword [edi + 0x2c]
xor edi, edi
inc edi
mov esi, edi
cmp esi, edi
jl 0x100436ed
cmp esi, 8
jle 0x10043717
cmp esi, 0x15
jl 0x100436f7
cmp esi, 0x1a
jle 0x10043717
cmp esi, 0x1f
jl 0x10043701
cmp esi, 0x24
jle 0x10043717
cmp esi, 0x29
jl 0x1004370b
cmp esi, 0x2c
jle 0x10043717
lea eax, [esi - 0x33]
cmp eax, 3
ja 0x10043907
mov eax, dword [ebx]
lea ecx, [esp + 0x40]
and dword [esp + 0x40], ebp
and dword [esp + 0x44], ebp
and dword [esp + 0x48], ebp
and dword [esp + 0x4c], ebp
and dword [esp + 0x50], ebp
and dword [esp + 0x54], ebp
push ecx
push 8
mov ecx, ebx
call dword [eax + 0x74]
mov eax, dword [ebx]
lea ecx, [esp + 0x4c]
push ecx
push 0x2c
mov ecx, ebx
call dword [eax + 0x74]
movss xmm0, dword [esp + 0x40]
lea eax, [esp + 0x1c]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x5c], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x50]
push eax
movss dword [esp + 0x6c], xmm0
lea eax, [esp + 0x5c]
movss xmm0, dword [esp + 0x58]
push eax
movss dword [esp + 0x74], xmm0
call fcn.10006be3
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x70]
push eax
call fcn.10006be3
movss xmm0, dword [0x100783d0]
add esp, 0x10
comiss xmm0, dword [esp + 0x24]
ja 0x10043911
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x78]
ja 0x10043911
movss xmm0, dword [esp + 0x1c]
movaps xmm1, xmm0
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x20]
subss xmm0, dword [esp + 0x74]
subss xmm1, dword [esp + 0x70]
mov eax, dword [0x10151388]
and dword [esp + 0x28], ebp
and dword [esp + 0x2c], ebp
mulss xmm0, xmm0
and dword [esp + 0x30], ebp
mulss xmm1, xmm1
and dword [esp + 0x34], ebp
and dword [esp + 0x38], ebp
and dword [esp + 0x3c], ebp
addss xmm0, xmm1
mov ecx, dword [eax + 0x54e5]
mov eax, dword [0x1017aacc]
sqrtss xmm0, xmm0
mov eax, dword [eax + ecx*4 + 0x26]
mov eax, dword [eax + 8]
movzx eax, byte [eax + 0x1a]
mulss xmm0, dword [0x10089ab4]
movss dword [esp + 0x10], xmm0
mulss xmm0, dword [0x10078414]
movss dword [esp + 0x14], xmm0
sub eax, ebp
je 0x1004387a
sub eax, 0x11
je 0x1004387a
sub eax, 1
je 0x10043919
sub eax, 1
je 0x10043919
sub eax, 0xd
je 0x1004387a
sub eax, 1
jne 0x100438e7
mov ecx, dword [0x101882b4]
lea edx, [esp + 0x28]
push edx
push edi
mov eax, dword [ecx]
call dword [eax + 0x74]
lea ecx, [esp + 0x34]
push ecx
push edi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
movss xmm0, dword [esp + 0x10]
movss xmm1, dword [esp + 0x20]
mov ecx, dword [0x10182868]
push ebp
push 0xff0000ff
sub esp, 0x10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 8], xmm0
mulss xmm0, dword [0x10078414]
movss dword [esp + 4], xmm1
movss xmm1, dword [esp + 0x30]
subss xmm1, xmm0
movss dword [esp], xmm1
call fcn.10040353
mov ecx, dword [0x10182868]
push ebp
push 0x1c
sub esp, 0x10
and dword [esp + 0xc], ebp
and dword [esp + 8], ebp
and dword [esp + 4], ebp
and dword [esp], ebp
call fcn.10040353
inc esi
cmp esi, 0x36
jle 0x100436e4
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x6c
ret
mov ecx, dword [0x101882b4]
lea edx, [esp + 0x28]
push edx
push edi
mov eax, dword [ecx]
call dword [eax + 0x74]
lea ecx, [esp + 0x34]
push ecx
push 7
jmp 0x10043891