Function at 0x542820
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push 0x461
push esi
call ebx
mov ebp, eax
call dword [sym.imp.USER32.dll_GetFocus]
cmp eax, ebp
je 0x542ab6
push 0x3e7
push 0x60ec68
call fcn.00423a00
mov eax, dword [0x60f57c]
add esp, 8
test eax, eax
je 0x542887
push 0x480
push esi
call ebx
push eax
call dword [sym.imp.USER32.dll_IsWindow]
neg eax
sbb eax, eax
and eax, 4
add eax, 0x47c
jmp 0x54288c
mov eax, 0x480
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0x60ec68
push 0x3e7
push 0xd
push eax
push esi
call ebp
mov al, byte [0x60ec68]
test al, al
je 0x542ab6
push 0x2a
push 0x60ec68
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x542ab6
push 0x3f
push 0x60ec68
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x542ab6
push 0x3e7
push 0x60e880
call fcn.00423a00
push 0x64
push 0x641550
call fcn.00423a00
add esp, 0x10
push 0x60e880
push 0x64
push 0xd
push 0x98
push edi
call ebp
mov cl, byte [0x60e880]
mov bl, 0x20
cmp cl, bl
mov eax, 0x60e880
jne 0x542928
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
je 0x542920
cmp byte [eax], 0
je 0x542968
mov edx, 0x641550
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x542934
mov eax, 0x641550
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x542946
sub eax, edx
dec eax
test eax, eax
jle 0x542968
cmp byte [eax + 0x641550], bl
jne 0x542968
mov byte [eax + 0x641550], 0
dec eax
test eax, eax
jg 0x542954
mov al, byte [0x641550]
test al, al
jne 0x542998
push 0x98
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
push 0
call fcn.00421c80
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov esi, dword [sym.imp.USER32.dll_IsDlgButtonChecked]
push 0x90
push edi
call esi
dec eax
neg eax
sbb eax, eax
push 0x97
inc eax
push edi
mov dword [0x641b20], eax
call esi
dec eax
neg eax
sbb eax, eax
push 0x92
inc eax
push edi
mov dword [0x60a0d0], eax
call esi
dec eax
neg eax
sbb eax, eax
inc eax
mov dword [0x60a0d8], eax
mov eax, dword [esp + 0x18]
push eax
call fcn.00542320
mov al, byte [0x642ac0]
add esp, 4
test al, al
jne 0x542a0a
push 0x460
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_SetFocus]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0x12
call esi
test ah, ah
jns 0x542a52
push 0x53
call esi
test ah, ah
js 0x542a52
push 9
push 0x642ac0
call fcn.005cbf10
add esp, 8
test eax, eax
jne 0x542a48
call fcn.00502b30
push eax
push 0xffffffffffffffff
push 0x642ac0
call fcn.0054c790
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
push 0
push 0
push 0x147
push 0x9a
push edi
call ebp
cmp eax, 0xffffffff
jne 0x542a6a
xor eax, eax
test eax, eax
mov ecx, 0x200
mov dword [0x60a0d4], ecx
jle 0x542ab6
lea esp, [esp]
add ecx, ecx
dec eax
jne 0x542a80
cmp ecx, 0x200
mov dword [0x60a0d4], ecx
jge 0x542aa4
pop edi
pop esi
pop ebp
mov dword [0x60a0d4], 0x200
xor eax, eax
pop ebx
ret
cmp ecx, 0x2000
jle 0x542ab6
mov dword [0x60a0d4], 0x2000
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret