Function at 0x1800073a8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r13
push r14
mov rbp, rsp
sub rsp, 0x30
movabs rax, qword [0x142378188]
mov rbx, rdx
mov rsi, r8
mov r8d, 0x400
mov rcx, qword [rax + 0x48]
mov rdx, qword [rcx + 0x14cfb8]
mov rax, qword [rdx]
mov rcx, qword [rax + 0x40]
mov qword [0x1800fb0d0], rcx
mov rcx, qword [0x1800fb4a8]
call fcn.18006a894
mov rcx, qword [0x1800fb4a8]
mov r13d, 8
mov edx, r13d
mov r8, rbx
call fcn.18006a880
mov ecx, dword [0x1800fb218]
sub ecx, 1
je 0x180007687
sub ecx, 1
je 0x180007545
cmp ecx, 1
jne 0x18000790a
xor eax, eax
mov dword [rbp - 0x10], 0xacbabf8e
xor ebx, ebx
mov dword [rbp - 0xc], 0x8993b0b2
mov edx, ebx
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
mov edi, ecx
mov byte [rbp - 2], al
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xe
jb 0x180007461
mov rcx, r13
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x180007491
lea rax, vtable.CWeaponListener.0
mov qword [rdx], rax
jmp 0x180007494
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xa9a8b38f
mov byte [rbp - 2], al
mov r8d, ebx
mov dword [rbp - 0xc], 0x8993b2bc
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
movsxd rdx, r8d
lea eax, [r8 - 0x27]
add r8d, edi
xor byte [rbp + rdx - 0x10], al
cmp r8d, 0xe
jb 0x1800074ca
mov rcx, r13
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x1800074fd
lea rax, vtable.CVisualListener.0
mov qword [rdx], rax
jmp 0x180007500
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xbfa8b394
mov byte [rbp - 4], al
mov edx, ebx
mov dword [rbp - 0xc], 0x94acb791
mov dword [rbp - 8], 0x96868c84
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xc
jb 0x18000752f
jmp 0x1800078c2
xor eax, eax
mov dword [rbp - 0x10], 0xafafb391
xor ebx, ebx
mov dword [rbp - 0xc], 0x94acb791
mov dword [rbp - 8], 0x96868c84
mov edx, ebx
mov byte [rbp - 4], al
lea edi, [rax + 1]
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xc
jb 0x180007566
mov r12d, 0x78
mov byte [rbp - 4], bl
mov ecx, r12d
call fcn.18006b994
mov r14, rax
test rax, rax
je 0x1800075d4
mov r8d, r12d
xor edx, edx
mov rcx, rax
call fcn.18006e010
lea rax, vtable.CHitsListener.0
xorps xmm0, xmm0
mov qword [r14], rax
xor eax, eax
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x38], rbx
mov qword [r14 + 0x40], rax
mov byte [r14 + 0x48], al
mov dword [r14 + 0x49], eax
mov word [r14 + 0x4d], ax
mov byte [r14 + 0x4f], al
movups xmmword [r14 + 0x50], xmm0
mov qword [r14 + 0x60], rax
jmp 0x1800075d7
mov r14, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rdx, r14
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xa9a8b38f
mov byte [rbp - 2], al
mov edx, ebx
mov dword [rbp - 0xc], 0x8993b2bc
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xe
jb 0x18000760f
mov rcx, r13
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x18000763f
lea rax, vtable.CVisualListener.0
mov qword [rdx], rax
jmp 0x180007642
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xbfa8b394
mov byte [rbp - 4], al
mov edx, ebx
mov dword [rbp - 0xc], 0x94acb791
mov dword [rbp - 8], 0x96868c84
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xc
jb 0x180007671
jmp 0x1800078c2
xor eax, eax
mov dword [rbp - 0x10], 0xafafb391
xor ebx, ebx
mov dword [rbp - 0xc], 0x94acb791
mov dword [rbp - 8], 0x96868c84
mov edx, ebx
mov byte [rbp - 4], al
lea edi, [rax + 1]
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xc
jb 0x1800076a8
mov r12d, 0x78
mov byte [rbp - 4], bl
mov ecx, r12d
call fcn.18006b994
mov r14, rax
test rax, rax
je 0x180007716
mov r8d, r12d
xor edx, edx
mov rcx, rax
call fcn.18006e010
lea rax, vtable.CHitsListener.0
xorps xmm0, xmm0
mov qword [r14], rax
xor eax, eax
mov qword [r14 + 0x30], rbx
mov qword [r14 + 0x38], rbx
mov qword [r14 + 0x40], rax
mov byte [r14 + 0x48], al
mov dword [r14 + 0x49], eax
mov word [r14 + 0x4d], ax
mov byte [r14 + 0x4f], al
movups xmmword [r14 + 0x50], xmm0
mov qword [r14 + 0x60], rax
jmp 0x180007719
mov r14, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rdx, r14
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xb5b6b398
mov byte [rbp - 2], al
mov edx, ebx
mov dword [rbp - 0xc], 0x8993b9b3
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xe
jb 0x180007751
mov ecx, 0x28
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x1800077af
lea rax, vtable.CAimingListener.0
mov qword [rdx], rax
lea rax, str.Bip01_Head
mov qword [rdx + 8], rax
lea rax, str.Bip01_Neck
mov qword [rdx + 0x10], rax
lea rax, str.Bip01_Spine
mov qword [rdx + 0x18], rax
lea rax, str.Bip01_Pelvis
mov qword [rdx + 0x20], rax
jmp 0x1800077b2
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xacbabf8e
mov byte [rbp - 2], al
mov edx, ebx
mov dword [rbp - 0xc], 0x8993b0b2
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xe
jb 0x1800077e7
mov rcx, r13
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x180007817
lea rax, vtable.CWeaponListener.0
mov qword [rdx], rax
jmp 0x18000781a
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xa9a8b38f
mov byte [rbp - 2], al
mov edx, ebx
mov dword [rbp - 0xc], 0x8993b2bc
mov dword [rbp - 8], 0x8a869692
mov word [rbp - 4], 0x9480
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xe
jb 0x18000784f
mov rcx, r13
mov byte [rbp - 2], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x18000787f
lea rax, vtable.CVisualListener.0
mov qword [rdx], rax
jmp 0x180007882
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
xor eax, eax
mov dword [rbp - 0x10], 0xbfa8b394
mov byte [rbp - 4], al
mov edx, ebx
mov dword [rbp - 0xc], 0x94acb791
mov dword [rbp - 8], 0x96868c84
movsxd rcx, edx
lea eax, [rdx - 0x27]
add edx, edi
xor byte [rbp + rcx - 0x10], al
cmp edx, 0xc
jb 0x1800078b1
mov ecx, 0x10
mov byte [rbp - 4], bl
call fcn.18006b994
mov rdx, rax
test rax, rax
je 0x1800078f4
xorps xmm0, xmm0
movups xmmword [rax], xmm0
lea rax, vtable.CMiscListener.0
mov qword [rdx], rax
mov dword [rdx + 8], 0x1010101
mov byte [rdx + 0xc], dil
jmp 0x1800078f7
mov rdx, rbx
mov rax, qword [rsi]
lea r8, [rbp - 0x10]
mov r9d, edi
mov rcx, rsi
call qword [rax + 0x360]
mov rbx, qword [rsp + 0x50]
xor eax, eax
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop r13
pop rbp
ret