Function at 0x414270
Capabilities:
Log keystrokes via application hook

Disassembly:
sub esp, 0x18
mov eax, dword [0x45ecd4]
push ebx
push ebp
push esi
mov esi, dword [0x45eccc]
push edi
cdq
push 1
mov ebp, eax
mov ecx, edx
push 0xeae0c6d3
mov eax, esi
cdq
push ecx
push ebp
mov dword [esp + 0x34], ecx
mov edi, eax
mov dword [esp + 0x2c], edx
call fcn.004319f0
mov ebx, dword [0x45ece8]
push 1
imul ebx, ebx, 0x6b66a94
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
push 0x86050f76
push eax
push edi
call fcn.004319f0
mov ecx, dword [esp + 0x1c]
push 2
push 0xb57eb16
push ecx
push edi
mov dword [esp + 0x28], eax
call fcn.004319f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push 2
push 0xb57eb16
push edx
sub eax, ecx
push ebp
mov dword [esp + 0x28], eax
call fcn.004319f0
mov ecx, dword [esp + 0x18]
mov edi, dword [0x45ecdc]
sub ecx, eax
imul edi, edi, 0x5295f78d
mov eax, esi
imul eax, eax, 0x140cef57
sub ecx, eax
mov eax, dword [section.dfsaewr4]
add ecx, ebx
add edi, ecx
add edi, dword [esp + 0x10]
test eax, eax
mov dword [str._r_____r____], edi
jne 0x4143b2
mov eax, dword [0x5727f0]
test eax, eax
jne 0x4143b2
mov esi, dword [0x45ecd0]
push 1
mov eax, esi
cdq
push 0xebf310a9
push edx
push eax
call fcn.004319f0
mov edi, eax
mov eax, dword [0x45ece4]
push 1
cdq
push 0x5295f78d
push edx
push eax
call fcn.004319f0
mov ecx, dword [0x45ece0]
sub edi, eax
imul ecx, ecx, 0x7f4ea4e2
mov eax, 0x4d7937c3
mul esi
shr edx, 0x1e
add edi, edx
mov eax, 0x2a01e433
imul esi
sub edi, ecx
mov ecx, dword [0x45ecc8]
sar edx, 0x1c
imul ecx, ecx, 0x6181b446
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
pop edi
pop esi
add eax, ecx
pop ebp
mov dword [0x45ecc8], eax
mov eax, 1
pop ebx
add esp, 0x18
ret
mov edx, dword [esp + 0x24]
push 1
push 0x5295f78d
push edx
push ebp
call fcn.004319f0
mov ecx, eax
mov eax, 0x2a215c6f
mul esi
sub esi, edx
shr esi, 1
add esi, edx
mov edx, dword [0x45ece0]
shr esi, 0x1f
imul edx, edx, 0x140cef57
add ecx, esi
mov esi, dword [0x45ece4]
mov eax, esi
imul eax, eax, 0x6181b446
sub ecx, edx
mov edx, dword [esp + 0x10]
add ecx, eax
sub ecx, ebx
sub ecx, edi
lea eax, [ecx + edx - 0x4f64023c]
mov dword [0x45eccc], eax
mov eax, dword [0x45ecdc]
push 2
cdq
push 0xb57eb16
push edx
push eax
call fcn.004319f0
mov edi, eax
mov eax, dword [0x45ecd0]
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
mov ecx, dword [0x45ecd8]
mov edx, ecx
imul edx, edx, 0xb57eb16
mov ebp, eax
sub ebp, edi
add ebp, edx
mov eax, 0x2a01e433
imul ecx
mov ecx, dword [0x45ecc8]
imul ecx, ecx, 0x5295f78d
sar edx, 0x1c
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
add eax, ecx
sub eax, esi
lea edx, [eax + ebx - 0x6181b446]
mov eax, dword [section.dfsaewr4]
push eax
mov dword [0x45ecd0], edx
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov esi, dword [0x45ece0]
mov ebx, eax
test ebx, ebx
je 0x4144fc
mov edi, dword [0x45ecdc]
push 1
mov eax, edi
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ecd8]
add edx, ecx
imul ecx, ecx, 0x151f392d
imul edx, edx, 0x5295f78d
mov ebp, eax
add ebp, edx
mov eax, 0x2a215c6f
mul edi
mov eax, edi
imul edi, edi, 0x140cef57
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
sub ebp, eax
sub ebp, edi
sub ebp, ecx
xor eax, eax
lea ecx, [esi + ebp - 0x6181b446]
mov dword [0x45ecd4], ecx
mov dword [section.dfsaewr4], eax
mov dword [0x5727f0], eax
mov edi, dword [0x45ece8]
mov eax, edi
cdq
mov ebp, eax
mov eax, dword [0x45ecd4]
push 1
mov dword [esp + 0x18], edx
cdq
push 0xeae0c6d3
push edx
push eax
mov dword [esp + 0x20], ebp
call fcn.004319f0
mov edx, dword [esp + 0x14]
push 0xfffffffffffffffe
push 0x140cef57
push edx
push ebp
mov dword [esp + 0x28], eax
call fcn.004319f0
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x18]
push 2
sub ebp, eax
mov eax, dword [esp + 0x18]
push 0x6b66a94
push eax
push ecx
call fcn.004319f0
imul edi, edi, 0x6181b446
mov ecx, dword [0x45ecc8]
add ebp, eax
imul ecx, ecx, 0x151f392d
mov eax, 0x2a215c6f
mul esi
mov eax, esi
imul esi, esi, 0x242d3a05
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
add ebp, eax
sub ebp, edi
sub ebp, ecx
pop edi
sub ebp, esi
pop esi
mov dword [0x45ecd8], ebp
pop ebp
mov eax, ebx
pop ebx
add esp, 0x18
ret