Function at 0x45da00
Capabilities:
Log keystrokes via polling

Disassembly:
sub esp, 0x344
push ebx
push ebp
mov ebx, eax
mov eax, dword [0x616b20]
push esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x358]
push edi
xor edi, edi
cmp eax, 0x9c80
mov esi, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
jne case.0x45da51.174
mov eax, dword [esi + 8]
add eax, 0xb0
cmp eax, 0xab
ja case.0x45da51.174
movzx ecx, byte [eax + 0x45de2c]
jmp dword [ecx*4 + 0x45de10]
push esi
call fcn.0045d420
pop edi
pop esi
pop ebp
mov dword [esp + 4], eax
pop ebx
add esp, 0x344
ret 8
movzx eax, word [esi + 0xc]
add eax, 0xffffffd2
cmp eax, 0x4b
ja case.0x45da51.174
movzx edx, byte [eax + 0x45def0]
jmp dword [edx*4 + 0x45ded8]
mov eax, dword [esp + 0x358]
push edi
push 0x9cc5
push 0x111
push eax
jmp 0x45ddf9
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge case.0x45da51.174
mov ecx, dword [esi]
push 1
push ecx
call fcn.00422f50
lea edx, [esp + 0x14]
mov edi, eax
mov eax, dword [esi]
push edx
push edi
push eax
call fcn.00422f80
mov edx, dword [esi]
mov eax, dword [esp + 0x358]
push edi
lea ecx, [esp + 0x18]
push ecx
push edx
push eax
call fcn.0045cb30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
mov ecx, dword [esp + 0x358]
push edi
push 0x9cc4
push 0x111
push ecx
jmp 0x45ddf9
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jge case.0x45da51.174
mov edx, dword [esi]
push edx
call fcn.00422ea0
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
mov eax, dword [esi + 0xc]
mov edx, dword [esi]
push eax
mov eax, dword [esp + 0x35c]
lea ecx, [esi + 0x20]
push ecx
push edx
push eax
call fcn.0045cb30
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
mov eax, dword [ebx + 0xc]
xor ecx, ecx
cmp eax, edi
sete cl
pop edi
pop esi
pop ebp
pop ebx
mov dword [esp], ecx
mov eax, ecx
add esp, 0x344
ret 8
mov eax, dword [esi + 0x10]
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x48], edx
push edi
mov dword [esp + 0x50], edx
mov edx, dword [esi]
push 0x104b
push edx
mov dword [esp + 0x20], 1
mov dword [esp + 0x34], 4
mov dword [esp + 0x38], eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esi + 0x20]
cmp eax, edi
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x20], ecx
je case.0x45da51.174
cmp word [eax], di
jne 0x45dc21
mov eax, dword [0x613f28]
push 0xc526
push eax
call sym.vidcap60.exe__SfGetString_8
mov ecx, dword [esp + 0x358]
push eax
push 0x10
push ecx
call sym.vidcap60.exe_SfMsgBox
add esp, 0xc
mov dword [esp + 0x10], edi
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
push 0x104
lea edx, [esp + 0x150]
lea ebx, [ecx + 0x238]
push edx
push ebx
call sym.vidcap60.exe__SfGetPathNameFromFilePath_12
push ebx
call sym.vidcap60.exe__SfGetFileNameExtensionPtrW_4
mov ebp, eax
lea eax, [esp + 0x14c]
push eax
call fcn.004049f0
mov edi, 0x103
push ebp
sub edi, eax
call fcn.004049f0
sub edi, eax
jns 0x45dc64
xor edi, edi
jmp 0x45dc71
cmp edi, 0x80
jbe 0x45dc71
mov edi, 0x80
mov ecx, dword [esi + 0x20]
push edi
push ecx
lea edx, [esp + 0x54]
push edx
call fcn.004049b0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
push 0
lea esi, [ebp + 0x440]
push esi
push edi
call fcn.004490b0
test eax, eax
je 0x45dcef
push 0
lea ecx, [esp + 0x50]
push ecx
push eax
push edi
call fcn.00449870
test eax, eax
je 0x45dcef
mov eax, dword [0x613f28]
push esi
lea edx, [esp + 0x50]
push edx
push 0xc516
push eax
call sym.vidcap60.exe__SfGetString_8
mov ecx, dword [esp + 0x360]
push eax
push 0x10
push ecx
call sym.vidcap60.exe_SfMsgBox
add esp, 0x14
pop edi
pop esi
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0x344
ret 8
push 0x104
lea edx, [esp + 0x150]
push edx
push ebx
call sym.vidcap60.exe__SfGetPathNameFromFilePath_12
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x150]
push ecx
call dword [0x5d24cc]
add esp, 8
push ebx
call sym.vidcap60.exe__SfGetFileNameExtensionPtrW_4
push eax
lea edx, [esp + 0x150]
push edx
call fcn.00413370
lea eax, [esp + 0x14c]
push eax
push ebx
call fcn.00404a10
test eax, eax
je 0x45dd90
lea ecx, [esp + 0x14c]
push ecx
call sym.vidcap60.exe__SfDoesFileExist_4
test eax, eax
je 0x45dd90
lea edx, [esp + 0x4c]
push edx
push 0xc551
mov eax, dword [0x613f28]
push eax
call sym.vidcap60.exe__SfGetString_8
mov ecx, dword [esp + 0x35c]
push eax
push 0x10
push ecx
call sym.vidcap60.exe_SfMsgBox
add esp, 0x10
pop edi
pop esi
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
pop ebp
pop ebx
add esp, 0x344
ret 8
lea edx, [esp + 0x4c]
push edx
call fcn.00462150
test eax, eax
jne 0x45ddaa
push str.___:__________
push 0xc517
jmp 0x45dd59
push 0x104
lea edx, [esp + 0x50]
push edx
lea esi, [ebp + 0x30]
push esi
call dword [0x5d2618]
mov eax, dword [esp + 0x1c]
add esp, 0xc
pop edi
mov word [esi + 0x206], 0
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8
mov eax, dword [esi + 0x10]
push eax
lea ecx, [ebx + 0x10c]
push ecx
call fcn.00422f20
mov edx, dword [esi]
push 0x45cd00
push ebx
push 0x1030
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x344
ret 8