Function at 0x180023c50
Capabilities:
Allocate or change rwx memory
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
movaps xmmword [r11 - 0x28], xmm6
mov rax, qword [0x1800cc040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, qword [rdx + 0x10]
mov rsi, rcx
mov qword [r11 + 8], rbx
mov ecx, 2
mov qword [r11 + 0x18], r14
mov r14, qword [0x1800cf358]
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi + 0x20], xmm2
movups xmmword [rdi + 0x30], xmm3
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm6, xmm6
test ax, ax
je 0x180023cd2
mov rax, qword [0x1800cf348]
mov rcx, qword [rax + 0xa8]
cmp byte [rcx + 0x190], 0
jne 0x180023cdf
cmp byte [0x1800cf365], 0
je 0x1800242c5
mov rbx, qword [0x1800ce798]
lea r9, [rbp + 0x23]
mov rcx, rbx
mov edx, 6
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x23]
lea r9, [rbp + 0x23]
movabs rax, 0x9090909090909090
mov edx, 6
mov dword [rbx], eax
mov rcx, rbx
mov word [rbx + 4], ax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movsxd rax, dword [rsi + 0xc0]
cmp eax, 5
ja case.default.0x180023d45
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x244c8]
add rcx, rdx
jmp rcx
lea r8, [rbp - 0x39]
mov qword [rbp - 0x39], 0x3ed82d83
mov rdx, rdi
mov dword [rbp - 0x31], 0xbe2aaaaa
lea rcx, [rbp - 0x29]
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbdcccccd
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e19999a
mov dword [rbp - 0x31], 0xbe4ccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe75c28f
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e800000
mov dword [rbp - 0x31], 0xbe4ccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
movss xmm2, dword [0x1800b6824]
lea r9, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x39], 0
mov qword [rbp - 0x35], 0x3f800000
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
mov dword [rbp - 0x31], 0
movss xmm2, dword [0x1800b6624]
mov qword [rbp - 0x39], 0x40800000
movups xmm0, xmmword [rax]
lea r9, [rbp - 0x39]
mov rdx, rdi
lea rcx, [rbp - 0x29]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
mov qword [rbp - 0x35], 0x3f800000
movups xmm0, xmmword [rax]
mov dword [rbp - 0x39], 0
movss xmm2, dword [0x1800b6764]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
jmp 0x180024387
lea r8, [rbp - 0x39]
mov qword [rbp - 0x39], 0x3ed82d83
mov rdx, rdi
mov dword [rbp - 0x31], 0xbe2aaaaa
lea rcx, [rbp - 0x29]
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe19999a
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e19999a
mov dword [rbp - 0x31], 0xbe4ccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbf000000
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x35], 0x3e99999a
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
movss xmm2, dword [0x1800b6740]
lea r9, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x39], 0
mov qword [rbp - 0x35], 0x3f800000
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
movss xmm2, dword [0x1800b6840]
mov qword [rbp - 0x39], 0x3f800000
mov dword [rbp - 0x31], 0
jmp 0x180023e3f
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0x3f38e38e
mov rdx, rdi
mov dword [rbp - 0x35], 0xbe4ccccd
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x31], 0xbf2aaaab
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0x80000000
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3ee66666
mov dword [rbp - 0x31], 0xbecccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe75c28f
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e800000
mov dword [rbp - 0x31], 0xbe4ccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
movss xmm2, dword [0x1800b6820]
lea r9, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x39], 0
mov qword [rbp - 0x35], 0x3f800000
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
mov dword [rbp - 0x31], 0x40000000
jmp 0x180023e2f
lea r8, [rbp - 0x39]
mov qword [rbp - 0x39], 0x3ed82d83
mov rdx, rdi
mov dword [rbp - 0x31], 0xbe2aaaaa
lea rcx, [rbp - 0x29]
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe19999a
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0xbdcccccd
mov dword [rbp - 0x31], 0xbf666666
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe851eb8
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e800000
mov dword [rbp - 0x31], 0xbe8a3d71
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
movss xmm2, dword [0x1800b682c]
lea r9, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x39], 0
mov dword [rbp - 0x35], 0xbf800000
movups xmm0, xmmword [rax]
mov dword [rbp - 0x31], 0
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
movss xmm2, dword [0x1800b6624]
lea r9, [rbp - 0x39]
mov rdx, rdi
mov dword [rbp - 0x39], 0x40e66666
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x35], 0x40800000
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
mov dword [rbp - 0x35], 0x3f800000
mov dword [rbp - 0x31], 0x3f19999a
jmp 0x180023e75
lea r8, [rbp - 0x39]
mov qword [rbp - 0x39], 0x3f38e38e
mov rdx, rdi
mov dword [rbp - 0x31], 0xbf2aaaab
lea rcx, [rbp - 0x29]
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0x80000000
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3ee66666
mov dword [rbp - 0x31], 0xbecccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
lea r8, [rbp - 0x39]
mov dword [rbp - 0x39], 0xbe75c28f
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x35], 0x3e4ccccd
mov dword [rbp - 0x31], 0xbe4ccccd
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.180049300
movss xmm2, dword [0x1800b6820]
lea r9, [rbp - 0x39]
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x39], 0
mov qword [rbp - 0x35], 0x3f800000
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
call fcn.1800494a0
movss xmm2, dword [0x1800b6610]
mov dword [rbp - 0x31], 0x40000000
jmp 0x180023e37
mov rbx, qword [0x1800ce798]
lea r9, [rbp + 0x23]
mov rcx, rbx
mov edx, 6
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [0x1800a479c]
lea r9, [rbp + 0x23]
mov r8d, dword [rbp + 0x23]
mov edx, 6
mov dword [rbx], eax
mov rcx, rbx
movzx eax, word [0x1800a47a0]
mov word [rbx + 4], ax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rax, qword [0x1800cf348]
mov rcx, qword [rax + 0xa8]
cmp byte [rcx + 0x190], 0
je case.default.0x180023d45
cmp dword [rsi + 0xc0], 2
jne case.default.0x180023d45
mov rcx, r14
call fcn.18000d860
mov rcx, qword [r14 + 0x2c8]
movss xmm1, dword [0x1800b66ec]
mov dword [rbp - 0x31], 0x3f800000
mov qword [rbp - 0x39], 0
movsd xmm0, qword [rcx]
subss xmm0, dword [rax]
addss xmm0, dword [rax]
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
subss xmm0, dword [0x1800b66c0]
mulss xmm0, dword [0x1800b6770]
mulss xmm0, dword [0x1800b655c]
movaps xmm2, xmm0
lea r9, [rbp - 0x39]
mov rdx, rdi
lea rcx, [rbp - 0x29]
call fcn.1800494a0
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
movss xmm0, dword [rsi + 0xc8]
lea r8, [rbp - 0x39]
movss xmm1, dword [rsi + 0xcc]
lea rcx, [rbp - 0x29]
movss dword [rbp - 0x39], xmm0
mov rdx, rdi
movss xmm0, dword [rsi + 0xd0]
movss dword [rbp - 0x31], xmm0
movss dword [rbp - 0x35], xmm1
call fcn.180049300
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xc0]
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
movss xmm2, dword [rsi + 0xe0]
ucomiss xmm2, xmm6
jp 0x180024456
jne 0x180024456
movss xmm0, dword [rsi + 0xd4]
ucomiss xmm0, xmm6
jp 0x180024456
jne 0x180024456
movss xmm0, dword [rsi + 0xd8]
ucomiss xmm0, xmm6
jp 0x180024456
jne 0x180024456
movss xmm0, dword [rsi + 0xdc]
ucomiss xmm0, xmm6
jp 0x180024456
je 0x1800244a8
movss xmm0, dword [rsi + 0xd4]
lea r9, [rbp - 0x39]
movss xmm1, dword [rsi + 0xd8]
lea rcx, [rbp - 0x29]
movss dword [rbp - 0x39], xmm0
movss xmm0, dword [rsi + 0xdc]
movss dword [rbp - 0x31], xmm0
movss dword [rbp - 0x35], xmm1
call fcn.1800494a0
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdi + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdi + 0x30], xmm1
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180096600
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa0
pop rdi
pop rsi
pop rbp
ret