Function at 0x140010820
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
mov r15, rdx
shl r15, 0x3c
dec r15
lea rbx, [rcx + 0x10]
lea r14, [rcx + 0x120]
mov eax, dword [0x141dc1db8]
xor edx, edx
div dword [0x141dc1dbc]
nop dword [rax]
mov eax, dword [0x141dc1dc0]
xor edx, edx
div dword [0x141dc1dc4]
add eax, 0xb14a0b9f
and eax, 0x320db7d
cmp eax, 0xa54de9d5
ja 0x140010860
mov rcx, qword [rdi + 0x110]
xor ebp, ebp
mov r12d, 0x9dbd696d
mov qword [rsp + 0x20], r15
jmp 0x1400108af
mul rsi
mov rcx, r8
cmp r15, rax
jae 0x140010c30
cmp rcx, 0x3f
jae 0x1400108f0
mov eax, dword [0x141dc1dd0]
imul eax, dword [0x141dc1dd4]
add eax, 0x5022cf8d
and eax, 0x5f183a8b
imul eax, eax, 0x7c285b45
cmp eax, 0xc9fed895
jne 0x140010b00
jmp 0x140010b2d
mov eax, dword [0x141dc1dc8]
xor edx, edx
div dword [0x141dc1dcc]
xor eax, 0x81108910
and eax, 0xc918bf33
add eax, 0x6b419074
cmp eax, 0x16055963
jb 0x1400108f0
nop word cs:[rax + rax]
test bpl, bpl
jne 0x140010920
cmp rcx, 0x3f
jne 0x140010980
mov r15, rsi
mov r13d, dword [rdi + 0x10c]
mov rax, qword [rdi + 0x158]
test rax, rax
jle 0x140010a0a
cmp qword [rdi + 0x160], 0
js 0x140010a0a
test bpl, bpl
jne 0x140010953
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov rcx, r14
mov rdx, rbx
call fcn.140072a00
jmp 0x140010a6f
mov eax, dword [0x141dc1e18]
add eax, dword [0x141dc1e1c]
and eax, 0x31edc39
imul eax, eax, 0x57855c33
and eax, 0x155e0e07
cmp eax, 0x85775e7c
ja 0x140010980
mov rax, qword [rdi + 0x158]
nop word [rax + rax]
mov ecx, dword [0x141dc1e20]
or ecx, dword [0x141dc1e24]
or ecx, 0x2f94b624
imul ecx, ecx, 0xbc89eca1
add ecx, 0x88a0d58c
cmp ecx, 0xfeb9803d
ja 0x1400109b0
test rax, rax
jle 0x140010a9b
cmp qword [rdi + 0x160], 0
js 0x140010a9b
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov rcx, r14
mov rdx, rbx
call fcn.140072a00
jmp 0x140010aa6
mov eax, dword [0x141dc1df0]
mov ecx, dword [0x141dc1df4]
add eax, ecx
add eax, 0xc19794c2
and eax, 0x25915ba5
add eax, 0x7c207d6a
cmp eax, 0xa894aeaf
jbe 0x140010a40
mov rcx, r14
mov rdx, rbx
call fcn.140010c60
nop dword [rax]
mov eax, dword [0x141dc1df8]
sub eax, dword [0x141dc1dfc]
add eax, 0x873e4a80
xor eax, 0x13b2a029
imul esi, eax, 0x129f0b50
mov rcx, r14
mov rdx, rbx
call fcn.140010c60
cmp esi, 0x66f63db0
je 0x140010a40
mov eax, dword [0x141dc1e00]
add eax, dword [0x141dc1e04]
and eax, 0xe886539a
imul eax, eax, 0xb9aad91a
add eax, 0x553b7e24
cmp eax, 0x64f82a86
jae 0x140010b90
jmp 0x140010c20
mov rcx, r14
mov rdx, rbx
call fcn.140010c60
mov qword [rdi + 0x110], 2
mov rax, qword [rdi + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc1e28]
imul ecx, dword [0x141dc1e2c]
add ecx, 0xaef3a18
xor ecx, 0xa0031033
and ecx, 0xe0973033
cmp ecx, 0x4265b1c0
jb 0x140010ac0
mov r8d, 2
jmp 0x1400108a0
mov eax, dword [0x141dc1dd8]
xor eax, dword [0x141dc1ddc]
xor eax, 0x12888000
or eax, 0xc90740a4
and eax, 0xdb9fc0a4
lea r8, [rcx + 2]
mov qword [rdi + 0x110], r8
cmp eax, 0xd8d4ae83
jne 0x140010b40
lea rax, [rcx + 2]
mov qword [rdi + 0x110], rax
jmp 0x140010b00
mov eax, dword [0x141dc1de0]
xor edx, edx
div dword [0x141dc1de4]
test bpl, bpl
jne 0x140010b4e
mov rax, qword [rbx + rcx*4]
nop word [rax + rax]
mov ecx, dword [0x141dc1de8]
or ecx, dword [0x141dc1dec]
xor ecx, 0x533aa256
add ecx, 0x4c5a25ff
or ecx, 0x8b11533c
cmp ecx, 0x9c9ae5e
jb 0x140010b60
jmp 0x1400108a0
mov eax, dword [0x141dc1e08]
xor eax, dword [0x141dc1e0c]
or eax, 0x88c4a699
imul rax, rax, 0x3836256b
shr rax, 0x3d
imul eax, eax, 0xfa0cbdb6
mov qword [rdi + 0x110], 1
cmp eax, 0x36515065
jb 0x140010c20
mov eax, dword [rdi + 0x10]
shl rax, 0x20
or rax, r13
mov rsi, r15
nop word cs:[rax + rax]
mov ecx, dword [0x141dc1e10]
or ecx, dword [0x141dc1e14]
imul ecx, ecx, 0xf685a1ca
add ecx, 0x836f76b2
imul rcx, r12
shr rcx, 0x3c
cmp ecx, 0xd2f8f54f
ja 0x140010be0
mov r8d, 1
mov r15, qword [rsp + 0x20]
jmp 0x1400108a0
mov qword [rdi + 0x110], 1
jmp 0x140010b90
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140010c40
mov rax, rdx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret