Function at 0x1800167d0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x1802b8380]
xor rax, rsp
mov qword [rbp + 0x2f], rax
lea rax, str.Mouse_Right
xor edx, edx
mov qword [rbp + 7], rax
xor r8d, r8d
lea rax, str.Mouse_Left
mov qword [rbp + 0xf], rax
lea rax, str.Key_Q
mov qword [rbp + 0x17], rax
lea ecx, [rdx + 2]
lea rax, str.Key_E
mov qword [rbp + 0x1f], rax
lea rax, str.Key_Ctrl
mov qword [rbp + 0x27], rax
lea rax, str.Chest
mov qword [rbp - 0x19], rax
lea rax, str.Head
mov qword [rbp - 0x11], rax
lea rax, str.Neck
mov qword [rbp - 9], rax
lea rax, str.Crotch
mov qword [rbp - 1], rax
call fcn.18004b350
xor eax, eax
mov dword [rbp - 0x59], 0xf9b79bf3
xor ebx, ebx
mov word [rbp - 0x55], 0xa481
mov edx, ebx
mov byte [rbp - 0x53], al
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 6
jb 0x180016890
xorps xmm0, xmm0
mov byte [rbp - 0x53], bl
mov rdi, 0xffffffffffffffff
mov qword [rbp - 0x39], rbx
movups xmmword [rbp - 0x49], xmm0
mov r8, rdi
mov qword [rbp - 0x31], rbx
lea rax, [rbp - 0x59]
inc r8
cmp byte [rax + r8], bl
jne 0x1800168c1
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.180002db0
mov rcx, qword [0x1802b8f40]
lea rdx, [rbp - 0x49]
mov r8d, 1
call fcn.1800029b0
movdqa xmm0, xmmword [0x180102fe0]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x35], al
mov edx, ebx
mov dword [rbp - 0x39], 0x5a424e46
nop dword [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x14
jb 0x180016910
lea rdx, [0x1802b72bf]
mov byte [rbp - 0x35], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
movss xmm6, dword [0x180102a44]
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002cb80
movdqa xmm0, xmmword [0x180103000]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x35], al
mov edx, ebx
mov dword [rbp - 0x39], 0x5a424e46
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x14
jb 0x180016970
lea rdx, [0x1802b72c9]
mov byte [rbp - 0x35], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
movdqa xmm0, xmmword [0x180103010]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x35], al
mov edx, ebx
mov dword [rbp - 0x39], 0x5a424e46
nop
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x14
jb 0x1800169b0
lea rdx, [0x1802b72d2]
mov byte [rbp - 0x35], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002cb80
movdqa xmm0, xmmword [0x180102ff0]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x35], al
mov edx, ebx
mov dword [rbp - 0x39], 0x5a424e46
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x14
jb 0x180016a00
lea rdx, [0x1802bb6e6]
mov byte [rbp - 0x35], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
movdqa xmm0, xmmword [0x180102fc0]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x2f], al
mov edx, ebx
mov dword [rbp - 0x39], 0xd0e4244
mov dword [rbp - 0x35], 0x505c596e
mov word [rbp - 0x31], 0x405c
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x1a
jb 0x180016a50
lea rdx, [0x1802bb6ec]
mov byte [rbp - 0x2f], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
xorps xmm1, xmm1
movaps xmm0, xmm6
call fcn.18002cb80
movdqa xmm0, xmmword [0x180102fd0]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x35], al
mov edx, ebx
mov dword [rbp - 0x39], 0x5a424e46
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x14
jb 0x180016aa0
lea rdx, [0x1802b72ca]
mov byte [rbp - 0x35], bl
lea rcx, [rbp - 0x49]
call fcn.1800473c0
movss xmm7, dword [0x180102a60]
movaps xmm0, xmm7
call fcn.18002d630
xor eax, eax
mov dword [rbp - 0x59], 0xf9b79bf3
mov byte [rbp - 0x4d], al
mov edx, ebx
mov dword [rbp - 0x55], 0xb6c8a481
mov dword [rbp - 0x51], 0xab98c08d
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 0xc
jb 0x180016af0
mov r9d, 5
mov byte [rbp - 0x4d], bl
lea r8, [rbp + 7]
mov dword [rsp + 0x20], edi
lea rdx, [0x1802bd758]
lea rcx, [rbp - 0x59]
call fcn.18004b570
movaps xmm0, xmm7
call fcn.18002d630
xor eax, eax
mov dword [rbp - 0x59], 0xf9b79bf3
mov byte [rbp - 0x4d], al
mov edx, ebx
mov dword [rbp - 0x55], 0xa1c8a481
mov dword [rbp - 0x51], 0xab98c08b
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 0xc
jb 0x180016b50
mov r9d, 4
mov byte [rbp - 0x4d], bl
lea r8, [rbp - 0x19]
mov dword [rsp + 0x20], edi
lea rdx, [0x1802bd75c]
lea rcx, [rbp - 0x59]
call fcn.18004b570
call fcn.18004f9b0
mov edx, ebx
mov dword [rbp - 0x59], 0x6a697948
mov dword [rbp - 0x55], 0x464e76
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 7
jb 0x180016ba0
xorps xmm0, xmm0
mov byte [rbp - 0x52], bl
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rbx
lea rax, [rbp - 0x59]
mov qword [rbp - 0x31], rbx
inc rdi
cmp byte [rax + rdi], bl
jne 0x180016bc7
mov r8, rdi
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x49]
call fcn.180002db0
mov rcx, qword [0x1802b8f40]
lea rdx, [rbp - 0x49]
mov r8d, 2
call fcn.1800029b0
movaps xmm0, xmm7
call fcn.18002d630
mov edx, ebx
mov dword [rbp - 0x59], 0x2e332d3e
mov word [rbp - 0x55], 0x79
nop dword [rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 5
jb 0x180016c10
xor eax, eax
mov byte [rbp - 0x54], bl
mov byte [rbp - 0x3d], al
mov edx, ebx
mov dword [rbp - 0x49], 0xf9b79bf3
mov dword [rbp - 0x45], 0xaec9a481
mov dword [rbp - 0x41], 0x92bec1a0
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0xc
jb 0x180016c40
movss xmm6, dword [0x180082874]
lea rax, [rbp - 0x59]
movss xmm3, dword [0x180102a78]
lea rdx, [0x1802b72cc]
movss xmm2, dword [0x1801029ec]
lea rcx, [rbp - 0x49]
movss dword [rsp + 0x28], xmm6
mov qword [rsp + 0x20], rax
mov byte [rbp - 0x3d], bl
call fcn.180051e40
movaps xmm0, xmm7
call fcn.18002d630
mov edx, ebx
mov dword [rbp - 0x59], 0x2e332d3e
mov word [rbp - 0x55], 0x79
nop dword [rax]
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 5
jb 0x180016cb0
xor eax, eax
mov byte [rbp - 0x54], bl
mov byte [rbp - 0x3d], al
mov edx, ebx
mov dword [rbp - 0x49], 0xf6929cf2
mov dword [rbp - 0x45], 0x95c9a6b8
mov dword [rbp - 0x41], 0x9d83c3be
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0xc
jb 0x180016ce0
movss xmm3, dword [0x180102a7c]
lea rax, [rbp - 0x59]
movss xmm2, dword [0x1801029ec]
lea rdx, [0x1802b729c]
movss dword [rsp + 0x28], xmm6
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x20], rax
mov byte [rbp - 0x3d], bl
call fcn.180051e40
movaps xmm0, xmm7
call fcn.18002d630
mov edx, ebx
mov dword [rbp - 0x59], 0x2e332d3e
mov word [rbp - 0x55], 0x79
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 5
jb 0x180016d40
xor eax, eax
mov byte [rbp - 0x54], bl
mov byte [rbp - 0x3d], al
mov edx, ebx
mov dword [rbp - 0x49], 0xfb8ebefd
mov dword [rbp - 0x45], 0xa2c89589
mov dword [rbp - 0x41], 0x809fc1bc
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0xc
jb 0x180016d70
movss xmm3, dword [0x180102a4c]
lea rax, [rbp - 0x59]
movss xmm2, dword [0x1801029ec]
lea rdx, [0x1802b72dc]
movss dword [rsp + 0x28], xmm6
lea rcx, [rbp - 0x49]
mov qword [rsp + 0x20], rax
mov byte [rbp - 0x3d], bl
call fcn.180051e40
movaps xmm0, xmm7
call fcn.18002d630
mov edx, ebx
mov dword [rbp - 0x59], 0x2e332d3e
mov word [rbp - 0x55], 0x79
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x59], al
cmp edx, 5
jb 0x180016dd0
xor eax, eax
mov byte [rbp - 0x54], bl
mov byte [rbp - 0x3d], al
mov edx, ebx
mov dword [rbp - 0x49], 0xf7b5b6f2
mov dword [rbp - 0x45], 0x90c69cb5
mov dword [rbp - 0x41], 0xa09ec3b4
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0xc
jb 0x180016e00
movss xmm3, dword [0x1801029c8]
lea rax, [rbp - 0x59]
movss dword [rsp + 0x28], xmm6
lea rdx, [0x1802b72f0]
movaps xmm2, xmm6
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x49]
mov byte [rbp - 0x3d], bl
call fcn.180051e40
movdqa xmm0, xmmword [0x1801035f0]
xor eax, eax
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x33], al
mov edx, ebx
mov dword [rbp - 0x39], 0xcb8c84cd
mov word [rbp - 0x35], 0xbf93
nop
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x16
jb 0x180016e60
lea rcx, [rbp - 0x49]
mov byte [rbp - 0x33], bl
call fcn.180052390
movdqa xmm0, xmmword [str.Ssp_]
mov edx, ebx
movdqu xmmword [rbp - 0x49], xmm0
mov dword [rbp - 0x39], 0xb2a2c4a4
mov dword [rbp - 0x35], 0xa4bdca
nop word [rax + rax]
movsxd rcx, edx
lea eax, [rdx + 0x1b]
inc edx
xor byte [rbp + rcx - 0x49], al
cmp edx, 0x17
jb 0x180016ea0
lea rcx, [rbp - 0x49]
mov byte [rbp - 0x32], bl
call fcn.180052390
movdqa xmm0, xmmword [str.RY_]
movdqa xmm1, xmmword [0x1801035d0]
movdqu xmmword [rbp - 0x49], xmm0
mov dword [rbp - 0x29], 0xd8bb9bd3
movdqu xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x25], 0xfaa5c9b3
mov dword [rbp - 0x21], 0xcdfda0c3
mov word [rbp - 0x1d], 0x6e
nop dword [rax]
nop word [rax + rax]
movsxd rcx, ebx
lea eax, [rbx + 0x1b]
inc ebx
xor byte [rbp + rcx - 0x49], al
cmp ebx, 0x2d
jb 0x180016f00
lea rcx, [rbp - 0x49]
mov byte [rbp - 0x1c], 0
call fcn.180052390
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180058370
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret