Function at 0x14001be50
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
test rdx, rdx
je 0x14001c132
mov rax, rdx
shr rax, 0x3d
jne 0x14001c132
mov r14, rcx
mov rax, rdx
shr rax, 0x20
mov rcx, rdx
shl rcx, 0x20
lea r10d, [r8 - 0x20]
test rax, rax
cmovne r10d, r8d
cmovne rcx, rdx
mov rax, rcx
shr rax, 0x30
mov rdx, rcx
shl rdx, 0x10
lea r8d, [r10 - 0x10]
test rax, rax
cmovne r8d, r10d
cmovne rdx, rcx
mov rax, rdx
shr rax, 0x38
mov rcx, rdx
shl rcx, 8
lea r10d, [r8 - 8]
test rax, rax
cmovne r10d, r8d
cmovne rcx, rdx
mov rax, rcx
shr rax, 0x3c
mov r8, rcx
shl r8, 4
lea r11d, [r10 - 4]
test rax, rax
cmovne r11d, r10d
cmovne r8, rcx
mov rcx, r8
shr rcx, 0x3e
lea rax, [r8*4]
lea edx, [r11 - 2]
test rcx, rcx
cmovne edx, r11d
cmovne rax, r8
xor ecx, ecx
test rax, rax
setns cl
sub edx, ecx
mov ecx, 0xffffffa0
sub ecx, edx
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul r8, rcx, 0x7b4dc993
mov rcx, r8
shr rcx, 0x3f
shr r8, 0x20
sar r8d, 0xa
add r8d, ecx
cmp r8d, 0x51
jae 0x14001c132
test rax, rax
setns cl
shl rax, cl
mov esi, r8d
shl rsi, 4
lea rdi, [0x141cf5430]
mov r8, qword [rsi + rdi]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
mov r10d, r8d
shr r8, 0x20
mov r11, r8
imul r11, rcx
imul r8, rax
imul rcx, r10
imul r10, rax
shr r10, 0x20
mov ebx, ecx
add rbx, r10
mov eax, r8d
add rax, rbx
sub rax, 0xffffffff80000000
shr rcx, 0x20
add rcx, r11
shr r8, 0x20
add r8, rcx
shr rax, 0x20
add dx, word [rsi + rdi + 8]
add rax, r8
mov ecx, 0xffffffc0
sub ecx, edx
movzx r10d, cx
mov r8d, r10d
and r8d, 0x3f
mov rdx, rax
mov ecx, r8d
shr rdx, cl
mov r11d, 1
shl r11, cl
lea rbp, [r11 - 1]
mov r13, rax
and r13, rbp
je 0x14001c195
movzx r15d, word [rsp + 0xa8]
movzx esi, word [rsi + rdi + 0xa]
cmp edx, 0x2710
jae 0x14001c01c
cmp edx, 0x64
jae 0x14001c03f
xor ecx, ecx
cmp edx, 0xa
setae cl
lea edi, [rcx + rcx*8]
inc edi
jmp 0x14001c096
cmp edx, 0xf4240
jae 0x14001c05a
cmp edx, 0x186a0
setb cl
mov ebx, 0x2710
mov edi, 0x186a0
cmovb edi, ebx
xor cl, 5
jmp 0x14001c096
cmp edx, 0x3e8
setb cl
mov ebx, 0x64
mov edi, 0x3e8
cmovb edi, ebx
xor cl, 3
jmp 0x14001c096
cmp edx, 0x5f5e100
jae 0x14001c07d
cmp edx, 0x989680
setb cl
mov ebx, 0xf4240
mov edi, 0x989680
cmovb edi, ebx
xor cl, 7
jmp 0x14001c096
cmp edx, 0x3b9aca00
setb cl
mov ebx, 0x5f5e100
mov edi, 0x3b9aca00
cmovb edi, ebx
xor cl, 9
movzx ecx, cl
mov ebx, ecx
sub ebx, esi
mov esi, ebx
inc esi
cmp si, r15w
jle 0x14001c134
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r14
mov rbx, qword [rsp + 0xa0]
movsx rax, si
mov dword [rsp + 0x24], esi
sub esi, r15d
movsx r14, r15w
sub rax, r14
cmp rax, rbx
movsx r14, si
cmovae r14, rbx
neg rcx
mov r15, rbx
neg r15
mov esi, 1
mov r12d, 0xcccccccd
nop
lea rbx, [r15 + rsi]
mov eax, edx
xor edx, edx
div edi
cmp rbx, 1
je 0x14001c132
add al, 0x30
mov byte [r9 + rsi - 1], al
cmp r14, rsi
je 0x14001c1a1
lea rax, [rcx + rsi]
cmp rax, 1
je 0x14001c261
mov eax, edi
imul rax, r12
shr rax, 0x23
inc rsi
cmp edi, 0xa
mov edi, eax
jae 0x14001c0f0
ud2
movabs rcx, 0xcccccccccccccccd
mul rcx
mov eax, edi
mov ecx, r8d
shl rax, cl
mov rcx, rax
sub rcx, r11
jbe 0x14001c195
cmp rcx, r11
jbe 0x14001c195
shr rdx, 3
mov rcx, rax
sub rcx, rdx
cmp rcx, rdx
jbe 0x14001c184
mov r10, rax
sub r10, rdx
sub r10, rdx
mov edi, esi
mov esi, 2
mov ecx, r8d
shl rsi, cl
cmp r10, rsi
jae 0x14001c329
sub rdx, r11
jbe 0x14001c195
sub rax, rdx
cmp rax, rdx
jbe 0x14001c351
mov qword [r14], 0
jmp 0x14001c318
mov eax, edx
mov ecx, r8d
shl rax, cl
mov edx, edi
shl rdx, cl
mov rcx, rdx
sub rcx, r11
jbe 0x14001c30c
cmp rcx, r11
jbe 0x14001c30c
add rax, r13
mov rcx, rdx
sub rcx, rax
cmp rcx, rax
jbe 0x14001c1ee
mov r10, rdx
sub r10, rax
sub r10, rax
mov esi, 2
mov ecx, r8d
shl rsi, cl
cmp r10, rsi
jae 0x14001c33b
sub rax, r11
jbe 0x14001c30c
sub rdx, rax
cmp rdx, rax
ja 0x14001c30c
mov r8, 0xffffffffffffffff
mov rax, r14
movzx edi, word [rsp + 0xa8]
mov edx, dword [rsp + 0x24]
mov rbx, qword [rsp + 0xa0]
test rax, rax
je 0x14001c375
mov rcx, rax
dec rax
inc r8
cmp byte [r9 + rcx - 1], 0x39
je 0x14001c221
inc byte [r9 + rax]
cmp rcx, r14
jae 0x14001c3ae
add rcx, r9
mov dl, 0x30
mov rsi, r9
call fcn.140049820
mov r9, rsi
mov edx, dword [rsp + 0x24]
jmp 0x14001c3ae
dec r10d
and r10d, 0x3f
mov edx, 1
movzx ebx, word [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
nop dword [rax]
mov rax, rdx
mov ecx, r10d
shr rdx, cl
test rdx, rdx
jne 0x14001c30c
cmp rsi, r15
jae 0x14001c132
add r13, r13
lea rdi, [r13*4]
add rdi, r13
mov r13, rdi
and r13, rbp
lea rcx, [rax + rax]
lea rdx, [rcx + rcx*4]
mov ecx, r8d
shr rdi, cl
add dil, 0x30
mov byte [r9 + rsi], dil
inc rsi
cmp r14, rsi
jne 0x14001c280
mov rcx, r11
sub rcx, rdx
jbe 0x14001c30c
cmp rcx, rdx
jbe 0x14001c30c
mov rcx, r11
sub rcx, r13
cmp rcx, r13
jbe 0x14001c2f7
mov r8, r11
sub r8, r13
sub r8, r13
shl rax, 2
lea rax, [rax + rax*4]
cmp r8, rax
jae 0x14001c33b
sub r13, rdx
mov edx, dword [rsp + 0x24]
jbe 0x14001c30c
sub r11, r13
cmp r11, r13
jbe 0x14001c3bc
mov rax, qword [rsp + 0x28]
mov qword [rax], 0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [r14], r9
mov qword [r14 + 8], 0
mov word [r14 + 0x10], di
jmp 0x14001c318
mov rax, qword [rsp + 0x28]
mov qword [rax], r9
mov qword [rax + 8], r14
mov ecx, dword [rsp + 0x24]
mov word [rax + 0x10], cx
jmp 0x14001c318
lea eax, [rbx + 2]
cmp ax, r15w
jle 0x14001c365
mov byte [r9], 0x31
mov ecx, 1
jmp 0x14001c367
xor ecx, ecx
mov qword [r14], r9
mov qword [r14 + 8], rcx
mov word [r14 + 0x10], ax
jmp 0x14001c318
mov byte [r9], 0x31
cmp r14, 1
je 0x14001c394
lea rcx, [r9 + 1]
lea r8, [r14 - 1]
mov dl, 0x30
mov rsi, r9
call fcn.140049820
mov r9, rsi
mov rax, qword [rsp + 0x30]
lea edx, [rax + 2]
cmp dx, di
jle 0x14001c3ae
cmp r14, rbx
jae 0x14001c3ae
mov byte [r9 + r14], 0x30
inc r14
cmp r14, rbx
jbe 0x14001c43e
jmp 0x14001c132
mov r8, 0xffffffffffffffff
mov rax, r14
test rax, rax
je 0x14001c3fb
mov rcx, rax
dec rax
inc r8
cmp byte [r9 + rcx - 1], 0x39
je 0x14001c3c6
inc byte [r9 + rax]
cmp rcx, r14
jae 0x14001c435
add rcx, r9
mov dl, 0x30
mov rsi, r9
call fcn.140049820
mov r9, rsi
mov edx, dword [rsp + 0x24]
jmp 0x14001c435
mov byte [r9], 0x31
mov rsi, r9
lea rcx, [r9 + 1]
lea r8, [r14 - 1]
mov dl, 0x30
call fcn.140049820
mov rax, qword [rsp + 0x30]
add eax, 2
mov edx, eax
cmp ax, bx
jle 0x14001c432
cmp r14, r15
jae 0x14001c432
mov r9, rsi
mov byte [rsi + r14], 0x30
inc r14
jmp 0x14001c435
mov r9, rsi
cmp r14, r15
ja 0x14001c132
mov rax, qword [rsp + 0x28]
mov qword [rax], r9
mov qword [rax + 8], r14
mov word [rax + 0x10], dx
jmp 0x14001c318