Function at 0x140120560
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x1401208b7
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1403dd7c0]
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 0x14012088c
cmp r8d, 5
jne 0x1401205d9
lea rcx, [rbp - 0x49]
call fcn.1401723d0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140172da0
nop
lea rcx, [rbp - 0x49]
call fcn.140172400
jmp 0x140120899
cmp r8d, 7
jne 0x1401205f1
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b13a0
jmp 0x140120899
cmp r8d, 2
jne 0x140120609
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b1b00
jmp 0x140120899
cmp r8d, 3
jne 0x140120621
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b2260
jmp 0x140120899
cmp r8d, 0x14
jne 0x140120639
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b8f10
jmp 0x140120899
cmp r8d, 0x15
jne 0x140120651
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b9080
jmp 0x140120899
cmp r8d, 0x16
jne 0x140120669
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b9200
jmp 0x140120899
cmp r8d, 0x13
jne 0x140120681
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b8d90
jmp 0x140120899
cmp r8d, 0xf
je 0x14012088c
cmp r8d, 0x1d
jne 0x1401206c0
xor al, al
test edi, edi
je 0x1401206b8
mov edx, edi
lea r8, [0x1403d9b20]
movzx ecx, byte [rbx]
movzx eax, al
xor rcx, rax
movzx eax, byte [rcx + r8]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x1401206a0
mov byte [r9], al
jmp 0x140120899
cmp r8d, 0x1c
jne 0x140120718
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14013c8c0
mov edx, eax
mov r8d, eax
mov ecx, eax
cmp byte [0x1403cfa31], 0
je 0x1401206fd
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 0x140120899
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 0x140120899
cmp r8d, 4
jne 0x140120749
lea rcx, [rbp - 0x49]
call fcn.1401a8940
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401a8eb0
nop
lea rcx, [rbp - 0x49]
call fcn.1401a8950
jmp 0x140120899
cmp r8d, 8
jne 0x14012078c
lea rcx, [rbp - 0x49]
call fcn.1401afbd0
nop
lea rcx, [rbp - 0x49]
call fcn.140173260
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401b0590
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.1401afda0
nop
lea rcx, [rbp - 0x49]
call fcn.1401afc00
jmp 0x140120899
cmp r8d, 0x1e
jne 0x1401207a4
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b0d10
jmp 0x140120899
cmp r8d, 9
jne 0x1401207d5
lea rcx, [rbp - 0x49]
call fcn.1401a9180
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401aa750
nop
lea rcx, [rbp - 0x49]
call fcn.1401a91a0
jmp 0x140120899
cmp r8d, 0xa
jne 0x140120806
lea rcx, [rbp - 0x49]
call fcn.1401aa7a0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401ac4e0
nop
lea rcx, [rbp - 0x49]
call fcn.1401aa7c0
jmp 0x140120899
cmp r8d, 0xb
jne 0x140120834
lea rcx, [rbp - 0x49]
call fcn.1401ac540
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401adc20
nop
lea rcx, [rbp - 0x49]
call fcn.1401ac560
jmp 0x140120899
cmp r8d, 0xc
jne 0x140120862
lea rcx, [rbp - 0x49]
call fcn.1401adc90
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401afb50
nop
lea rcx, [rbp - 0x49]
call fcn.1401adcb0
jmp 0x140120899
cmp r8d, 0x11
jne 0x140120877
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b2b00
jmp 0x140120899
cmp r8d, 0x12
jne 0x14012088c
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401b2bf0
jmp 0x140120899
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1401a8600
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.140278f40
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
ret