Function at 0x413900
Capabilities:
Log keystrokes via application hook

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [0x45dbd8]
push esi
push edi
push 2
mov eax, ebp
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov dword [esp + 0x10], eax
mov eax, dword [0x45dbd4]
cdq
mov esi, eax
mov eax, dword [0x45dbcc]
push 2
mov edi, edx
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
push 1
push 0xba7a7bcd
push edi
push esi
mov ebx, eax
call fcn.004305f0
push 2
push 0x1b912b5c
push edi
push esi
sub ebx, eax
call fcn.004305f0
mov esi, dword [esp + 0x10]
mov edi, dword [0x45dbe0]
add ebx, eax
mov eax, dword [0x45dbdc]
mov ecx, eax
imul ecx, ecx, 0x6d4760f7
add ecx, esi
mov esi, edi
imul esi, esi, 0x264da184
add ecx, ebx
add esi, ecx
mov ecx, dword [section.fdgerw_c]
test ecx, ecx
mov dword [0x45dbc4], esi
jne 0x413a11
mov ecx, dword [0x5717f0]
test ecx, ecx
jne 0x413a11
push 1
cdq
push 0xc6fcd893
push edx
push eax
call fcn.004305f0
imul ebp, ebp, 0x7672ee00
mov ecx, dword [0x45dbd0]
mov esi, eax
mov eax, 0x1f64bb9f
mul edi
imul edi, edi, 0x3053d3f1
shr edx, 0x1c
sub esi, edx
mov eax, 0x2d0ae8c5
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1f
add esi, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0x45291d0f
imul ecx
sar edx, 0x1d
add esi, edi
mov eax, edx
shr eax, 0x1f
add esi, edx
pop edi
add eax, esi
add eax, ebp
pop esi
pop ebp
mov dword [0x45dbc8], eax
mov eax, 1
pop ebx
add esp, 8
ret
mov eax, dword [0x45dbc8]
push 2
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
mov ebx, eax
push 1
mov eax, edi
cdq
push 0xba7a7bcd
push edx
push eax
call fcn.004305f0
add ebx, eax
mov eax, 0x1f64bb9f
mul dword [0x45dbd0]
shr edx, 0x1c
sub ebx, edx
mov eax, 0x9a168f41
mul dword [0x45dbdc]
shr edx, 0x1f
add ebx, edx
mov eax, 0x45291d0f
imul dword [0x45dbd4]
mov ecx, esi
imul ecx, ecx, 0x1531b042
sar edx, 0x1d
mov eax, edx
sub ebx, ecx
shr eax, 0x1f
add ebx, edx
mov edx, dword [esp + 0x10]
add eax, ebx
mov ebx, dword [0x45dbe8]
sub eax, edx
mov dword [0x45dbcc], eax
push 2
mov eax, ebx
cdq
push 0xbeb5aaf
push edx
push eax
call fcn.004305f0
imul esi, esi, 0xf414a551
imul ebx, ebx, 0x1531b042
sub esi, eax
mov eax, 0x9a168f41
mul dword [0x45dbd0]
shr edx, 0x1f
sub esi, edx
mov eax, 0x45291d0f
imul ebp
sar edx, 0x1d
mov ecx, edx
sub esi, ebx
add esi, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x7d86eec7
shr ecx, 0x1f
add ecx, esi
sub ecx, edx
lea eax, [ecx + edi - 0x7672ee00]
mov ecx, dword [section.fdgerw_c]
push ecx
mov dword [0x45dbd0], eax
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov ebx, dword [0x45dbc8]
mov esi, dword [0x45dbe8]
mov edi, eax
test edi, edi
je 0x413b7e
mov eax, dword [0x45dbdc]
push 1
cdq
push 0x388a7f11
mov ebp, eax
push edx
push ebp
mov dword [esp + 0x24], edx
call fcn.004305f0
mov edx, dword [esp + 0x14]
push 2
push 0x1b912b5c
push edx
push ebp
mov dword [esp + 0x20], eax
call fcn.004305f0
mov ecx, dword [esp + 0x10]
mov edx, dword [0x45dbc4]
sub eax, ecx
imul edx, edx, 0x4f22272
mov ecx, esi
imul ecx, ecx, 0x1b912b5c
add eax, ecx
add edx, dword [0x45dbe4]
mov ecx, ebx
imul ecx, ecx, 0x264da184
add edx, eax
xor eax, eax
lea edx, [ecx + edx + 0x7672ee00]
mov dword [0x45dbd4], edx
mov dword [section.fdgerw_c], eax
mov dword [0x5717f0], eax
mov eax, dword [0x45dbe0]
push 1
cdq
push 0x388a7f11
push edx
push eax
call fcn.004305f0
mov ebp, eax
push 2
mov eax, ebx
cdq
push 0x1b912b5c
push edx
push eax
call fcn.004305f0
sub ebp, eax
mov eax, dword [0x45dbc4]
push 1
cdq
push 0xeace4fbe
push edx
push eax
call fcn.004305f0
imul ebx, ebx, 0x1b912b5c
mov ecx, dword [0x45dbcc]
add ebp, eax
imul ecx, ecx, 0x388a7f11
mov eax, 0x2d0ae8c5
mul esi
mov eax, esi
imul esi, esi, 0x7672ee00
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
add ebp, eax
sub ebp, ecx
add ebp, ebx
sub ebp, esi
mov eax, edi
pop edi
pop esi
mov dword [0x45dbd8], ebp
pop ebp
pop ebx
add esp, 8
ret