Function at 0x18000b3d0
Capabilities:
Log keystrokes via polling

Disassembly:
test cl, cl
je 0x18000b9a3
mov r11, rsp
push rbp
lea rbp, [r11 - 0x28]
sub rsp, 0x120
mov rax, qword [0x180076540]
xor rax, rsp
mov qword [rbp - 0x68], rax
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
movabs rdi, 0xd80958fc74e988a6
mov qword [r11 - 0x10], r14
mov rcx, rdi
mov qword [r11 - 0x18], r15
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
movaps xmmword [r11 - 0x78], xmm11
movaps xmmword [r11 - 0x88], xmm12
call fcn.18001dc40
call fcn.18001dbd0
movabs rcx, 0x3a87e44bb9a01d54
mov ebx, dword [rax]
call fcn.18001dc40
xor esi, esi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
lea rcx, [rsp + 0x7c]
call fcn.18001dc60
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
call fcn.18001dbd0
movabs r14, 0x4f8644af03d0e0d6
mov rcx, r14
call fcn.18001dc40
call fcn.18001dbd0
mov rcx, rdi
call fcn.18001dc40
call fcn.18001dbd0
movabs rcx, 0x837765a25378f0bb
call fcn.18001dc40
mov ecx, esi
call fcn.18001dc60
call fcn.18001dbd0
xorps xmm8, xmm8
xorps xmm7, xmm7
movsd xmm2, qword [rax + 0x10]
movups xmm1, xmmword [rax]
movsd qword [rbp - 0x70], xmm2
mulss xmm1, dword [0x180044280]
mulss xmm2, dword [0x180044280]
cvtss2sd xmm8, xmm1
cvtss2sd xmm7, xmm2
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
andps xmm1, xmmword [0x180044370]
cvtps2pd xmm6, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
xorps xmm11, xmm11
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm7
xorps xmm1, xmmword [0x180044380]
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm6
cvtsd2ss xmm11, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm8
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm6
cvtpd2ps xmm10, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movabs rcx, 0x14d6f5678d8f1b37
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
call fcn.18001dc40
call fcn.18001dbd0
movups xmm7, xmmword [rax]
mov rcx, rdi
movsd xmm12, qword [rax + 0x10]
call fcn.18001dc40
call fcn.18001dbd0
movabs rcx, 0x3fef770d40960d5a
mov ebx, dword [rax]
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], 1
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
call fcn.18001dbd0
xorps xmm4, xmm4
xorps xmm1, xmm1
movaps xmm8, xmm7
shufps xmm8, xmm7, 0xaa
movups xmm2, xmmword [rax]
movsd xmm3, qword [rax + 0x10]
movaps xmm0, xmm2
movsd qword [rbp - 0x70], xmm3
subss xmm0, xmm7
shufps xmm2, xmm2, 0xaa
subss xmm2, xmm8
movsd qword [rbp - 0x70], xmm12
subss xmm3, xmm12
cvtss2sd xmm1, xmm0
cvtss2sd xmm4, xmm2
mulsd xmm1, xmm1
xorps xmm0, xmm0
mulsd xmm4, xmm4
cvtss2sd xmm0, xmm3
addsd xmm4, xmm1
xorps xmm1, xmm1
addsd xmm4, xmm0
ucomisd xmm1, xmm4
ja 0x18000b63b
sqrtpd xmm0, xmm4
jmp 0x18000b643
movaps xmm0, xmm4
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
cvtsd2ss xmm0, xmm0
mov rcx, r14
movaps xmm6, xmm11
addss xmm0, dword [0x1800442f8]
mulss xmm6, xmm0
addss xmm6, xmm7
movaps xmm7, xmm10
mulss xmm7, xmm0
addss xmm7, xmm8
movaps xmm8, xmm9
mulss xmm8, xmm0
addss xmm8, xmm12
call fcn.18001dc40
call fcn.18001dbd0
cmp byte [0x18007fcf0], sil
movabs r15, 0x2975c866e6713290
movaps xmm12, xmmword [rsp + 0xa0]
mov edi, dword [rax]
je 0x18000b8c0
mov rcx, r14
call fcn.18001dc40
call fcn.18001dbd0
mov rcx, r15
mov ebx, dword [rax]
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
lea rcx, [rsp + 0x78]
call fcn.18001dc60
call fcn.18001dbd0
cmp dword [rax], esi
je 0x18000b8c0
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000b8c0
mov edx, dword [rsp + 0x78]
lea rcx, [rbp - 0x80]
xor r8d, r8d
call fcn.1800084d0
mov edx, 1
mov ecx, edi
call fcn.1800058d0
mov ecx, dword [rsp + 0x78]
call fcn.180008b70
test eax, eax
je 0x18000b746
mov ecx, dword [rsp + 0x78]
mov edx, 1
call fcn.180008bf0
test eax, eax
je 0x18000b746
mov ecx, dword [rsp + 0x78]
xor edx, edx
call fcn.1800088d0
mov dword [rsp + 0x78], eax
jmp 0x18000b74a
mov eax, dword [rsp + 0x78]
mov ecx, eax
call fcn.180008df0
mov ebx, dword [rsp + 0x78]
movabs rcx, 0x6ac7003fa6e5575e
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
call fcn.18001dbd0
cmp dword [rax], esi
je 0x18000b793
mov ecx, edi
call fcn.180008550
mov ecx, dword [rsp + 0x78]
movaps xmm1, xmm0
call fcn.180009210
mov ecx, dword [rsp + 0x78]
movaps xmm3, xmm8
mov dword [rsp + 0x30], esi
movaps xmm2, xmm7
mov dword [rsp + 0x28], esi
movaps xmm1, xmm6
mov dword [rsp + 0x20], esi
call fcn.180009110
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000b8c0
mov ebx, dword [rsp + 0x78]
movabs rcx, 0xe65f427eb70ab1ed
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], 0xffffffff
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
lea rcx, str.Foot_Swish
call fcn.18001dc60
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
lea rcx, str.docks_heist_finale_2a_sounds
call fcn.18001dc60
mov rcx, rsi
call fcn.18001dc60
mov rcx, rsi
call fcn.18001dc60
call fcn.18001dbd0
mov ecx, edi
call fcn.180008550
mov ecx, dword [rsp + 0x78]
movaps xmm1, xmm0
call fcn.180009210
movss xmm0, dword [0x180044338]
mov edx, 1
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], esi
mov dword [rsp + 0x40], esi
mulss xmm9, xmm0
mulss xmm10, xmm0
mulss xmm11, xmm0
xorps xmm0, xmm0
movss dword [rsp + 0x38], xmm0
movaps xmm3, xmm10
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm0
movaps xmm2, xmm11
movss dword [rsp + 0x20], xmm9
call fcn.180005500
xor edx, edx
mov byte [0x18007fcf0], sil
mov ecx, edi
call fcn.1800058d0
mov rcx, r14
call fcn.18001dc40
call fcn.18001dbd0
mov rcx, r15
mov ebx, dword [rax]
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], ebx
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
lea rcx, [rsp + 0x78]
call fcn.18001dc60
call fcn.18001dbd0
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r15, qword [rsp + 0x110]
mov r14, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x130]
cmp dword [rax], esi
jne 0x18000b97f
movabs rcx, 0x5e6cc07646bbeab8
mov byte [0x18007fcf0], 1
call fcn.18001dc40
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x70], edi
mov rcx, qword [rsp + 0x70]
call fcn.18001dc60
mov rcx, rsi
call fcn.18001dc60
call fcn.18001dbd0
mov rsi, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov rcx, qword [rbp - 0x68]
xor rcx, rsp
call fcn.18003c5e0
add rsp, 0x120
pop rbp
ret