Function at 0x4f4430
Capabilities:
Log keystrokes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53a820
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp + 8]
lea esi, [edi + 0x2c]
mov dword [edi + 0x48], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x40], ebx
mov dword [esi + 4], ebx
mov byte [esi + 0xc], 0
mov eax, dword [edi + 0x1ac]
push 1
push eax
mov ecx, esi
call fcn.0051c450
push 0x2711
lea ecx, [ebp - 0x24]
push ecx
mov ecx, 0x5776a0
call fcn.00471480
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x24]
mov ecx, eax
test eax, eax
jne 0x4f44ab
mov ecx, 0x54ee24
mov eax, dword [esi + 4]
test eax, eax
je 0x4f44d9
test ecx, ecx
je 0x4f44d9
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4f44e5
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x4f44e5
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov dword [eax + esi], 0x57
push 0x8100
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 1
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f4518
push eax
call fcn.0051ebab
add esp, 4
lea esi, [edi + 0x13c]
mov dword [ebp - 0x18], esi
test ebx, ebx
je 0x4f455b
push 0x3e9
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4f4547
push 0x3e9
push ebx
mov edi, eax
call fcn.004351f0
mov edi, dword [ebp - 0x10]
jmp 0x4f456b
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 4]
lea esi, [edx + esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
jmp 0x4f456b
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
lea esi, [ecx + esi + 0x10]
mov dword [esi], 0x57
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4577
mov ecx, 0x54ee24
mov eax, dword [edi + 0x150]
lea esi, [edi + 0x14c]
test eax, eax
je 0x4f45ae
test ecx, ecx
je 0x4f45ae
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4f45ba
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x4f45ba
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov dword [eax + esi], 0x57
push 0x80ed
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f45ed
push eax
call fcn.0051ebab
add esp, 4
lea esi, [edi + 0x160]
test ebx, ebx
je 0x4f462d
push 0x3ea
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4f4619
push 0x3ea
push ebx
mov edi, eax
call fcn.004351f0
mov edi, dword [ebp - 0x10]
jmp 0x4f463d
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 4]
lea esi, [edx + esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
jmp 0x4f463d
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
lea esi, [ecx + esi + 0x10]
mov dword [esi], 0x57
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4649
mov ecx, 0x54ee24
mov eax, dword [edi + 0x174]
lea esi, [edi + 0x170]
test eax, eax
je 0x4f4680
test ecx, ecx
je 0x4f4680
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4f468c
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
jmp 0x4f468c
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov dword [eax + esi], 0x57
cmp dword [edi + 0x1b0], 0
jne 0x4f472c
push 0x4e3b
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f46cc
push eax
call fcn.0051ebab
add esp, 4
lea esi, [edi + 0xd0]
test ebx, ebx
je 0x4f4709
push 0x1771
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4f46f5
push 0x1771
push ebx
mov edi, eax
call fcn.004351f0
jmp 0x4f4719
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 4]
lea edi, [edx + esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], eax
jmp 0x4f4719
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
lea eax, [ecx + esi + 0x10]
mov dword [eax], 0x57
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4725
mov ecx, 0x54ee24
mov eax, esi
call fcn.00405d30
mov esi, dword [ebp - 0x10]
mov edi, dword [0x577698]
mov ecx, dword [ebp + 8]
push 1
push 0x1389
add esi, 0x50
push edi
mov ebx, 1
mov edx, esi
call fcn.004ae7b0
test al, al
je 0x4f476a
mov ebx, 0xc351
mov eax, esi
call fcn.004ae970
test al, al
je 0x4f476a
mov edx, esi
call fcn.004ae9e0
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
push 1
push 0x138a
add esi, 0x90
push edi
mov ebx, 1
mov edx, esi
call fcn.004ae7b0
test al, al
je 0x4f47a5
mov ebx, 0xc352
mov eax, esi
call fcn.004ae970
test al, al
je 0x4f47a5
mov edx, esi
call fcn.004ae9e0
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0x10]
push edx
mov edx, 0x9c6
add esi, 0x184
lea ecx, [edx - 1]
mov edi, 2
call fcn.004bea60
push 0x9c5
mov ebx, esi
call fcn.004bec60
push 0x9c6
call fcn.004bec60
push 0x4e3c
lea eax, [ebp - 0x30]
push eax
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 4
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f480d
push eax
call fcn.0051ebab
add esp, 4
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4819
mov ecx, 0x54ee24
mov eax, 0x9c5
mov ebx, esi
call fcn.004bee00
push 0x4e3e
lea ecx, [ebp - 0x30]
push ecx
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 5
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f4858
push eax
call fcn.0051ebab
add esp, 4
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4864
mov ecx, 0x54ee24
mov eax, 0x9c6
mov ebx, esi
call fcn.004bee00
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x1b0]
test eax, eax
jne 0x4f48b2
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4f4899
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
mov byte [edi + 0x1b4], 0
jmp 0x4f48d4
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + 4]
lea eax, [ecx + eax + 0x10]
mov dword [eax], 6
mov byte [edi + 0x1b4], 0
jmp 0x4f48d4
cmp eax, 1
jne 0x4f48be
mov eax, 0x9c5
jmp 0x4f48c8
cmp eax, 2
jne 0x4f48cd
mov eax, 0x9c6
call fcn.004beda0
mov byte [edi + 0x1b4], 1
push 0x4e3d
lea edx, [ebp - 0x30]
push edx
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f4907
push eax
call fcn.0051ebab
add esp, 4
mov ebx, dword [ebp + 8]
lea esi, [edi + 0xf4]
test ebx, ebx
je 0x4f494c
push 0x1772
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4f4938
push 0x1772
mov ecx, ebx
push ecx
mov edi, eax
call fcn.004351f0
mov edi, dword [ebp - 0x10]
jmp 0x4f495c
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 4]
lea esi, [eax + esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
jmp 0x4f495c
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 4]
lea esi, [edx + esi + 0x10]
mov dword [esi], 0x57
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4968
mov ecx, 0x54ee24
mov eax, dword [edi + 0x108]
lea esi, [edi + 0x104]
test eax, eax
je 0x4f499b
test ecx, ecx
je 0x4f499b
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4f49a7
mov eax, dword [esi]
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + esi], eax
mov edi, dword [ebp - 0x10]
jmp 0x4f49a7
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov dword [eax + esi], 0x57
push 0x4e3f
lea edx, [ebp - 0x30]
push edx
mov ecx, 0x5776a0
call fcn.00471480
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 7
call fcn.00508010
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4f49da
push eax
call fcn.0051ebab
add esp, 4
lea esi, [edi + 0x118]
test ebx, ebx
je 0x4f4a20
push 0x1773
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x4f4a0c
mov ecx, dword [ebp + 8]
push 0x1773
push ecx
mov edi, eax
call fcn.004351f0
mov ebx, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
jmp 0x4f4a30
mov edx, dword [esi + 0x10]
mov eax, dword [edx + 4]
lea esi, [eax + esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi], eax
jmp 0x4f4a30
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + 4]
lea esi, [edx + esi + 0x10]
mov dword [esi], 0x57
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jne 0x4f4a3c
mov ecx, 0x54ee24
mov eax, dword [edi + 0x12c]
lea esi, [edi + 0x128]
test eax, eax
je 0x4f4a6c
test ecx, ecx
je 0x4f4a6c
push ecx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextW]
test eax, eax
jne 0x4f4a78
mov eax, dword [esi]
mov edi, dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + esi], eax
jmp 0x4f4a78
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov dword [eax + esi], 0x57
test ebx, ebx
je 0x4f4abe
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, ebx
je 0x4f4abe
lea edx, [ebp - 0x18]
push edx
push eax
mov dword [ebp - 0x18], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
mov edi, eax
push esi
push edi
call ebx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0
push esi
push edi
call ebx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4f4ad5
push eax
call fcn.0051ebab
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc