Function at 0x44f814
Capabilities:
Log keystrokes via application hook

Disassembly:
push 0x58
mov eax, 0x4a5655
call fcn.004a0680
mov edi, ecx
push 0x419a34
push 4
push 0x4b70a8
call fcn.00499e19
mov ebx, dword [ebp + 8]
add esp, 0xc
mov byte [ebp - 0x5d], 0
cmp dword [edi], ebx
je 0x44fb08
mov ecx, edi
call fcn.0044fb10
test bl, 1
je 0x44f970
push 0x419a4c
push 4
push 0x4b70a8
call fcn.00499e19
add esp, 0xc
push 0
push 0x400000
push 0x44fd60
push 0xd
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [edi + 0x44], eax
test eax, eax
jne 0x44f96c
push 0x419a64
push 2
push 0x4b70a8
call fcn.00499e19
add esp, 0xc
call fcn.00430cf9
mov al, byte [eax + 0x58]
test al, al
je 0x44f96c
mov eax, dword [edi + 0x88]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x44f96c
mov eax, dword [eax]
push edi
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x4d06a8]
mov ecx, dword [ebp - 0x64]
call esi
test eax, eax
je 0x44f96c
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.0049bb5d
and dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x18], 0
xor eax, eax
push 0x1c
push 0x419a84
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004262aa
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 1
push eax
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00450968
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.004258b7
cmp dword [ebp - 0x2c], 8
lea esi, [ebp - 0x40]
jb 0x44f931
mov esi, dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x44f943
movzx eax, ax
or eax, 0x80070000
push esi
push 0x415ba4
push eax
push 0x64
call fcn.00430cf9
mov ecx, eax
call fcn.00431246
lea ecx, [ebp - 0x40]
call fcn.004258b7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004258b7
mov byte [ebp - 0x5d], 1
test bl, 2
je 0x44fa97
push 0x419ac0
push 4
push 0x4b70a8
call fcn.00499e19
add esp, 0xc
push 0
push 0x400000
push 0x44fc60
push 0xe
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
mov dword [edi + 0x48], eax
test eax, eax
jne 0x44fa93
push 0x419ad4
push 2
push 0x4b70a8
call fcn.00499e19
add esp, 0xc
call fcn.00430cf9
mov al, byte [eax + 0x58]
test al, al
je 0x44fa93
mov eax, dword [edi + 0x88]
mov dword [ebp - 0x64], eax
test eax, eax
je 0x44fa93
mov eax, dword [eax]
push edi
mov esi, dword [eax + 0x24]
mov ecx, esi
call dword [0x4d06a8]
mov ecx, dword [ebp - 0x64]
call esi
test eax, eax
je 0x44fa93
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.0049bb5d
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x28]
and dword [ebp - 0x18], 0
xor eax, eax
push 0x19
push 0x419af0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.004262aa
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 5
push eax
lea edx, [ebp - 0x28]
lea ecx, [ebp - 0x40]
call fcn.00450968
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.004258b7
cmp dword [ebp - 0x2c], 8
lea esi, [ebp - 0x40]
jb 0x44fa58
mov esi, dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x44fa6a
movzx eax, ax
or eax, 0x80070000
push esi
push 0x415ba4
push eax
push 0x64
call fcn.00430cf9
mov ecx, eax
call fcn.00431246
lea ecx, [ebp - 0x40]
call fcn.004258b7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.004258b7
mov byte [ebp - 0x5d], 1
test bl, 4
je 0x44fae7
push 0x419b24
push 4
push 0x4b70a8
call fcn.00499e19
mov al, byte [ebp - 0x59]
sub esp, 0x1c
mov ecx, esp
mov dword [ecx], 0x404918
mov dword [ecx + 4], 0x450400
mov byte [ecx + 8], al
mov al, byte [ebp - 0x59]
mov byte [ecx + 9], al
mov dword [ecx + 0xc], edi
mov dword [ecx + 0x24], ecx
lea ecx, [edi + 0x50]
call fcn.0048384f
push 1
lea ecx, [edi + 0x50]
call fcn.004837e7
mov byte [ebp - 0x5d], 1
push dword [ebp - 0x5d]
mov ecx, 0x4b7144
call fcn.0049c869
push 0x419b40
push 4
push 0x4b70a8
call fcn.00499e19
add esp, 0xc
call fcn.004a0600
ret 4