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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
mov r11, rdx
mov r9, rcx
test rdx, rdx
sete cl
cmp r9, 0xffffffffffffffbf
setl al
or al, cl
nop
mov ecx, dword [0x141dc86e0]
or ecx, dword [0x141dc86e4]
add ecx, 0x62c6d18d
imul rcx, rcx, 0x7f75221f
shr rcx, 0x3e
cmp ecx, 0x2c7de437
je 0x1400599a0
test al, al
je 0x1400599d3
xor r8d, r8d
xor eax, eax
jmp 0x140059cf0
mov r8d, 0xff
cmp r9, 0x26
jle 0x1400599e6
xor eax, eax
jmp 0x140059cf0
test r11, r11
je 0x1400599f5
bsr r10, r11
xor r10, 0x3f
jmp 0x1400599fb
mov r10d, 0x40
movabs r15, 0x3fffffffff
mov rbx, r9
shl rbx, 4
lea r12, [0x141db63f8]
lea r14, [rbx + r12]
add r14, 0x1560
nop
mov eax, dword [0x141dc86e8]
mov ecx, dword [0x141dc86ec]
lea ebp, [rax + rcx]
add ebp, 0x55577084
mov rdi, r11
mov ecx, r10d
shl rdi, cl
mov rax, rdi
mul qword [rbx + r12 + 0x1560]
and ebp, 0x2ab38ecb
cmp ebp, 0x448b6b82
je 0x140059a20
mov rcx, rax
mov rsi, rdx
mov rax, rdx
and rax, r15
mov r11, rcx
mov rbx, rdx
nop dword [rax]
mov edx, dword [str._i2H]
and edx, dword [0x141dc86f4]
xor edx, 0xc8400904
or edx, 0x7bdf65a
imul rdx, rdx, 0x79d4049f
shr rdx, 0x3b
cmp edx, 0x7f6e5822
ja 0x140059a70
cmp rax, r15
jne 0x140059af0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140059ab0
mov rax, qword [r14 + 8]
mul rdi
nop dword [rax + rax]
mov eax, dword [0x141dc86f8]
and eax, dword [0x141dc86fc]
imul rax, rax, 0x5b34dac9
shr rax, 0x3d
or eax, 0x60265918
mov r11, rdx
add r11, rcx
mov rbx, rsi
adc rbx, 0
cmp eax, 0xe20abd38
ja 0x140059ac0
cmp r9, 0xffffffffffffffe4
jg 0x140059b09
cmp r11, 0xffffffffffffffff
jne 0x140059b09
xor eax, eax
mov r8d, 0xffffffff
jmp 0x140059cf0
mov rdi, rbx
shr rdi, 0x3f
mov eax, dword [0x141dc8700]
xor edx, edx
div dword [0x141dc8704]
imul eax, eax, 0xec7e3eaf
cmp eax, 0x59e705f4
je 0x140059b10
mov eax, 0xa41a5f6b
mov rcx, rdi
or rcx, 0x26
nop word [rax + rax]
mov edx, dword [0x141dc8708]
add edx, dword [0x141dc870c]
or edx, 0x6191186e
add edx, 0x1b5abc56
imul rdx, rax
shr rdx, 0x3e
mov rsi, rbx
shr rsi, cl
cmp edx, 0x98a0317a
ja 0x140059b40
imul eax, r9d, 0x3526a
sar eax, 0x10
sub eax, r10d
lea r10d, [rax + rdi]
add r10d, 0x3f
cmp r10d, 0xffffff82
jge 0x140059c40
nop dword [rax]
mov eax, dword [0x141dc8710]
xor edx, edx
div dword [0x141dc8714]
imul eax, eax, 0x6c63ee2d
add eax, 0xff6b938b
or eax, 0xa8439583
cmp eax, 0x21d89ba
jb 0x140059b90
cmp r10d, 0xffffff43
jb 0x1400599c9
mov ecx, 2
sub ecx, r10d
and ecx, 0x3f
nop dword [rax]
mov eax, dword [0x141dc8730]
or eax, dword [0x141dc8734]
and eax, 0x86e6cd97
imul eax, eax, 0xe2aa1e6
mov rdx, rsi
shr rdx, cl
bt rsi, rcx
adc rdx, 0
cmp eax, 0xc2660597
je 0x140059bd0
mov eax, edx
shr eax, 1
mov ecx, dword [0x141dc8738]
imul ecx, dword [0x141dc873c]
add ecx, 0xe626d6c1
imul r9, rcx, 0x4843fd23
shr r9, 0x3d
and r9d, 0xfffffffe
xor r8d, r8d
cmp rdx, 0x1000000
setae cl
cmp r9d, 0xd328c773
ja 0x140059c00
mov r8b, cl
jmp 0x140059cf0
add r9, 0x11
mov eax, esi
mov rdx, rsi
shl rdx, cl
and eax, 3
xor rax, 1
xor rdx, rbx
mov edi, esi
and edi, 0xfffffffe
or rdx, rax
cmovne rdi, rsi
cmp r11, 2
cmovae rdi, rsi
cmp r9, 0x1c
cmovae rdi, rsi
mov ecx, edi
and ecx, 1
add rcx, rdi
cmp rcx, 0x2000000
sbb r10d, 0xffffffff
add r10d, 0x7f
cmp r10d, 0xfe
jbe 0x140059c96
xor eax, eax
jmp 0x140059cf0
mov r8d, ecx
shr r8d, 1
and r8d, 0x37fffff
mov eax, dword [0x141dc8718]
xor r9d, r9d
xor edx, edx
div dword [0x141dc871c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8720]
or eax, dword [0x141dc8724]
imul edx, eax, 0x79751f44
cmp ecx, 0x2000000
mov rax, r8
cmovae rax, r9
cmp edx, 0xee76e460
je 0x140059cc0
mov r8d, r10d
nop word [rax + rax]
mov ecx, dword [0x141dc8728]
imul ecx, dword [0x141dc872c]
or ecx, 0xf2d3b82
add ecx, 0xc5192135
or ecx, 0xf70b7a83
cmp ecx, 0xd8da361a
jb 0x140059cf0
mov edx, r8d
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret