Function at 0x140078840
Capabilities:
Encode data using xor

Disassembly:
test r9, r9
je 0x140078b97
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x1402b87c0]
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 0x140078b6c
cmp r8d, 5
jne 0x1400788b9
lea rcx, [rbp - 0x49]
call fcn.1400c9380
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1400c9d50
nop
lea rcx, [rbp - 0x49]
call fcn.1400c93b0
jmp 0x140078b79
cmp r8d, 7
jne 0x1400788d1
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140108100
jmp 0x140078b79
cmp r8d, 2
jne 0x1400788e9
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140108860
jmp 0x140078b79
cmp r8d, 3
jne 0x140078901
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140108fc0
jmp 0x140078b79
cmp r8d, 0x14
jne 0x140078919
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14010fc70
jmp 0x140078b79
cmp r8d, 0x15
jne 0x140078931
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14010fde0
jmp 0x140078b79
cmp r8d, 0x16
jne 0x140078949
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14010ff60
jmp 0x140078b79
cmp r8d, 0x13
jne 0x140078961
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.14010faf0
jmp 0x140078b79
cmp r8d, 0xf
je 0x140078b6c
cmp r8d, 0x1d
jne 0x1400789a0
xor al, al
test edi, edi
je 0x140078998
mov edx, edi
lea r8, [0x1402b4b20]
movzx ecx, byte [rbx]
movzx eax, al
xor rcx, rax
movzx eax, byte [rcx + r8]
lea rbx, [rbx + 1]
sub rdx, 1
jne 0x140078980
mov byte [r9], al
jmp 0x140078b79
cmp r8d, 0x1c
jne 0x1400789f8
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140093870
mov edx, eax
mov r8d, eax
mov ecx, eax
cmp byte [0x1402aaa31], 0
je 0x1400789dd
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 0x140078b79
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 0x140078b79
cmp r8d, 4
jne 0x140078a29
lea rcx, [rbp - 0x49]
call fcn.1400ff6a0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1400ffc10
nop
lea rcx, [rbp - 0x49]
call fcn.1400ff6b0
jmp 0x140078b79
cmp r8d, 8
jne 0x140078a6c
lea rcx, [rbp - 0x49]
call fcn.140106930
nop
lea rcx, [rbp - 0x49]
call fcn.1400ca210
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401072f0
mov rdx, rsi
lea rcx, [rbp - 0x49]
call fcn.140106b00
nop
lea rcx, [rbp - 0x49]
call fcn.140106960
jmp 0x140078b79
cmp r8d, 0x1e
jne 0x140078a84
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140107a70
jmp 0x140078b79
cmp r8d, 9
jne 0x140078ab5
lea rcx, [rbp - 0x49]
call fcn.1400ffee0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401014b0
nop
lea rcx, [rbp - 0x49]
call fcn.1400fff00
jmp 0x140078b79
cmp r8d, 0xa
jne 0x140078ae6
lea rcx, [rbp - 0x49]
call fcn.140101500
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140103240
nop
lea rcx, [rbp - 0x49]
call fcn.140101520
jmp 0x140078b79
cmp r8d, 0xb
jne 0x140078b14
lea rcx, [rbp - 0x49]
call fcn.1401032a0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.140104980
nop
lea rcx, [rbp - 0x49]
call fcn.1401032c0
jmp 0x140078b79
cmp r8d, 0xc
jne 0x140078b42
lea rcx, [rbp - 0x49]
call fcn.1401049f0
nop
mov r9, rsi
mov r8d, edi
mov rdx, rbx
lea rcx, [rbp - 0x49]
call fcn.1401068b0
nop
lea rcx, [rbp - 0x49]
call fcn.140104a10
jmp 0x140078b79
cmp r8d, 0x11
jne 0x140078b57
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140109860
jmp 0x140078b79
cmp r8d, 0x12
jne 0x140078b6c
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.140109950
jmp 0x140078b79
mov r8, rsi
mov edx, edi
mov rcx, rbx
call fcn.1400ff360
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1401d42a0
mov rbx, qword [rsp + 0xf0]
add rsp, 0xc0
pop rdi
pop rsi
pop rbp
ret