Function at 0x433de0
Capabilities:
Log keystrokes

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
push edi
push dword [esp + 0x9c]
mov ebp, ecx
push dword [esp + 0x9c]
mov dword [esp + 0x1c], ebp
push dword [esp + 0x9c]
push dword [esp + 0x9c]
call fcn.00441230
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x4343a8
mov esi, dword [esp + 0x88]
xor cl, cl
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x18], 2
mov byte [esp + 0x9c], cl
mov byte [esp + 0x98], 1
mov dword [esp + 0x20], CreateStatusWindowA
mov dword [esp + 0x24], CreateStatusWindowA
cmp byte [esi], cl
je 0x433f3f
lea ebp, [esi + 1]
mov edi, edi
movzx ebx, byte [esi]
test ebx, 0xffffff80
jne 0x433e7d
push 2
push ebx
call fcn.0048708c
add esp, 8
test eax, eax
je 0x433e7d
and ebx, 0xffffffdf
movsx eax, bl
add eax, 0xffffffbc
cmp eax, 0x15
ja case.0x433e93.69
movzx eax, byte [eax + 0x434410]
jmp dword [eax*4 + 0x4343f4]
mov dword [esp + 0x18], 0
jmp case.0x433e93.69
mov dword [esp + 0x18], 1
jmp case.0x433e93.69
movzx ebx, byte [ebp]
test ebx, 0xffffff80
jne 0x433ecf
push 2
push ebx
call fcn.0048708c
add esp, 8
test eax, eax
je 0x433ecf
and ebx, 0xffffffdf
mov cl, byte [esp + 0x9c]
cmp bl, 0x41
jne 0x433f2c
inc esi
mov byte [esp + 0x98], 0
inc ebp
jmp 0x433f2c
push 3
push 0x4a3cac
push esi
call fcn.0048616d
add esp, 0xc
test eax, eax
jne case.0x433e93.69
mov cl, 1
add esi, 2
add ebp, 2
mov byte [esp + 0x9c], cl
jmp 0x433f2c
push ebp
call fcn.00487180
mov dword [esp + 0x24], eax
jmp 0x433f22
push ebp
call fcn.00487180
mov dword [esp + 0x28], eax
add esp, 4
mov cl, byte [esp + 0x9c]
inc esi
inc ebp
cmp byte [esi], 0
jne 0x433e60
test cl, cl
jne 0x433f52
mov ebx, dword [esp + 0x1c]
mov edx, edi
mov ecx, ebx
call fcn.00477330
mov ebp, eax
test ebp, ebp
jne 0x43406f
push 0x2c
lea eax, [esp + 0x50]
mov dword [esp + 0x4c], 0
push 0
push eax
call fcn.0048fd00
add esp, 0xc
mov byte [esp + 0x70], 1
mov al, byte [edi]
cmp al, 0x20
je 0x433f7a
cmp al, 9
jne 0x433f7d
inc edi
jmp 0x433f70
movzx ebx, byte [edi]
test ebx, 0xffffff80
jne 0x433f9a
push 2
push ebx
call fcn.0048708c
add esp, 8
test eax, eax
je 0x433f9a
and ebx, 0xffffffdf
cmp bl, 0x58
jne case.0x43419d.3
cmp byte [edi + 1], 0
je case.0x43419d.3
lea ecx, [edi + 1]
call fcn.0040ee90
mov edx, 0x4a0c84
mov dword [esp + 0x48], eax
lea ecx, [edi + 1]
call fcn.0040a9c0
test eax, eax
je case.0x43419d.3
lea esi, [eax + 1]
mov al, byte [esi]
cmp al, 0x20
je 0x433fdb
cmp al, 9
jne 0x433fde
inc esi
jmp 0x433fd1
mov al, byte [esi]
test al, al
je case.0x43419d.3
movsx eax, al
push eax
call fcn.0048832d
add esp, 4
cmp eax, 0x59
jne case.0x43419d.3
cmp byte [esi + 1], 0
lea ecx, [esi + 1]
je case.0x43419d.3
call fcn.0040ee90
mov ebx, dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x38]
push eax
push ebx
call esi
mov eax, dword [esp + 0x38]
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
add dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
push eax
push 0x43a9b0
push ebx
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov eax, dword [esp + 0x60]
mov ebp, ebx
test eax, eax
cmovne ebp, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
push ebp
call dword [sym.imp.USER32.dll_ScreenToClient]
jmp 0x434075
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [esp + 0x84]
cmp edi, 1
jl 0x434384
mov ecx, dword [esp + 0x20]
cmp ecx, 0x80000000
je 0x43409c
mov eax, dword [esp + 0x24]
cmp eax, 0x80000000
jne 0x4340e7
lea eax, [esp + 0x28]
push eax
push ebp
call esi
test eax, eax
je case.0x43419d.3
mov ecx, dword [esp + 0x20]
cmp ecx, 0x80000000
jne 0x4340cb
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x24]
cmp eax, 0x80000000
jne 0x4340e7
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x24], eax
movzx ebx, ax
shl ebx, 0x10
movzx eax, cx
or ebx, eax
mov dword [esp + 0x88], 0
mov al, byte [esp + 0x80]
cmp al, 0x9f
je 0x434110
cmp al, 0x9e
je 0x434110
xor dl, dl
jmp 0x434112
mov dl, 1
mov byte [esp + 0x80], dl
cmp al, 0x9c
je 0x434125
cmp al, 0x9d
je 0x434125
xor cl, cl
jmp 0x434127
mov cl, 1
mov byte [esp + 0x9c], cl
test dl, dl
je 0x43415f
cmp al, 0x9f
mov esi, 0xffffff88
mov eax, dword [esp + 0x80]
mov ecx, 0x78
cmove esi, ecx
mov dword [esp + 0x90], eax
imul esi, edi
mov edi, 0x20a
shl esi, 0x10
jmp 0x43421b
test cl, cl
je 0x434190
cmp al, 0x9c
mov esi, 0x78
mov eax, dword [esp + 0x80]
mov ecx, 0xffffff88
cmove esi, ecx
mov dword [esp + 0x90], eax
imul esi, edi
mov edi, 0x20e
shl esi, 0x10
jmp 0x43421b
movzx eax, al
dec eax
cmp eax, 5
ja case.0x43419d.3
jmp dword [eax*4 + 0x434428]
mov edi, 0x201
mov dword [esp + 0x90], 0x202
mov esi, 1
jmp 0x43421b
mov edi, 0x204
mov dword [esp + 0x90], 0x205
mov esi, 2
jmp 0x43421b
mov edi, 0x207
mov dword [esp + 0x90], 0x208
mov esi, 0x10
jmp 0x43421b
mov dword [esp + 0x88], 0x10000
mov esi, 0x10020
jmp 0x43420b
mov dword [esp + 0x88], 0x20000
mov esi, 0x20040
mov dword [esp + 0x90], 0x20c
mov edi, 0x20b
cmp byte [esp + 0x98], 0
mov byte [esp + 0x94], 0
je 0x43428b
push 0
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [esp + 0x98], eax
test eax, eax
je 0x434278
cmp eax, dword [0x4b0948]
je 0x434278
mov ecx, dword [esp + 0x1c]
call fcn.00477810
test al, al
jne 0x434278
push 1
push dword [esp + 0x9c]
push dword [0x4b0948]
call dword [sym.imp.USER32.dll_AttachThreadInput]
test eax, eax
setne byte [esp + 0x94]
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov dl, byte [esp + 0x80]
jmp 0x434299
mov eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
test dl, dl
jne 0x434344
cmp byte [esp + 0x9c], dl
jne 0x434344
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x434365
mov ecx, dword [sym.imp.USER32.dll_PostMessageA]
mov edx, dword [esp + 0x18]
cmp edx, 1
je 0x4342fa
push ebx
push esi
push edi
push ebp
call ecx
mov eax, dword [0x4ac1d8]
mov ecx, dword [eax + 0x58]
cmp ecx, 0xffffffff
jle 0x4342e9
mov edx, 1
call fcn.004027d0
mov edx, dword [esp + 0x18]
mov ecx, dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [esp + 0x84]
test edx, edx
je 0x434332
push ebx
push dword [esp + 0x8c]
push dword [esp + 0x98]
push ebp
call ecx
mov eax, dword [0x4ac1d8]
mov ecx, dword [eax + 0x58]
cmp ecx, 0xffffffff
jle 0x434327
mov edx, 1
call fcn.004027d0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
mov ecx, dword [sym.imp.USER32.dll_PostMessageA]
dec eax
mov dword [esp + 0x84], eax
jne 0x4342c7
jmp 0x434365
push ebx
push esi
push edi
push ebp
call dword [sym.imp.USER32.dll_PostMessageA]
mov eax, dword [0x4ac1d8]
mov ecx, dword [eax + 0x58]
cmp ecx, 0xffffffff
jle 0x434365
mov edx, 1
call fcn.004027d0
cmp byte [esp + 0x94], 0
je 0x434384
push 0
push dword [esp + 0x9c]
push dword [0x4b0948]
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ecx, dword [0x4af094]
push 1
push 0
push 0xffffffffffffffff
push 0x49e080
call fcn.004759c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x20
mov ebp, dword [esp + 0x14]
mov eax, dword [0x4ac1d8]
test byte [eax + 0xe0], 1
jne 0x4343d6
mov ecx, dword [0x4af094]
push 1
push 0
push 0xffffffffffffffff
push 0x4a09f8
call fcn.004759c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x20
push 0x49e065
push 0
push 0x4a09f8
mov ecx, ebp
call fcn.0042ddd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 0x20