Function at 0x10041a92
Capabilities:
Log keystrokes via polling

Disassembly:
mov eax, 0x10063d40
call fcn.10062184
sub esp, 0x60
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov edi, edx
mov dword [ebp - 0x30], edi
test cl, cl
je 0x10041c09
cmp byte [ebp + 0x10], 0
je 0x10041bf2
mov dword [ebp - 0x20], 0x2518
xor esi, esi
cmp dword [ebp - 0x20], 0x26e2
jle 0x10041b22
push 0x41
push 0x2579
push esi
call dword [sym.imp.USER32.dll_InflateRect]
mov edi, esi
mov dword [ebp - 0x1c], esi
mov ebx, esi
mov eax, edi
mov dword [ebp - 0x28], esi
cdq
idiv ebx
mov edi, edx
mov eax, edi
mov ecx, 0x1007f278
or eax, esi
cdq
push edx
push eax
call fcn.1000b2a8
inc esi
cmp esi, 0x42dd
jl 0x10041aed
mov edi, dword [ebp - 0x1c]
inc ebx
push 0
pop esi
cmp ebx, 0x3a33
jl 0x10041ae3
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1258
jl 0x10041ae1
mov dword [ebp - 4], esi
cmp dword [ebp - 0x20], 0x24ce
jge 0x10041b3d
mov edx, str.nbddrkdt_lwtnumbix_iimkwfdg_xspjlvod_ojfl_ktdjxzne
mov ecx, 0x1007f278
call fcn.1000ee32
or dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp + 0x1c]
push 0x18
pop ecx
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
cdq
idiv ecx
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x10041eb8
mov edi, esi
mov edx, dword [ebx]
mov ecx, dword [ebp + 0x18]
add edx, edi
call fcn.1003fe1e
test al, al
je 0x10041bb2
mov eax, dword [ebp + 0x20]
sub esp, 0x18
mov ecx, esp
mov eax, dword [eax]
add eax, edi
push eax
call fcn.1000b3bd
lea ecx, [ebp - 0x54]
call fcn.1003f08e
add esp, 0x18
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 2
call fcn.10041644
test eax, eax
je 0x10041be5
cmp eax, 2
je 0x10041be5
cmp eax, 3
je 0x10041be5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.10014bdc
inc esi
add edi, 0x18
cmp esi, dword [ebp - 0x28]
jl 0x10041b5c
jmp 0x10041eb8
lea ecx, [ebp - 0x54]
call fcn.10014bdc
jmp 0x10041eb8
mov eax, dword [ebp + 0x30]
mov edx, dword [eax]
mov esi, dword [eax]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
mov eax, dword [ecx + edx*4]
mov dword [ecx + esi*4], eax
jmp 0x10041eb8
cmp byte [ebp + 8], 0
je 0x10041e33
mov edx, dword [ebp + 0x34]
lea ecx, [ebp - 0x3c]
xor esi, esi
mov dword [ebp - 0x2c], esi
call fcn.1003ef21
mov edx, dword [ebp + 0x28]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 3
call fcn.1003ef21
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x48]
sub eax, dword [ebp - 0x3c]
sar ecx, 2
sar eax, 2
mov dword [ebp - 0x14], esi
cmp eax, ecx
jbe 0x10041d1e
push esi
push 1
lea eax, [ebp - 0x3c]
mov edx, 0x1bae
push eax
lea eax, [ebp - 0x14]
mov cl, 1
push eax
call fcn.10040bdc
mov dword [ebp - 0x1c], 0x6021
add esp, 0x10
cmp dword [ebp - 0x1c], 0x636c
jle 0x10041cdf
push 0x23d9
call dword [sym.imp.USER32.dll_GetKeyState]
mov edi, esi
mov ebx, esi
mov eax, esi
mov dword [ebp - 0x20], esi
add eax, ebx
lea ecx, [ebp - 0x6c]
xor eax, edi
cdq
push edx
push eax
call fcn.10001351
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10041cad
mov eax, dword [eax]
push eax
call fcn.10049280
pop ecx
push esi
push 1
lea ecx, [ebp - 0x6c]
call fcn.100017dc
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x77da
jl 0x10041c94
inc ebx
cmp ebx, 0x3759
jl 0x10041c8f
inc edi
cmp edi, 0x7951
jl 0x10041c8d
push 1
lea eax, [ebp - 0x48]
mov dl, 1
push eax
lea eax, [ebp - 0x14]
mov ecx, 0x394f
push eax
lea eax, [ebp - 0x18]
push 0x5711
push eax
call fcn.1003f24c
add esp, 0x14
cmp dword [ebp - 0x1c], 0x5cd0
jge 0x10041d15
push str.qqc_xphmpy_zhbyz_afgck_ccyeihx_nimerwxfr_ziauvml_mdplpdjfn_jblbytm
call fcn.10049280
pop ecx
mov dword [ebp - 4], 4
jmp 0x10041d5c
push 0x6b91
push ecx
lea eax, [ebp - 0x48]
mov dl, 1
push eax
push ecx
lea ecx, [ebp - 0x14]
call fcn.1003fc97
mov eax, dword [ebp - 0x38]
add esp, 0x10
sub eax, dword [ebp - 0x3c]
sar eax, 2
jmp 0x10041d54
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], esi
push eax
lea ecx, [ebp - 0x3c]
call fcn.10042a0a
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x14]
jl 0x10041d41
mov dword [ebp - 0x28], 0x32b7
cmp dword [ebp - 0x28], 0x32f9
jle 0x10041dc4
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], 0xa0
mov ebx, esi
mov edi, esi
mov esi, dword [ebp - 0x1c]
mov eax, ebx
cdq
idiv edi
mov eax, esi
mov ecx, edx
sar eax, cl
mov ecx, 0x1007f278
cdq
push edx
push eax
call fcn.1000b2a8
inc edi
cmp edi, 0x1dac
jl 0x10041d80
inc ebx
push 0
pop esi
cmp ebx, 0x7738
jl 0x10041d7b
mov edi, dword [ebp - 0x24]
add dword [ebp - 0x1c], edi
dec dword [ebp - 0x20]
jne 0x10041d79
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x438d
jl 0x10041d6f
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
push ecx
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x18]
call fcn.10040199
add esp, 0x14
mov byte [ebp - 4], 7
cmp dword [ebp - 0x28], 0x2f1a
jge 0x10041dfc
mov edx, str.owvsfb_dtonxz_jrhcoyqw_krf_bnshzf_xgb_rdi_mslb_oej
mov ecx, 0x1007f278
call fcn.1000ee32
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
lea ecx, [ebp - 0x48]
call fcn.10042d5d
lea ecx, [ebp - 0x3c]
call fcn.10042d5d
jmp 0x10041eb8
mov dword [ebp - 0x28], 0x5a62
cmp dword [ebp - 0x28], 0x5c36
jle 0x10041e6b
xor esi, esi
mov ebx, esi
mov edi, 0x15a0
mov eax, ebx
mov ecx, 0x1007f278
cdq
push edx
push eax
call fcn.1000b2a8
dec ebx
dec edi
jne 0x10041e4c
inc esi
cmp esi, 0x543b
jl 0x10041e45
mov edi, dword [ebp - 0x30]
mov dword [ebp - 4], 9
cmp dword [ebp - 0x28], 0x5a34
jge 0x10041ea9
mov edx, str.ibjmjuqp_drnbcgorj_bthkijvq_wqhpaa_mpa_srbmyrrrj_yxommz_cuqxmarg_nesgpccu_dosuxked_uaf_kpgwuomb
mov ecx, 0x1007f278
call fcn.1000ee32
jmp 0x10041ea9
push ecx
mov ecx, dword [ebp + 0xc]
push edi
call fcn.100422ae
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret