Function at 0x45e840
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x128
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push edi
mov edi, ecx
push 0x9c80
push edi
mov ebx, eax
call ebp
mov esi, eax
xor eax, eax
cmp ebx, 0x4ed
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x34], eax
ja 0x45e993
je case.0x45e9ab.40132
cmp ebx, 0x4ea
ja 0x45e959
je case.0x45e9ab.40321
dec ebx
je 0x45e91a
dec ebx
je 0x45e8e4
sub ebx, 0x4e0
jne case.0x45e9ab.40134
mov eax, dword [0x615c94]
xor ecx, ecx
test eax, eax
sete cl
mov esi, ecx
call fcn.0045cab0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
push 2
push edi
call ebp
cmp dword [esp + 0x13c], eax
jne case.0x45e9ab.40134
mov edx, dword [esp + 0x140]
call fcn.0045d1a0
push 2
push edi
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
mov ebp, 1
push ebp
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [esp + 0x13c], eax
jne case.0x45e9ab.40134
mov edx, dword [esp + 0x140]
push edx
push edi
call fcn.0045df40
push ebp
push edi
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
sub ebx, 0x4eb
je case.0x45e9ab.40320
dec ebx
jne case.0x45e9ab.40134
mov eax, dword [esp + 0x140]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0x45e9ab.40134
push esi
call fcn.00422ff0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
lea eax, [ebx - 0x9cc4]
cmp eax, 0xbd
ja case.0x45e9ab.40134
movzx eax, byte [eax + 0x45ec64]
jmp dword [eax*4 + 0x45ec48]
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ebp, 1
or eax, ebp
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov ecx, dword [esp + 0x140]
push ecx
mov dword [0x615c9c], ebp
call fcn.0045e400
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffffffe
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov edx, dword [esp + 0x140]
push edx
mov dword [0x615c9c], 0
call fcn.0045e400
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 0xc]
test eax, eax
je case.0x45e9ab.40134
mov eax, dword [0x616654]
test eax, eax
jne 0x45ea93
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jl 0x45ea93
mov edx, dword [0x613f28]
push 0x69d
push edx
call sym.vidcap60.exe__SfGetString_8
push eax
mov eax, dword [0x613f28]
push 0x616654
push 0x600
push eax
call sym.vidcap60.exe__SfGetString_8
push eax
push 0
push 0x1134
push edi
call sym.vidcap60.exe_SfMsgBox_CustomEx
add esp, 0x18
cmp eax, 6
jne case.0x45e9ab.40134
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 2
push 0xffffffffffffffff
push 0x100c
push esi
call ebx
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
je 0x45eae4
mov ebp, 1
lea ecx, [esp + 0x10]
push ecx
push 0
push 0x104b
push esi
call ebx
mov edx, dword [esp + 0x30]
push 2
mov dword [edx + 0x540], ebp
mov eax, dword [esp + 0x18]
push eax
push 0x100c
push esi
call ebx
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x45eab3
mov ecx, dword [esp + 0x140]
push ecx
call fcn.0045e400
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
mov esi, dword [esp + 0x140]
mov eax, dword [esi + 0xc]
test eax, eax
je case.0x45e9ab.40134
push 0x80
add esi, 0x14
lea edx, [esp + 0x3c]
push esi
push edx
call dword [0x5d2618]
add esp, 0xc
push edi
mov ebx, 0x7b
mov word [esp + 0x13a], 0
call fcn.0045e7b0
lea eax, [esp + 0x38]
push esi
push eax
call dword [0x5d25ac]
add esp, 8
test eax, eax
je case.0x45e9ab.40134
push esi
mov ecx, edi
call fcn.0045cf20
push esi
push 0x616d9c
call fcn.00404990
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 0xc]
test eax, eax
je case.0x45e9ab.40134
mov eax, dword [0x616654]
test eax, eax
jne 0x45ebdc
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jl 0x45ebdc
mov edx, dword [0x613f28]
push 0x69e
push edx
call sym.vidcap60.exe__SfGetString_8
push eax
mov eax, dword [0x613f28]
push 0x616654
push 0x600
push eax
call sym.vidcap60.exe__SfGetString_8
push eax
push 0
push 0x1134
push edi
call sym.vidcap60.exe_SfMsgBox_CustomEx
add esp, 0x18
cmp eax, 6
jne case.0x45e9ab.40134
push 0
push 0
push 0x1004
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x14], 0
jle 0x45ec2a
mov ebp, 1
nop
lea ecx, [esp + 0x10]
push ecx
push 0
push 0x104b
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esp + 0x30]
mov dword [edx + 0x540], ebp
mov eax, dword [esp + 0x14]
inc eax
cmp eax, ebx
mov dword [esp + 0x14], eax
jl 0x45ec00
mov eax, dword [esp + 0x140]
push eax
call fcn.0045e400
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x128
ret 8