Function at 0x10044535
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 4], 0
mov ebx, dword [0x1012dabb]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
jne 0x1004459a
mov ebx, dword [0x1012dabb]
add ebx, 0x9c
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ebx], 0
jne 0x1004459a
mov ebx, dword [0x1012dabb]
add ebx, 0xc8
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
jne 0x1004459a
xor eax, eax
jmp 0x1004459f
mov eax, 1
test eax, eax
je 0x1004477d
fild qword [0x1012dbd7]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100914c0]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001b73
push edx
push eax
call fcn.10035441
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x100
je 0x10044661
cmp dword [ebp - 4], 0x100100
je 0x10044661
cmp dword [ebp - 4], 0x200100
je 0x10044661
cmp dword [ebp - 4], 0x400100
je 0x10044661
cmp dword [ebp - 4], 0x8100
je 0x10044661
cmp dword [ebp - 4], 0x408100
je 0x10044661
cmp dword [ebp - 4], 0x208100
je 0x10044661
cmp dword [ebp - 4], 0x108100
je 0x10044661
cmp dword [ebp - 4], 0x28100
je 0x10044661
cmp dword [ebp - 4], 0x110
je 0x10044661
cmp dword [ebp - 4], 0x4008100
je 0x10044661
xor eax, eax
jmp 0x10044666
mov eax, 1
test eax, eax
je 0x100446ad
fild qword [0x1012dbd7]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100914c0]
fstp qword [ebp - 0x14]
fild dword [ebp - 4]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1008c28e]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001b73
push eax
fld qword [ebp - 0x14]
call fcn.10001b73
push edx
push eax
call fcn.1002fca1
mov ebx, dword [0x1012dabb]
add ebx, 0x80
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x1004477d
fild qword [0x1012daaf]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x10093edd]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
fild qword [ebp - 0x24]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fadd qword [0x10091202]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.10001b73
push edx
push eax
call fcn.1002f428
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
fild qword [ebp - 0x3c]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fadd qword [0x1008c137]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
call fcn.10001b73
mov dword [0x1012dcb7], eax
mov dword [0x1012dcbb], edx
push 0x40000000
push dword [0x1012dcbb]
push dword [0x1012dcb7]
call fcn.1002fc29
fild qword [0x1012dcb7]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x1009143f]
fstp qword [ebp - 0x14]
push 0x3f800000
fld qword [ebp - 0x14]
call fcn.10001b73
push edx
push eax
call fcn.1002fc29
mov ebx, dword [0x1012dabb]
add ebx, 0x98
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100447ae
push 0
push dword [0x1012dc03]
push dword [0x1012dbff]
call fcn.1002fc29
mov ebx, dword [0x1012dabb]
add ebx, 0xb0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100447df
push 0x42c80000
push dword [0x1012dc9f]
push dword [0x1012dc9b]
call fcn.1002fc29
mov ebx, dword [0x1012dabb]
add ebx, 0xd0
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10044810
push 0x551184e7
push dword [0x1012dc33]
push dword [0x1012dc2f]
call fcn.1002fc29
mov ebx, dword [0x1012dabb]
add ebx, 0xa8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x100448e3
mov ebx, dword [0x1012dabb]
add ebx, 0xac
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], esp
mov ebx, dword [ebp - 8]
push dword [ebx]
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 0xc], esp
je 0x10044868
push 0x5e9
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x100448e3
push 1
push dword [0x1012dc13]
push dword [0x1012dc0f]
call fcn.1002fca1
push 0
push dword [0x1012dc1b]
push dword [0x1012dc17]
call fcn.1002fc29
push 0xc1a00000
push dword [0x1012dc23]
push dword [0x1012dc1f]
call fcn.1002fc29
push 0x41000000
push dword [0x1012dc2b]
push dword [0x1012dc27]
call fcn.1002fc29
push 0
push dword [0x1012dc33]
push dword [0x1012dc2f]
call fcn.1002fca1
mov ebx, dword [0x1012dabb]
add ebx, 0xb8
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
cmp dword [ebx], 0
je 0x10044e5a
mov ebx, dword [0x1012dabb]
add ebx, 0xbc
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 8]
push dword [ebx]
call fcn.10044e5e
test eax, eax
je 0x1004492d
and dword [0x1012dd47], 1
xor dword [0x1012dd47], 1
cmp dword [0x1012dd47], 0
je 0x10044dd9
push 0x42c80000
push dword [0x1012dc3b]
push dword [0x1012dc37]
call fcn.1002fc29
push 0x42c80000
push dword [0x1012dc0b]
push dword [0x1012dc07]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x57
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044994
push 0x982
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100449dc
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10093ee5]
fcomp qword [0x1008c4d7]
fnstsw ax
test ah, 1
je 0x100449dc
mov eax, 1
jmp 0x100449e1
mov eax, 0
test eax, eax
je 0x10044a23
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x53
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044a51
push 0xa77
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10044a99
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10093ef5]
fcomp qword [0x1008bb4e]
fnstsw ax
test ah, 0x41
jne 0x10044a99
mov eax, 1
jmp 0x10044a9e
mov eax, 0
test eax, eax
je 0x10044ae0
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x41
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044b0e
push 0xb6c
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10044b56
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10093ef5]
fcomp qword [0x1008bb4e]
fnstsw ax
test ah, 0x41
jne 0x10044b56
mov eax, 1
jmp 0x10044b5b
mov eax, 0
test eax, eax
je 0x10044b9d
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x44
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044bcb
push 0xc61
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10044c13
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10093ee5]
fcomp qword [0x1008c4d7]
fnstsw ax
test ah, 1
je 0x10044c13
mov eax, 1
jmp 0x10044c18
mov eax, 0
test eax, eax
je 0x10044c5a
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x20
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044c88
push 0xd56
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10044cd0
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x1008bb72]
fcomp qword [0x1008c4d7]
fnstsw ax
test ah, 1
je 0x10044cd0
mov eax, 1
jmp 0x10044cd5
mov eax, 0
test eax, eax
je 0x10044d17
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fadd qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002fc29
mov dword [ebp - 8], esp
push 0x11
xor eax, eax
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
nop
nop
cmp dword [ebp - 8], esp
je 0x10044d45
push 0xe4b
push 0x40128d9
push 6
call fcn.100707a8
add esp, 0xc
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x10044d8d
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002f57f
mov dword [ebp - 0x1c], eax
fld dword [ebp - 0x1c]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fsub qword [0x10093ef5]
fcomp qword [0x1008bb4e]
fnstsw ax
test ah, 0x41
jne 0x10044d8d
mov eax, 1
jmp 0x10044d92
mov eax, 0
test eax, eax
je 0x10044dd4
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002f57f
mov dword [ebp - 8], eax
fld dword [ebp - 8]
fsub qword [0x10093eed]
fstp qword [ebp - 0x10]
fld qword [ebp - 0x10]
fstp dword [ebp - 0x14]
push dword [ebp - 0x14]
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002fc29
jmp 0x10044e5a
push 0
push dword [0x1012dc83]
push dword [0x1012dc7f]
call fcn.1002fc29
push 0
push dword [0x1012dc43]
push dword [0x1012dc3f]
call fcn.1002fc29
push 0x3fc00000
push dword [0x1012dc7b]
push dword [0x1012dc77]
call fcn.1002fc29
fild qword [0x1012dbd7]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fadd qword [0x100912ba]
fstp qword [ebp - 0x14]
push 0
fld qword [ebp - 0x14]
call fcn.10001b73
push edx
push eax
call fcn.1002fc29
push 0x40200000
push dword [0x1012dc0b]
push dword [0x1012dc07]
call fcn.1002fc29
mov esp, ebp
pop ebp
ret