Function at 0x10034f20
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x82c
mov eax, dword [0x1014a018]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
push 0x7ff
lea eax, [ebp - 0x80c]
mov esi, ecx
push 0
push eax
mov dword [ebp - 0x81c], esi
call sub.MSVCR100.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x818]
push ecx
push esi
lea edx, [ebp - 0x80c]
push 0x7ff
push edx
call dword [sym.imp.MSVCR100.dll_vsprintf_s]
add esp, 0x10
lea edi, [ebp - 0x80c]
lea esi, [ebp - 0x82c]
call fcn.10037e90
fld dword [ebx + 0x1c]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebx + 0x18]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call fcn.10037e20
test al, al
je 0x10034fb7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x1f4
mov dword [0x118d9b64], eax
fld dword [ebx]
fld dword [0x1013f730]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10034fe3
fild dword [0xe61e58]
fdiv dword [0xe7c3d4]
fld qword [0x1013f510]
fmul st(1), st(0)
fmul dword [ebx + 0x18]
fsubp st(1)
fstp dword [ebx]
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x10035085
fld dword [0x11921780]
sub esp, 0x10
fstp dword [esp + 0xc]
fld dword [ebx + 0x18]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call fcn.10037e20
test al, al
je 0x1003503e
cmp byte [ebx + 0x2a], 0
jne 0x10035044
mov byte [ebx + 0x2a], 1
fild dword [0x879340c]
fstp dword [ebx + 0x10]
fild dword [0x8793410]
fstp dword [ebx + 0x14]
cmp byte [ebx + 0x2a], 0
je 0x1003508f
fild dword [0x879340c]
fsub dword [ebx + 0x10]
fadd dword [ebx]
fstp dword [ebx]
fild dword [0x8793410]
fsub dword [ebx + 0x14]
fadd dword [ebx + 4]
fstp dword [ebx + 4]
fild dword [0x879340c]
fstp dword [ebx + 0x10]
fild dword [0x8793410]
fstp dword [ebx + 0x14]
fld dword [ebx + 0x18]
fadd dword [ebx]
fstp dword [ebx + 0x20]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fstp dword [ebx + 0x24]
jmp 0x1003508f
cmp byte [ebx + 0x2a], 0
je 0x1003508f
mov byte [ebx + 0x2a], 0
cmp dword [0x10234a28], 3
fld dword [ebx + 0x18]
fld qword [0x101407d0]
fld st(0)
fdivrp st(2)
fld dword [0xe7c3d4]
fdivp st(2)
fxch st(1)
fstp dword [0x1192177c]
fdiv dword [ebx + 0x1c]
fdiv dword [0xe7c3d8]
fstp dword [0x11921778]
fld dword [ebx + 0x1c]
fmul qword [0x1013fce8]
fmul qword [0x1013fd78]
fstp dword [0x11921780]
fld dword [ebx + 4]
fadd dword [0x11921780]
fsub dword [ebp - 0x820]
fld dword [0xe7c3d8]
fmul qword [0x1013f6c0]
fsubp st(1)
fstp dword [0x11921774]
jb 0x10035214
fld dword [0x11921778]
sub esp, 0x28
fstp dword [esp + 0x24]
fld dword [0x1192177c]
fstp dword [esp + 0x20]
fld dword [0x10140310]
fst dword [esp + 0x1c]
fst dword [esp + 0x18]
fldz
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
push 0xf1007
call fcn.10025c00
fld dword [ebp - 0x820]
lea edx, [ebp - 0x80c]
push edx
call fcn.1012e5b0
fld dword [ebx + 0x18]
push eax
call fcn.1012e5b0
fld dword [0x11921774]
push eax
push 0
push 0xffffffffffffffff
call fcn.1012e5b0
fld dword [ebx]
push eax
call fcn.1012e5b0
push eax
mov eax, dword [0x116de53c]
push eax
mov cl, 3
call fcn.1008a600
fld dword [0x11921774]
fld qword [0x1013f580]
mov esi, dword [0x10a88838]
mov ecx, dword [esi]
fsub st(1), st(0)
fxch st(1)
add esp, 0x20
push 0x10135e76
fstp dword [ebp - 0x810]
sub esp, 8
fld dword [ebp - 0x810]
fstp dword [esp + 4]
fld dword [ebx + 0x18]
fadd dword [ebx]
fld dword [ecx + 8]
fadd st(2)
fsubp st(1)
fsubrp st(1)
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp]
call fcn.10037fd0
add esp, 0xc
test al, al
je 0x10035805
mov eax, dword [ebp + 8]
xor byte [ebx + 0x29], 1
imul eax, eax, 0x54
xor byte [eax + 0x118c4f99], 1
lea eax, [eax + 0x118c4f99]
mov dword [0x108c77c4], 0
jmp 0x10035805
fld dword [ebx + 0x18]
push 1
fld qword [0x1013f928]
mov edx, 0x635fd0
fld st(0)
fdivrp st(2)
fld dword [0xe7c3d4]
fdivp st(2)
fxch st(1)
fstp dword [ebp - 0x814]
fdiv dword [ebx + 0x1c]
fdiv dword [0xe7c3d8]
fstp dword [ebp - 0x810]
call edx
fld1
fst dword [esp]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call dword [sym.imp.OPENGL32.dll_glColor3f]
fld dword [ebp - 0x810]
sub esp, 0x28
fstp dword [esp + 0x24]
fld dword [ebp - 0x814]
fstp dword [esp + 0x20]
fld dword [0x1013f920]
fst dword [esp + 0x1c]
fld dword [0x1013f7a8]
fstp dword [esp + 0x18]
fldz
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
call fcn.10066150
fld dword [ebx]
fld qword [0x1013f580]
fadd st(1), st(0)
fxch st(1)
call fcn.1012e5b0
mov dword [ebp - 0x818], eax
fild dword [ebp - 0x818]
mov esi, 0xa
fstp dword [ebp - 0x814]
fld dword [ebp - 0x814]
fld dword [ebx + 0x18]
fadd dword [ebx]
fsub st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10035723
fstp st(1)
jmp 0x100352f4
fstp st(0)
fldz
sub esp, 0x18
fstp dword [esp + 0x14]
mov eax, 0x790e40
fld dword [0x1013f910]
fstp dword [esp + 0x10]
fld dword [0x1013f90c]
fstp dword [esp + 0xc]
fld dword [0x1013f6a0]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fstp dword [esp]
push 0x7a79
call eax
fldz
fstp dword [esp + 0x18]
add esp, 4
fld dword [0x1013f910]
mov ecx, 0x790e40
fstp dword [esp + 0x10]
fld dword [0x1013f908]
fstp dword [esp + 0xc]
fld dword [0x1013f6a0]
fstp dword [esp + 8]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fsub qword [0x1013f918]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp + 4]
fld dword [ebp - 0x814]
fstp dword [esp]
push 0x7a7d
call ecx
add dword [ebp - 0x818], esi
fild dword [ebp - 0x818]
add esp, 0x1c
fstp dword [ebp - 0x814]
fld dword [ebp - 0x814]
fld dword [ebx + 0x18]
fadd dword [ebx]
fld qword [0x1013f580]
fsub st(1), st(0)
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x100352f2
fstp st(1)
fld dword [ebx + 4]
fadd st(1)
call fcn.1012e5b0
mov dword [ebp - 0x814], eax
fild dword [ebp - 0x814]
fstp dword [ebp - 0x818]
fld dword [ebp - 0x818]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fsubrp st(2)
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x100354b6
fldz
sub esp, 0x18
fst dword [esp + 0x14]
mov edx, 0x790e40
fstp dword [esp + 0x10]
fld dword [0x1013f6a0]
fstp dword [esp + 0xc]
fld dword [0x1013f8e0]
fstp dword [esp + 8]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
push 0x7a7b
call edx
fldz
fst dword [esp + 0x18]
add esp, 4
fstp dword [esp + 0x10]
mov eax, 0x790e40
fld dword [0x1013f6a0]
fstp dword [esp + 0xc]
fld dword [0x1013f8e0]
fstp dword [esp + 8]
fld dword [ebp - 0x818]
fstp dword [esp + 4]
fld dword [ebx + 0x18]
fadd dword [ebx]
fsub qword [0x1013f900]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp]
push 0x7a7c
call eax
add dword [ebp - 0x814], esi
fild dword [ebp - 0x814]
add esp, 0x1c
fstp dword [ebp - 0x818]
fld dword [ebp - 0x818]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fsub qword [0x1013f580]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x100353fb
fstp st(0)
sub esp, 0x18
fldz
mov ecx, 0x790e40
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013f90c]
fstp dword [esp + 0xc]
fld dword [0x1013f910]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
push 0x7a79
call ecx
fldz
fstp dword [esp + 0x18]
add esp, 4
fld dword [0x10150f98]
mov edx, 0x790e40
fstp dword [esp + 0x10]
fld dword [0x1013f90c]
fstp dword [esp + 0xc]
fld dword [0x1013f910]
fstp dword [esp + 8]
fld dword [ebx + 4]
fstp dword [esp + 4]
fld dword [ebx + 0x18]
fadd dword [ebx]
fsub qword [0x1013f598]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp]
push 0x7a79
call edx
fldz
fst dword [esp + 0x18]
add esp, 4
fstp dword [esp + 0x10]
mov eax, 0x790e40
fld dword [0x1013f908]
fstp dword [esp + 0xc]
fld dword [0x1013f910]
fstp dword [esp + 8]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fsub qword [0x1013f918]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp + 4]
fld dword [ebx]
fstp dword [esp]
push 0x7a7d
call eax
fldz
fstp dword [esp + 0x18]
add esp, 4
fld dword [0x10150f98]
mov ecx, 0x790e40
fstp dword [esp + 0x10]
fld dword [0x1013f908]
fstp dword [esp + 0xc]
fld dword [0x1013f910]
fstp dword [esp + 8]
fld dword [ebx + 4]
fadd dword [ebx + 0x1c]
fsub qword [0x1013f918]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp + 4]
fld dword [ebx + 0x18]
fadd dword [ebx]
fsub qword [0x1013f598]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fstp dword [esp]
push 0x7a7d
call ecx
fld dword [ebx + 0x18]
add esp, 0x1c
fadd dword [ebx]
fsub qword [0x1013f8f8]
call fcn.1012e5b0
fld dword [ebx + 4]
mov esi, eax
mov dword [ebp - 0x818], esi
call fcn.1012e5b0
mov edi, eax
mov dword [ebp - 0x810], edi
fild dword [ebp - 0x810]
sub esp, 0x10
mov edx, 0x790b50
fstp dword [ebp - 0x814]
fild dword [ebp - 0x818]
fstp dword [ebp - 0x818]
fld dword [0x1013f7f8]
fstp dword [esp + 0xc]
fld dword [0x1013f7d0]
fstp dword [esp + 8]
fld dword [ebp - 0x814]
fstp dword [esp + 4]
fld dword [ebp - 0x818]
fstp dword [esp]
push 0x7ec5
call edx
add esp, 0x14
push 0x24
push 0x24
push edi
push esi
mov eax, 0x790b10
call eax
add esp, 0x10
cmp al, 1
jne 0x100357aa
fild dword [0x879340c]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fld dword [ebp - 0x818]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1003572c
fld qword [0x1013fc50]
fadd st(1), st(0)
fxch st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x1003572e
fild dword [0x8793410]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fld dword [ebp - 0x814]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1003572a
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x10035730
push 1
mov ecx, 0x791050
call ecx
add esp, 4
test al, al
je 0x10035730
mov eax, dword [ebp + 8]
xor byte [ebx + 0x29], 1
imul eax, eax, 0x54
xor byte [eax + 0x118c4f99], 1
lea eax, [eax + 0x118c4f99]
mov dword [0x108c77c4], 0
jmp 0x10035730
fstp st(0)
jmp 0x100353c2
fstp st(1)
fstp st(1)
fstp st(0)
push 0x82
push 0x14
push 0xcc
push 0xff
mov edx, 0x412d20
call edx
fldz
add esp, 0x10
push eax
sub esp, 0x18
fst dword [esp + 0x14]
mov eax, 0x790f20
fstp dword [esp + 0x10]
fld dword [0x1013f7f8]
fstp dword [esp + 0xc]
fld dword [0x1013f7d0]
fstp dword [esp + 8]
fld dword [ebp - 0x814]
fstp dword [esp + 4]
fld dword [ebp - 0x818]
fstp dword [esp]
push 0x7ec5
call eax
mov ecx, dword [0x10a723b4]
mov edx, dword [0x10a723ac]
push str.Close
push ecx
add edx, 0x14
push edx
call fcn.100bba40
add esp, 0x2c
fld dword [ebp - 0x820]
lea eax, [ebp - 0x80c]
push eax
call fcn.1012e5b0
fld dword [ebx + 0x18]
push eax
call fcn.1012e5b0
fld dword [ebx + 4]
fadd qword [0x1013f8f0]
push eax
push 0
push 0xffae00ff
call fcn.1012e5b0
fld dword [ebx]
push eax
call fcn.1012e5b0
mov ecx, dword [0xe8c58c]
push eax
push ecx
mov cl, 3
call fcn.10025780
mov edx, 0x635f50
call edx
push 0
mov eax, 0x635fd0
call eax
add esp, 0x24
fld dword [ebx]
fstp dword [ebp - 0x814]
fld dword [ebx + 4]
fstp dword [ebp - 0x818]
fild dword [0x879340c]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fld dword [ebx + 0x18]
fld dword [ebp - 0x814]
fld st(0)
faddp st(2)
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x1003588d
fcompp
fnstsw ax
test ah, 0x41
jp 0x10035891
fild dword [0x8793410]
fstp dword [ebp - 0x810]
fld dword [ebp - 0x810]
fld dword [ebp - 0x818]
fld st(0)
fadd dword [ebx + 0x1c]
fcomp st(2)
fnstsw ax
test ah, 1
jne 0x1003588d
fcompp
fnstsw ax
test ah, 0x41
jp 0x10035891
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1012db16
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
mov ecx, dword [ebp - 8]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.1012db16
mov esp, ebp
pop ebp
ret