Function at 0x437482
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffffc
push ebx
push ecx
push edx
push esi
push edi
cmp word [0x445424], 0
je 0x4374a3
sub ax, ax
pop edi
pop esi
pop edx
pop ecx
pop ebx
leave
ret 4
test word [0x4452f4], 2
je 0x437505
cmp word [0x445706], 0
jg 0x437526
call sub.CNCS232.dll_Ordinal_29
mov bx, ax
sub ax, word [0x44537a]
je 0x4377f2
mov word [0x44537a], bx
movzx eax, ax
add eax, dword [0x445708]
mov ebx, eax
sub eax, dword [0x445386]
cmp eax, 3
jbe 0x4374f7
mov eax, 3
mov ebx, dword [0x445386]
add ebx, eax
mov dword [0x445708], ebx
mov word [0x445706], ax
jmp 0x437526
call sub.CNCS232.dll_Ordinal_29
cmp ax, word [0x44537a]
je 0x4377f2
mov word [0x44537a], ax
mov word [0x445706], 1
lea eax, [0x437848]
push eax
mov dword [0x445448], ebp
mov eax, dword [0x445362]
mov ebx, dword [0x445366]
mov dword [0x445362], ebx
mov dword [0x445366], eax
mov dword [0x44535a], ebx
movzx eax, word [0x445358]
shl eax, 0xa
add eax, ebx
mov dword [0x44535e], eax
call sub.KERNEL32.dll_GetTickCount
mov edx, eax
sub edx, dword [0x44538e]
mov eax, dword [0x44538a]
mov dword [0x44538a], edx
sub edx, eax
mov dword [0x445392], edx
add dword [0x445736], edx
inc dword [0x445386]
mov eax, dword [0x4452f6]
mov dword [0x4453ba], eax
call fcn.004139f5
mov eax, dword [0x4452ec]
cmp eax, 0
je 0x4375ae
push ebp
push 0x4452d6
call eax
pop ebp
test byte [0x4452f3], 0xff
je 0x437657
mov byte [ebp - 1], 0
push 0x445400
call sub.USER32.dll_GetCursorPos
mov eax, dword [0x44573a]
sub dword [0x445400], eax
je 0x4375d9
inc byte [ebp - 1]
mov eax, dword [0x44573e]
sub dword [0x445404], eax
je 0x4375e9
inc byte [ebp - 1]
test byte [ebp - 1], 0xff
je 0x437600
push dword [0x44573e]
push dword [0x44573a]
call sub.USER32.dll_SetCursorPos
mov byte [0x4453ca], 0
push 1
call sub.USER32.dll_GetKeyState
and ax, ax
jns 0x43761a
or byte [0x4453ca], 0x10
push 2
call sub.USER32.dll_GetKeyState
and ax, ax
jns 0x43762d
or byte [0x4453ca], 0x20
mov al, byte [0x4452f3]
sub ebx, ebx
mov cl, byte [0x4453ca]
shr al, 1
jae 0x43764b
and byte [ebx + 0x4452f6], 0xcf
or byte [ebx + 0x4452f6], cl
inc bl
cmp bl, byte [0x4452f2]
jne 0x43763a
jmp 0x43765c
call fcn.00437870
mov eax, dword [0x4452f6]
and eax, dword [0x4453c6]
and eax, dword [0x4453c2]
mov dword [0x4452f6], eax
xor eax, dword [0x4453ba]
mov dword [0x4453be], eax
je 0x437705
and eax, dword [0x4452f6]
test eax, 0xf0f0f0f0
je 0x4376e9
sub ecx, ecx
mov word [0x44539c], cx
movzx ebx, byte [ecx + 0x4453be]
and bl, 0xf0
je 0x4376b4
mov dword [0x44539e], ebx
mov ax, 0xfcf9
call fcn.00439706
movzx ecx, word [0x44539c]
movzx ebx, byte [ecx + 0x4453be]
test bl, 0xf
je 0x4376d6
mov dword [0x44539e], ebx
mov ax, 0xfcf9
call fcn.004396ae
movzx ecx, word [0x44539c]
inc cl
cmp cl, byte [0x4452f2]
jne 0x437692
jmp 0x437705
mov edi, dword [0x44533c]
movzx eax, word [edi + 8]
and ax, ax
je 0x437705
add eax, dword [0x445340]
sub esi, esi
call fcn.00439aee
cmp word [0x445306], 0
je 0x437765
push ebp
movzx ebp, word [0x445306]
mov edi, dword [0x445758]
mov word [0x4456ee], 0
jmp 0x43772b
add edi, 8
mov esi, dword [edi]
and esi, esi
je 0x437728
mov eax, dword [esi + 0x2a]
mov dword [esi + 0x26], eax
mov dword [esi + 0x2a], 0
cmp dword [edi + 4], 0
je 0x43774f
mov dword [0x4456ea], edi
push edi
call dword [edi + 4]
pop edi
movzx eax, word [0x4456ee]
add ebp, eax
mov word [0x4456ee], 0
dec ebp
jne 0x437728
pop ebp
inc word [0x445442]
call fcn.00439965
mov eax, dword [0x445348]
and eax, eax
je 0x43778c
test word [0x4452f4], 0x10
jne 0x43778c
sub esi, esi
call fcn.00439aee
mov edi, dword [0x4453e6]
and edi, edi
je 0x43779b
call fcn.00439582
call fcn.0043890a
mov word [0x445410], 0xffff
mov dword [0x44543a], 0
inc dword [0x44570c]
mov word [0x4456f0], 0
mov word [0x44567a], 0
dec word [0x445706]
jle 0x4377de
cmp word [0x4452fa], 0
je 0x4377e5
call fcn.0043828f
jmp 0x4377ef
call fcn.0043879e
call sub.CNCS232.dll_Ordinal_149
add esp, 4
mov ax, word [0x4452fa]
and ax, ax
jne 0x43780c
mov ax, word [0x4452fc]
pop edi
pop esi
pop edx
pop ecx
pop ebx
leave
ret 4
cmp ax, 1
je 0x437833
cmp ax, 2
je 0x437833
cmp ax, 0xfffe
je 0x437833
cmp ax, 3
je 0x437833
cmp ax, 0x64
je 0x437833
pop edi
pop esi
pop edx
pop ecx
pop ebx
leave
ret 4
push eax
mov eax, 0xfffffefd
call fcn.004396ae
pop eax
pop edi
pop esi
pop edx
pop ecx
pop ebx
leave
ret 4