Function at 0x140050c78
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r14
mov qword [rax + 0x20], r15
push rbp
lea rbp, [rax - 0xb8]
sub rsp, 0x1b0
mov rax, qword [0x140069040]
xor rax, rsp
mov qword [rbp + 0xa0], rax
lea rax, [0x140050980]
mov dword [rsp + 0x70], 0x50
xor r14d, r14d
mov qword [rsp + 0x78], rax
xor ecx, ecx
mov qword [rbp - 0x80], r14
mov dword [rsp + 0x74], 0x40
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x78], rax
lea rcx, [rsp + 0x70]
lea rax, str.JustBlowMyCock
movdqa xmmword [rbp - 0x70], xmm0
xorps xmm1, xmm1
mov qword [rbp - 0x50], rax
movdqa xmmword [rbp - 0x60], xmm1
call qword [sym.imp.USER32.dll_RegisterClassExW]
lea r15d, [r14 + 1]
mov ecx, r15d
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov rcx, qword [rbp - 0x78]
lea r8, str.Madeitforfun
mov rdx, qword [rbp - 0x50]
mov r9d, 0x80000000
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], rcx
mov ecx, 0x8000028
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
call qword [sym.imp.USER32.dll_CreateWindowExW]
lea r9d, [r14 + 2]
mov r8b, 0xff
mov rcx, rax
xor edx, edx
mov rdi, rax
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movdqa xmm0, xmmword [0x14005ff00]
lea rdx, [rbp - 0x10]
mov rcx, rdi
movdqu xmmword [rbp - 0x10], xmm0
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov rcx, rdi
call fcn.140050b38
test al, al
jne 0x140050da6
call fcn.140050ad4
jmp 0x140051089
mov edx, 0xa
mov rcx, rdi
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, rdi
call qword [sym.imp.USER32.dll_UpdateWindow]
lea rcx, str.1.88
mov rdx, rcx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
call fcn.140025f50
mov rbx, qword [0x1400a7a68]
xor ecx, ecx
or dword [rbx + 8], 3
call fcn.14003c364
mov rcx, rdi
call fcn.140040ddc
call fcn.14003e658
lea rcx, [rbp]
call fcn.1400318cc
movss xmm3, dword [0x14005fdb4]
lea rdx, [0x1400805d0]
mov byte [rbp + 0x48], r15b
mov r8d, 0x1329c
mov dword [rbp + 0x44], 0x41500000
mov rcx, qword [rbx + 0x50]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.140031000
movss xmm3, dword [0x14005fda8]
lea rdx, [0x1400805d0]
mov rcx, qword [rbx + 0x50]
mov r8d, 0x1329c
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
call fcn.140031000
movss xmm3, dword [0x14005fdb8]
lea rdx, [0x140069410]
mov rcx, qword [rbx + 0x50]
mov r8d, 0x15b4
mov qword [0x1400a7a78], rax
lea rax, [0x14005fb1c]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.140031000
movss xmm3, dword [0x14005fda0]
lea rdx, [0x140093870]
mov rcx, qword [rbx + 0x50]
mov r8d, 0x13398
mov qword [rsp + 0x28], r14
mov qword [0x1400a7ac8], rax
mov qword [rsp + 0x20], r14
call fcn.140031000
mov qword [0x1400a7a88], rax
mov ebx, 0xffffffec
mov ecx, dword [0x1400a6de4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test r15b, al
je 0x140050ee9
cmp byte [0x140069400], r14b
sete byte [0x140069400]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x60], r14d
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowDisplayAffinity]
cmp byte [0x1400a6de0], r14b
je 0x140050f13
cmp dword [rsp + 0x60], r14d
jne 0x140050f45
mov edx, 0x11
jmp 0x140050f1c
cmp dword [rsp + 0x60], 0x11
jne 0x140050f45
xor edx, edx
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
jmp 0x140050f45
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rbp - 0x38], 0x12
je 0x14005106c
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea rcx, [rbp - 0x40]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140050f27
call fcn.14003e594
call fcn.140040430
call fcn.1400245c8
lea rcx, [0x1400a8e78]
call fcn.14000f968
call fcn.140016a74
call fcn.140015ab4
call fcn.140014f70
call fcn.14001540c
call fcn.14000c864
call fcn.140054404
cmp byte [0x1400a81a0], r14b
je 0x140050fbf
movd xmm0, dword [0x1400a8198]
mov r8b, byte [0x1400a81a2]
mov dl, byte [0x1400a81a1]
cvtdq2ps xmm0, xmm0
call fcn.140053544
cmp byte [0x140069400], r14b
je 0x140050fd5
call fcn.1400510cc
mov r8d, 0x80088
jmp 0x140050fdb
mov r8d, 0x800a8
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowLongA]
call fcn.140022c3c
mov rcx, qword [0x1400a7b08]
lea r8, [0x1400a7af0]
xorps xmm0, xmm0
xor r9d, r9d
movups xmmword [rbp + 0x90], xmm0
mov edx, r15d
mov rax, qword [rcx]
call qword [rax + 0x108]
mov rcx, qword [0x1400a7b08]
lea r8, [rbp + 0x90]
mov rdx, qword [0x1400a7af0]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x1400a7a68]
mov rcx, qword [rax + 0x40e0]
mov rdx, qword [rcx]
add rdx, 0x78
mov al, byte [rdx]
neg al
sbb rcx, rcx
and rcx, rdx
call fcn.14003ee10
mov rcx, qword [0x1400a7af8]
xor r8d, r8d
mov edx, r15d
mov rax, qword [rcx]
call qword [rax + 0x40]
jmp 0x140050eca
call fcn.14003e5c8
call fcn.140040d6c
call fcn.140025ef8
call fcn.140050ad4
mov rcx, rdi
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.USER32.dll_UnregisterClassW]
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.14000b7b0
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov r14, qword [r11 + 0x20]
mov r15, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret