Function at 0x180137b20
Capabilities:
Encode data using xor
Log keystrokes via polling

Disassembly:
sub rsp, 0xb8
cmp byte [0x1805b11e5], 0
je 0x180137f46
cmp byte [0x1805684f5], 0
mov qword [rsp + 0xd0], rbp
mov rbp, qword [str.stt_prop_stunt_bblock_sml2]
jne 0x180137b55
cmp byte [0x1805684f6], 0
je 0x180137b64
mov rcx, rbp
call fcn.180136290
mov byte [0x1805684f5], 0
cmp byte [0x1805ab814], 0
jne 0x1801381f1
cmp byte [0x1805ab815], 0
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xa0], r14
jne 0x180137c1d
cmp byte [0x1805684f4], 0
je 0x180137bfa
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
mov eax, 0x10624dd3
mul ecx
mov eax, 0x88888889
mov ecx, edx
shr ecx, 6
mul ecx
shr edx, 5
imul eax, edx, 0x3c
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xf
cmp ecx, eax
jne 0x180137be5
mov byte [0x18054ed7f], 0
mov byte [0x1805684f4], 0
jmp 0x180137bfa
cmp byte [0x18054ed7f], 0
je 0x180137bfa
lea rcx, str.F4_or_R3_activate_walk_in_sky_and_in_a_car__n_press_q_for_up__and_z_for_down__n
call fcn.18006c2c0
mov ecx, 0x5a
call fcn.180136170
test al, al
jne 0x180137c16
mov ecx, 0x51
call fcn.180136170
test al, al
je 0x180137c1d
mov byte [0x1805ab815], 1
xor r14d, r14d
mov dword [0x1805870e8], 2
mov qword [rsp + 0xc8], r14
movabs rax, 0x91aef906bca88877
mov qword [0x1805dd278], rax
mov dword [rsp + 0xc8], 2
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], r14
mov qword [0x180587120], rax
mov dword [rsp + 0xc8], 0x4f
mov rax, qword [rsp + 0xc8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r14d
call fcn.1801e4620
lea ecx, [r14 + 0x73]
movzx ebx, byte [rax]
and bl, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
jne 0x180137cac
test bl, bl
jne 0x180137cac
movzx eax, byte [0x1805ab816]
jmp 0x180137cbc
cmp byte [0x1805ab816], r14b
sete al
mov byte [0x1805ab816], al
test al, al
je 0x180137f2e
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xa8], rdi
mov rdi, 0xffffffffffffffff
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x70], xmm8
inc rdi
cmp byte [rdi + rbp], r14b
jne 0x180137cf1
mov esi, r14d
mov ebx, r14d
test rdi, rdi
je 0x180137d31
mov rax, r14
nop dword [rax + rax]
movsx ecx, byte [rax + rbp]
call fcn.180370a88
add eax, ebx
inc esi
imul ebx, eax, 0x401
mov eax, ebx
shr eax, 6
xor ebx, eax
mov eax, esi
cmp rax, rdi
jb 0x180137d10
movabs rax, 0xd80958fc74e988a6
mov dword [0x1805870e8], r14d
mov qword [0x1805dd278], rax
lea ebx, [rbx + rbx*8]
mov dword [0x1805870f8], r14d
call fcn.1801e4620
mov qword [rsp + 0xc8], r14
mov edi, dword [rax]
movabs rax, 0x3fef770d40960d5a
mov qword [0x1805dd278], rax
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x180587128], r14
mov dword [0x1805870e8], 2
call fcn.1801e4620
movss xmm3, dword [0x18050552c]
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], 1
movups xmm7, xmmword [rax]
movsd xmm6, qword [rax + 0x10]
mov eax, ebx
shr eax, 0xb
movaps xmm8, xmm7
xor eax, ebx
shufps xmm8, xmm7, 0xaa
imul ecx, eax, 0x8001
movaps xmm2, xmm6
movaps xmm1, xmm8
movsd qword [rsp + 0x60], xmm6
movaps xmm0, xmm7
mov dword [rsp + 0x20], ecx
call fcn.18015bc90
mov qword [rsp + 0xc8], r14
mov ebx, eax
mov dword [rsp + 0xc8], eax
movabs rsi, 0x7239b21a38f536ba
mov rax, qword [rsp + 0xc8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r14d
jne 0x180137f50
cmp byte [0x1805b11e5], r14b
je 0x180137f50
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov r8, rax
mov eax, 0x10624dd3
mul r8d
mov eax, 0x10624dd3
shr edx, 6
imul ecx, edx, 0x3e8
sub r8d, ecx
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xfa
cmp r8d, eax
jne 0x180137f08
lea rdx, [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm7
mov rcx, rbp
movsd qword [rsp + 0x60], xmm6
call fcn.180137390
mov qword [rsp + 0xc8], r14
movabs rax, 0x428ca6dbd1094446
mov qword [0x1805dd278], rax
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], r14
mov qword [0x180587120], rax
mov dword [rsp + 0xc8], 1
mov rax, qword [rsp + 0xc8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r14d
mov dword [0x1805870e8], 2
call fcn.1801e4620
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
movaps xmm8, xmmword [rsp + 0x70]
mov rbx, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xd0]
xor eax, eax
add rsp, 0xb8
ret
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xc8], ebx
mov rax, qword [rsp + 0xc8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 1
call fcn.1801e4620
cmp dword [rax], r14d
je 0x180137f08
cmp byte [0x1805b11e5], r14b
je 0x180137f08
movabs rax, 0x997abd671d25ca0b
mov qword [rsp + 0xc8], r14
mov qword [0x1805dd278], rax
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x180587128], r14
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], r14d
je 0x180137fff
subss xmm6, dword [0x1805685b8]
jmp 0x180138119
mov ecx, 0x5a
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180138111
mov qword [rsp + 0xc8], r14
movabs rsi, 0xe2587f8cbbd87b1d
mov dword [rsp + 0xc8], 2
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], r14
mov qword [0x180587120], rax
mov dword [rsp + 0xc8], 0xe6
mov rax, qword [rsp + 0xc8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], r14d
jne 0x180138111
mov ecx, 0x51
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180138107
mov qword [rsp + 0xc8], r14
mov dword [rsp + 0xc8], 2
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], r14
mov qword [0x180587120], rax
mov dword [rsp + 0xc8], 0xe7
mov rax, qword [rsp + 0xc8]
mov qword [0x180587128], rax
mov dword [0x1805870f8], r14d
mov qword [0x1805dd278], rsi
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], r14d
jne 0x180138107
subss xmm6, dword [0x1805685c4]
jmp 0x180138119
addss xmm6, dword [0x1805685c0]
jmp 0x180138119
subss xmm6, dword [0x1805685bc]
movabs rax, 0xafbd61cc738d9eb9
mov qword [rsp + 0xc8], r14
mov qword [0x1805dd278], rax
mov dword [rsp + 0xc8], edi
mov rax, qword [rsp + 0xc8]
mov qword [0x180587120], rax
mov dword [0x1805870f8], r14d
mov qword [0x180587128], r14
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [rsp + 0x28], 1
xorps xmm2, xmm2
xorps xmm1, xmm1
mov dword [rsp + 0x20], r14d
mov ecx, ebx
movsd xmm3, qword [rax + 0x10]
call fcn.18015bbb0
mov eax, dword [0x1805ab81c]
mov ecx, ebx
movss xmm3, dword [0x1805ab818]
movss xmm2, dword [0x1805ab824]
movss xmm1, dword [0x1805ab820]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call fcn.18015bbb0
subss xmm8, dword [0x1805ab828]
subss xmm7, dword [0x1805ab82c]
subss xmm6, dword [0x1805685d8]
mov edx, ebx
movabs rcx, 0x621873ece1178967
movaps xmm3, xmm8
movaps xmm2, xmm7
movss dword [rsp + 0x20], xmm6
call fcn.180159e60
jmp 0x180137f08
mov rbp, qword [rsp + 0xd0]
xor eax, eax
mov byte [0x1805abe2e], 1
add rsp, 0xb8
ret