Function at 0x43f9b0
Capabilities:
Create thread
Hide graphical window
Log keystrokes via polling
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4418d0
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x44b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 4
call fcn.00440032
add esp, 4
lea ecx, [ebp - 0x14]
mov dword [eax], 0x43f980
push ecx
push 0
push eax
push 0x43ff40
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
mov dword [ebp - 0x18], eax
test eax, eax
je 0x43fe1c
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3e8
mov dword [ebp - 0x1c], 0
call fcn.0043fe40
mov edi, dword [sym.imp.USER32.dll_GetForegroundWindow]
call edi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [0x44b624], eax
test eax, eax
je 0x43fa51
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43fa51
push 0
push dword [0x44b624]
call esi
push 0x43f990
call fcn.004403f1
add esp, 4
mov dword [0x44b650], 0x30
mov dword [0x44b654], 0x40
mov dword [0x44b658], 0x401220
mov dword [0x44b65c], 0
push 0
mov dword [0x44b660], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov dword [0x44b664], eax
push 0x44b650
movups xmmword [0x44b668], xmm0
mov dword [0x44b678], 0x447ef4
mov dword [0x44b67c], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [0x44b664]
push 0
push 0
push 0x1f4
push 0x1f4
push 0x64
push 0x64
push 0x80000000
push str.Hyper_Aim
push str.Hyper_Aim_Class
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0xa
push eax
mov dword [0x44b648], eax
call esi
push dword [0x44b648]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x20
mov dword [ebp - 4], 0
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ecx, eax
mov dword [0x44b644], ecx
test ecx, ecx
je 0x43fbb3
push 0x44b64c
push 0x44b684
push 0x40
push dword [0x44b648]
xorps xmm0, xmm0
mov dword [0x44b698], 0
push 1
movlpd qword [0x44b684], xmm0
movlpd qword [0x44b690], xmm0
mov dword [0x44b6a0], 0
movlpd qword [0x44b6b0], xmm0
mov dword [0x44b6a4], 1
mov dword [0x44b69c], 1
mov dword [0x44b68c], 0
mov dword [0x44b6a8], 1
mov dword [0x44b6ac], 0x50
mov dword [0x44b6b8], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.004014d0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x64
mov dword [ebp - 0x1c], 0
call fcn.0043fe40
call edi
mov dword [0x44b628], eax
test eax, eax
je 0x43fbf3
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ebx, dword [sym.imp.USER32.dll_keybd_event]
nop
push 0xd
call edi
test ax, ax
je 0x43fc28
cmp byte [0x44b63c], 0
je 0x43fc28
push 0
push 0
push 0
push 0x4b
call ebx
push 0
push 2
push 0
push 0x4b
call ebx
jmp 0x43fc00
push 0x2e
call edi
test ax, ax
je 0x43fc3f
mov eax, dword [0x44b628]
test eax, eax
je 0x43fc3f
push 0
push eax
call esi
push 0x2d
call edi
test ax, ax
je 0x43fc6e
mov eax, dword [0x44b628]
test eax, eax
je 0x43fc6e
push 5
push eax
call esi
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [0x44b628]
call dword [sym.imp.USER32.dll_SetWindowPos]
call fcn.00401690
call fcn.004018e0
mov dword [ebp - 4], 1
call fcn.0040b910
mov ecx, dword [0x44b64c]
push 0
push 7
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44b64c]
push 0
push 0x1b
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44b64c]
push 0
push 0xae
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44b64c]
push 0
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
push 0xff000000
push 3
push 0
push 0
push ecx
call dword [eax + 0xac]
mov eax, dword [0x44b64c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x43fd25
call fcn.0040bce0
mov eax, dword [0x44b618]
xor ecx, ecx
mov eax, dword [eax + 0x4a34]
mov eax, dword [eax]
add eax, 0x3c
cmp byte [eax], cl
cmovne ecx, eax
call fcn.0042d640
mov eax, dword [0x44b64c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov ecx, dword [0x44b64c]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x43fd57
mov eax, dword [0x44b64c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x43fd57
call fcn.00401400
push 0x71
mov dword [ebp - 4], 0xffffffff
call edi
test ax, ax
je 0x43fdad
push dword [0x44b624]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43fdf0
mov eax, dword [0x44b624]
test eax, eax
je 0x43fdc8
push 0x44b620
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov eax, dword [0x44b620]
test eax, eax
je 0x43fdad
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x43fdad
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov eax, dword [0x44b624]
test eax, eax
je 0x43fdc8
cmp byte [0x44b680], 0
je 0x43fdc3
push 5
jmp 0x43fdc5
push 0
push eax
call esi
cmp byte [0x44b63c], 1
je 0x43fc00
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0xa
mov dword [ebp - 0x1c], 0
call fcn.0043fe40
jmp 0x43fc00
cmp dword [ebp - 0x14], 0
je 0x43fdfc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00440024
mov esp, ebp
pop ebp
ret 0x10
push 6
mov dword [ebp - 0x14], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3