Function at 0x18003b370
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x18003b6c7
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rsi, r9
xor edi, edi
test rcx, rcx
cmovne edi, edx
lea rbx, [rbp - 0x59]
cmovne rbx, rcx
cmp r8d, 1
je 0x18003b69c
cmp r8d, 5
jne 0x18003b3e9
lea rcx, [rbp - 0x49]
call fcn.180050e80
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.180051850
nop
lea rcx, [rbp - 0x49]
call fcn.180050eb0
jmp 0x18003b6a9
cmp r8d, 7
jne 0x18003b401
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180092400
jmp 0x18003b6a9
cmp r8d, 2
jne 0x18003b419
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180092b70
jmp 0x18003b6a9
cmp r8d, 3
jne 0x18003b431
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1800932e0
jmp 0x18003b6a9
cmp r8d, 0x14
jne 0x18003b449
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180099fe0
jmp 0x18003b6a9
cmp r8d, 0x15
jne 0x18003b461
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.18009a150
jmp 0x18003b6a9
cmp r8d, 0x16
jne 0x18003b479
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.18009a2d0
jmp 0x18003b6a9
cmp r8d, 0x13
jne 0x18003b491
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180099e60
jmp 0x18003b6a9
cmp r8d, 0xf
je 0x18003b69c
cmp r8d, 0x1d
jne 0x18003b4d0
xor al, al
test edi, edi
je 0x18003b4c8
mov edx, edi
lea r8, [0x1802cdd90]
movzx ecx, byte [rbx]
movzx eax, al
xor rcx, rax
movzx eax, byte [rcx + r8]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x18003b4b0
mov byte [r9], al
jmp 0x18003b6a9
cmp r8d, 0x1c
jne 0x18003b528
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.180086af0
mov edx, eax
mov r8d, eax
mov ecx, eax
cmp byte [0x1802cd9f8], 0
je 0x18003b50d
shr edx, 0x18
shr ecx, 8
shr eax, 0x10
mov byte [rsi], dl
mov byte [rsi + 1], al
mov byte [rsi + 2], cl
mov byte [rsi + 3], r8b
jmp 0x18003b6a9
shr r8d, 0x18
shr ecx, 0x10
shr eax, 8
mov byte [rsi], dl
mov byte [rsi + 1], al
mov byte [rsi + 2], cl
mov byte [rsi + 3], r8b
jmp 0x18003b6a9
cmp r8d, 4
jne 0x18003b559
lea rcx, [rbp - 0x49]
call fcn.180089950
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.180089f30
nop
lea rcx, [rbp - 0x49]
call fcn.180089960
jmp 0x18003b6a9
cmp r8d, 8
jne 0x18003b59c
lea rcx, [rbp - 0x49]
call fcn.180090c20
nop
lea rcx, [rbp - 0x49]
call fcn.180051d00
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1800915d0
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.180090df0
nop
lea rcx, [rbp - 0x49]
call fcn.180090c50
jmp 0x18003b6a9
cmp r8d, 0x1e
jne 0x18003b5b4
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180091d60
jmp 0x18003b6a9
cmp r8d, 9
jne 0x18003b5e5
lea rcx, [rbp - 0x49]
call fcn.18008a1e0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.18008b7b0
nop
lea rcx, [rbp - 0x49]
call fcn.18008a200
jmp 0x18003b6a9
cmp r8d, 0xa
jne 0x18003b616
lea rcx, [rbp - 0x49]
call fcn.18008b800
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.18008d540
nop
lea rcx, [rbp - 0x49]
call fcn.18008b820
jmp 0x18003b6a9
cmp r8d, 0xb
jne 0x18003b644
lea rcx, [rbp - 0x49]
call fcn.18008d5a0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.18008ec70
nop
lea rcx, [rbp - 0x49]
call fcn.18008d5c0
jmp 0x18003b6a9
cmp r8d, 0xc
jne 0x18003b672
lea rcx, [rbp - 0x49]
call fcn.18008ece0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.180090ba0
nop
lea rcx, [rbp - 0x49]
call fcn.18008ed00
jmp 0x18003b6a9
cmp r8d, 0x11
jne 0x18003b687
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180093b60
jmp 0x18003b6a9
cmp r8d, 0x12
jne 0x18003b69c
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.180093c50
jmp 0x18003b6a9
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1800894e0
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.180009610
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
ret