Function at 0x447e30
Capabilities:
Create thread
Log keystrokes via polling
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b7c35
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x4f8f48]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x4f8fe4], 0
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
je 0x447edd
cmp byte [0x9705fe], 0
jne 0x447edd
push 4
call fcn.004b56e8
mov dword [ebp - 0x38], eax
mov dword [eax], 0x447d50
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0
push ecx
push 0
push eax
push 0x44bdd0
push 0
push 0
call esi
add esp, 0x1c
mov dword [ebp - 0x34], eax
test eax, eax
je 0x447ece
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 1
call fcn.00440b60
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x30], 0
mov byte [0x9705fe], 1
je 0x447edd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
push 6
mov dword [ebp - 0x30], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
cmp byte [0x4f8fe3], 0
je 0x447f44
cmp byte [0x970610], 0
jne 0x447f44
push 4
call fcn.004b56e8
mov dword [ebp - 0x38], eax
mov dword [eax], 0x447cb0
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 2
push ecx
push 0
push eax
push 0x44bdd0
push 0
push 0
call esi
add esp, 0x1c
mov dword [ebp - 0x34], eax
test eax, eax
je 0x447ece
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 3
call fcn.00440b60
cmp dword [ebp - 0x30], 0
mov byte [0x970610], 1
je 0x447f44
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x2d
call edi
test al, 1
je 0x447f7e
cmp byte [0x4f8f98], 0
sete al
mov byte [0x4f8f98], al
test al, al
je 0x447f69
push 0
jmp 0x447f6b
push 1
push 0x2000d
push dword [0x4fc414]
call fcn.0049ea80
add esp, 0xc
push 0x23
call edi
test al, 1
je 0x447f8e
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0x79
call edi
mov esi, dword [sym.imp.USER32.dll_SendInput]
mov ecx, 0x56
test al, 1
je 0x447fdc
cmp byte [0x4f8fb2], 0
sete al
mov byte [0x4f8fb2], al
test al, al
je 0x447fdc
push 0x1c
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x2c], xmm0
push 1
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x2c], 1
mov word [ebp - 0x28], cx
call esi
push 0x77
call edi
test al, 1
je 0x448024
cmp byte [0x4f8fb3], 0
sete al
mov byte [0x4f8fb3], al
test al, al
je 0x448024
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x2c], xmm0
mov eax, 0x56
mov dword [ebp - 0x2c], 1
movq qword [ebp - 0x1c], xmm0
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x2c]
push 0x1c
push eax
push 1
call esi
push 0x78
call edi
test al, 1
je 0x44806c
cmp byte [0x4f8f99], 0
sete al
mov byte [0x4f8f99], al
test al, al
je 0x44806c
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x2c], xmm0
mov eax, 0x56
mov dword [ebp - 0x2c], 1
movq qword [ebp - 0x1c], xmm0
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x2c]
push 0x1c
push eax
push 1
call esi
cmp byte [0x970613], 0
je 0x448295
push 0xa2
call edi
push 0x3d
mov si, ax
call edi
test ax, si
je 0x448092
inc dword [0x4f8fa0]
push 0xa2
call edi
push 0x2d
mov si, ax
call edi
test ax, si
je 0x4480ab
dec dword [0x4f8fa0]
push 0xa2
call edi
push 0x60
mov si, ax
call edi
test ax, si
je 0x4480dc
mov dword [0x4f8fa0], 0x18
mov dword [0x4f8fac], 0xa
mov dword [0x4f8fa8], 0x12
push 0xa2
call edi
push 0x61
mov si, ax
call edi
test ax, si
je 0x44810d
mov dword [0x4f8fa0], 8
mov dword [0x4f8fac], 7
mov dword [0x4f8fa8], 4
push 0xa2
call edi
push 0x62
mov si, ax
call edi
test ax, si
je 0x44813e
mov dword [0x4f8fa0], 0xc
mov dword [0x4f8fac], 6
mov dword [0x4f8fa8], 8
push 0xa2
call edi
push 0x63
mov si, ax
call edi
test ax, si
je 0x44816f
mov dword [0x4f8fa0], 0x10
mov dword [0x4f8fac], 5
mov dword [0x4f8fa8], 0xc
push 0xa2
call edi
push 0x64
mov si, ax
call edi
test ax, si
je 0x4481a0
mov dword [0x4f8fa0], 9
mov dword [0x4f8fac], 3
mov dword [0x4f8fa8], 3
push 0xa2
call edi
push 0x65
mov si, ax
call edi
test ax, si
je 0x4481d1
mov dword [0x4f8fa0], 0xc
mov dword [0x4f8fac], 3
mov dword [0x4f8fa8], 6
push 0xa2
call edi
push 0x66
mov si, ax
call edi
test ax, si
je 0x448202
mov dword [0x4f8fa0], 0x10
mov dword [0x4f8fac], 3
mov dword [0x4f8fa8], 8
push 0xa2
call edi
push 0x67
mov si, ax
call edi
test ax, si
je 0x448233
mov dword [0x4f8fa0], 9
mov dword [0x4f8fac], 2
mov dword [0x4f8fa8], 4
push 0xa2
call edi
push 0x68
mov si, ax
call edi
test ax, si
je 0x448264
mov dword [0x4f8fa0], 0xc
mov dword [0x4f8fac], 2
mov dword [0x4f8fa8], 6
push 0xa2
call edi
push 0x69
mov si, ax
call edi
test ax, si
je 0x448295
mov dword [0x4f8fa0], 0x14
mov dword [0x4f8fac], 2
mov dword [0x4f8fa8], 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b50b5
mov esp, ebp
pop ebp
ret