Function at 0x180074850
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x1802ae740]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov dword [rbp - 0x58], 0x4f37df2a
mov dword [rbp - 0x54], 0x8ed4bb70
mov dword [rbp - 0x50], 0x43fd595b
mov dword [rbp - 0x4c], 0x65ea7ebb
mov dword [rbp - 0x48], 0x21e34793
mov dword [rbp - 0x44], 0x930cb951
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.180035630
nop
mov dword [rbp + 8], 0xb5a715f
mov dword [rbp + 0xc], 0x7bc4cddc
mov dword [rbp + 0x10], 0x9fdb5652
mov dword [rbp + 0x14], 0xe502ab6b
mov dword [rbp + 0x18], 0x3decc7da
mov dword [rbp + 0x1c], 0x4db62abe
mov dword [rbp + 0x20], 0xa564d78b
mov dword [rbp + 0x24], 0x399d558f
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x48]
call fcn.180035630
nop
mov dword [rbp - 0x40], 0x63e0a098
mov dword [rbp - 0x3c], 0x9d65907a
mov dword [rbp - 0x38], 0x7bc4cddc
mov dword [rbp - 0x34], 0x420fd713
mov dword [rbp - 0x30], 0x49b2945
mov dword [rbp - 0x2c], 0xc66b6542
mov dword [rbp - 0x28], 0xa73d4664
mov dword [rbp - 0x24], 0x4db62abe
mov dword [rbp - 0x20], 0x5646c26a
mov dword [rbp - 0x1c], 0xb9b15db0
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.180035630
nop
mov dword [rbp - 0x58], 0x420fd713
mov dword [rbp - 0x54], 0x7bc4cddc
mov dword [rbp - 0x50], 0x9d65907a
mov dword [rbp - 0x4c], 0x837445aa
mov dword [rbp - 0x48], 0xe50c424d
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x44]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp + 8]
call fcn.180035630
nop
mov dword [rbp - 0x18], 0x57ef1cc8
mov dword [rbp - 0x14], 0x9d65907a
mov dword [rbp - 0x10], 0x420fd713
mov dword [rbp - 0xc], 0x3f3c8181
mov dword [rbp - 8], 0xc66b6542
mov dword [rbp - 4], 0x4db62abe
mov dword [rbp], 0xb5e2575b
mov dword [rbp + 4], 0xd703c94d
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x70]
call fcn.180035630
nop
mov dword [rbp - 0x40], 0x89ebdaa7
mov dword [rbp - 0x3c], 0x82c10383
mov dword [rbp - 0x38], 0xbc54da77
mov dword [rbp - 0x34], 0xb68010b0
mov dword [rbp - 0x30], 0x2e43da41
mov dword [rbp - 0x2c], 0xac42df71
mov dword [rbp - 0x28], 0x6927e1a1
mov dword [rbp - 0x24], 0x108ab09e
mov dword [rbp - 0x20], 0x6c32d2eb
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x78]
call fcn.180035630
nop
mov dword [rbp - 0x58], 0xbfe256d4
mov dword [rbp - 0x54], 0x78a97cd0
mov dword [rbp - 0x50], 0xdbbd7280
mov dword [rbp - 0x4c], 0x394f415c
mov dword [rbp - 0x48], 0xfad1f1c9
mov dword [rbp - 0x44], 0xa914799
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x18]
call fcn.180035630
nop
mov rdi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
cmp rdi, r14
je 0x1800738a6
nop dword [rax + rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_PISTOL_MK2
xor r9d, r9d
mov al, 0x57
nop
movzx r8d, al
lea r10, [r10 + 1]
sub al, 0x41
lea ecx, [r8 + 0x20]
movzx edx, cl
cmp al, 0x19
cmova edx, r8d
movsx eax, dl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx eax, byte [r10]
test al, al
jne 0x180073840
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x180073830
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
cmp rdi, r14
je 0x180073939
nop dword [rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_SMG_MK2
xor r9d, r9d
mov r8b, 0x57
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
lea eax, [rdx + 0x20]
movzx ecx, al
cmp r8b, 0x19
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx r8d, byte [r10]
test r8b, r8b
jne 0x1800738d0
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x1800738c0
mov rdi, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
cmp rdi, r14
je 0x1800739c9
nop dword [rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_ASSAULTRIFLE_MK2
xor r9d, r9d
mov r8b, 0x57
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
lea eax, [rdx + 0x20]
movzx ecx, al
cmp r8b, 0x19
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx r8d, byte [r10]
test r8b, r8b
jne 0x180073960
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x180073950
mov r13, qword [rbp + 8]
mov rdi, r13
mov r14, qword [rbp + 0x10]
cmp r13, r14
je 0x180073a59
nop dword [rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_CARBINERIFLE_MK2
xor r9d, r9d
mov r8b, 0x57
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
lea eax, [rdx + 0x20]
movzx ecx, al
cmp r8b, 0x19
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx r8d, byte [r10]
test r8b, r8b
jne 0x1800739f0
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x1800739e0
mov r12, qword [rbp - 0x70]
mov rdi, r12
mov r14, qword [rbp - 0x68]
cmp r12, r14
je 0x180073ae9
nop dword [rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_COMBATMG_MK2
xor r9d, r9d
mov r8b, 0x57
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
lea eax, [rdx + 0x20]
movzx ecx, al
cmp r8b, 0x19
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx r8d, byte [r10]
test r8b, r8b
jne 0x180073a80
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x180073a70
mov r15, qword [rsp + 0x78]
mov rdi, r15
mov r14, qword [rbp - 0x80]
cmp r15, r14
je 0x180073b79
nop word [rax + rax]
mov esi, dword [rdi]
lea r10, str.WEAPON_HEAVYSNIPER_MK2
xor r9d, r9d
mov r8b, 0x57
nop
movzx edx, r8b
lea r10, [r10 + 1]
sub r8b, 0x41
lea eax, [rdx + 0x20]
movzx ecx, al
cmp r8b, 0x19
cmova ecx, edx
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
movzx r8d, byte [r10]
test r8b, r8b
jne 0x180073b10
lea ecx, [r9 + r9*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul ebx, ecx, 0x8001
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov r8d, esi
mov edx, ebx
mov ecx, eax
call fcn.180031bc0
add rdi, 4
cmp rdi, r14
jne 0x180073b00
mov rsi, qword [rbp - 0x18]
mov rdi, rsi
mov r14, qword [rbp - 0x10]
cmp rsi, r14
je 0x180073bb8
nop dword [rax]
mov ebx, dword [rdi]
mov ecx, dword [0x1802ec900]
call fcn.18004dfd0
mov ecx, eax
xor r9d, r9d
mov r8d, 0x270f
mov edx, ebx
call fcn.180031af0
add rdi, 4
cmp rdi, r14
jne 0x180073b90
test rsi, rsi
je 0x180073bfe
mov rax, qword [rbp - 8]
sub rax, rsi
sar rax, 2
lea rdx, [rax*4]
mov rax, rsi
cmp rdx, 0x1000
jb 0x180073bf5
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073dd2
mov rcx, rsi
call fcn.180194660
nop
test r15, r15
je 0x180073c44
mov rax, qword [rbp - 0x78]
sub rax, r15
sar rax, 2
lea rdx, [rax*4]
mov rax, r15
cmp rdx, 0x1000
jb 0x180073c3b
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073dd8
mov rcx, r15
call fcn.180194660
nop
test r12, r12
je 0x180073c8b
mov rax, qword [rbp - 0x60]
sub rax, r12
sar rax, 2
lea rdx, [rax*4]
mov rax, r12
cmp rdx, 0x1000
jb 0x180073c82
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073dde
mov rcx, r12
call fcn.180194660
nop
test r13, r13
je 0x180073cd1
mov rax, qword [rbp + 0x18]
sub rax, r13
sar rax, 2
lea rdx, [rax*4]
mov rax, r13
cmp rdx, 0x1000
jb 0x180073cc8
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073de4
mov rcx, r13
call fcn.180194660
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x180073d1a
mov rax, qword [rsp + 0x40]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073d14
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073dea
call fcn.180194660
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x180073d63
mov rax, qword [rsp + 0x58]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073d5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073df0
call fcn.180194660
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x180073d9f
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x180073d9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180073dcc
call fcn.180194660
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.1801942d0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18019bd7c
nop
call fcn.18019bd7c
nop
call fcn.18019bd7c
nop
call fcn.18019bd7c
nop
call fcn.18019bd7c
nop
call fcn.18019bd7c
nop
call fcn.18019bd7c
int3
jmp 0x180073590