Function at 0x180001f34
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rbx, r9
mov r13, rdx
mov rsi, rcx
test rdx, rdx
je 0x180001fc8
and dword [rbp - 0x1c], 0
lea rax, [rdx - 2]
xor edx, edx
mov byte [rbp - 0x20], 0
and dword [rbp - 0x18], edx
xor r14b, r14b
and dword [rbp - 0x10], edx
xor r12b, r12b
mov byte [rbp + 0x48], 0
mov byte [rbp - 0x1e], r12b
mov qword [rbp - 8], rax
mov dword [rbp - 0x14], edx
mov byte [rbp - 0x1f], r14b
test r8d, r8d
jle 0x180001fab
movzx edi, word [r13]
cmp edi, dword [rsi + 0x1c]
jge 0x1800a4434
add r13, 2
dec r8d
mov dword [rbp + 0x50], r8d
jmp 0x180001f8b
mov byte [rbx], 1
xor eax, eax
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, 0xc000000d
jmp 0x180001fb0
mov r9, qword [rsi + 0x20]
mov rax, rdi
shr rax, 7
mov cl, byte [rax + r9]
test cl, cl
je 0x180001f9e
cmp cl, 0xfb
jne 0x1800a445a
cmp byte [rsi + 0x71], 0
jne 0x180001f9e
movzx edx, cl
mov ecx, edx
test edx, edx
je 0x1800a485b
sub ecx, 0xfb
je 0x1800a4851
sub ecx, 1
je 0x1800a45fa
sub ecx, 1
je 0x1800a47df
sub ecx, 1
je 0x1800a44fd
sub ecx, 1
jne 0x1800a457e
cmp edi, 0xac00
jl 0x1800a44c1
cmp edi, 0xd7a4
jl 0x1800a454d
lea eax, [rdi - 0xd7b0]
cmp eax, 0x16
jbe 0x1800a44f6
lea eax, [rdi - 0xd7cb]
cmp eax, 0x30
jbe 0x1800a44f6
mov cl, 0xfb
jmp 0x1800a445a
cmp r8d, 1
jle 0x1800a44df
movzx edx, word [r13 + 2]
mov ecx, edi
call fcn.1800f50c4
test al, al
jne 0x1800a47df
mov r8d, dword [rbp + 0x50]
mov eax, dword [rsi]
sub eax, 0xd
test eax, 0xfffffeff
jne 0x1800a44f6
lea eax, [rdi - 0x115f]
cmp eax, 1
jbe 0x1800a44bd
xor cl, cl
jmp 0x1800a445a
cmp r8d, 1
jle 0x1800a45fa
add r13, 2
mov ecx, 0x2400
dec r8d
mov dword [rbp + 0x50], r8d
movzx eax, word [r13]
add ax, cx
mov ecx, 0x3ff
cmp ax, cx
ja 0x1800a45fa
movzx eax, word [r13]
add edi, 0xffff2809
shl edi, 0xa
add edi, eax
movsxd rax, edi
sar rax, 7
mov cl, byte [rax + r9]
jmp 0x1800a445a
cmp byte [rsi + 0x70], 1
je 0x1800a47df
cmp r8d, 1
jle 0x1800a485b
movzx edx, word [r13 + 2]
mov ecx, edi
call fcn.1800f50c4
test al, al
jne 0x1800a47df
mov r8d, dword [rbp + 0x50]
jmp 0x1800a485b
mov eax, edi
mov rcx, rdx
and eax, 0x7f
shl rcx, 7
add rcx, rax
mov rax, qword [rsi + 0x28]
mov dl, byte [rcx + rax - 0x80]
test dl, dl
je 0x1800a485b
mov r12b, dl
mov r15b, dl
and r12b, 0xc0
mov byte [rbp - 0x1d], r12b
and r15b, 0x3f
je 0x1800a45b7
cmp r15b, 0x3f
jne 0x1800a4604
movzx ecx, dl
sub ecx, 0x40
je 0x1800a482e
sub ecx, 0x3f
je 0x1800a4851
sub ecx, 1
je 0x1800a482e
sub ecx, 0x3f
je 0x1800a47df
sub ecx, 1
je 0x1800a47ed
sub ecx, 0x3f
jne 0x1800a4604
test edi, edi
jne 0x1800a45fa
cmp r8d, 1
jle 0x180001fab
mov eax, 0xc0000717
jmp 0x180001fb0
test r12b, 0xbf
je 0x1800a47e7
lea rax, [rbp + 0x48]
mov rdx, r13
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x1c]
lea rax, [rbp - 0x20]
mov rcx, rsi
lea r8, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1800f5c18
mov r14b, byte [rbp - 0x20]
xor ecx, ecx
test r14b, r14b
je 0x1800a47b3
cmp r14b, 0x3f
je 0x1800a47b3
mov r12b, byte [rbp + 0x48]
test r12b, 0xbf
je 0x1800a4728
cmp r14b, r15b
ja 0x1800a486f
cmp byte [rbp - 0x1d], 0xc0
jne 0x1800a483c
cmp r14b, r15b
je 0x1800a483c
mov r12b, byte [rbp - 0x1e]
mov r14b, byte [rbp - 0x1f]
mov al, r12b
or al, r14b
sub al, 0x40
test al, 0xbf
je 0x1800a469b
cmp r12b, 0x40
jne 0x1800a46b1
test r14b, r14b
je 0x1800a469b
cmp r14b, 0x3f
jne 0x1800a46b1
mov edx, dword [rbp - 0x14]
mov r8d, edi
mov rcx, rsi
call fcn.1800f5980
test eax, eax
jne 0x1800a47df
cmp r15b, r14b
jae 0x1800a483c
test r12b, 0xbf
jne 0x1800a483c
lea eax, [r14 - 1]
cmp al, 0x3d
ja 0x1800a483c
cmp r14b, byte [rsi + 0x74]
jne 0x1800a46e7
cmp r15b, byte [rsi + 0x72]
jb 0x1800a4710
cmp r15b, byte [rsi + 0x73]
je 0x1800a46f3
jmp 0x1800a483c
cmp r14b, byte [rsi + 0x76]
jne 0x1800a4710
cmp r15b, byte [rsi + 0x75]
jne 0x1800a4710
mov r9d, dword [rbp - 0x14]
lea r8, [rbp - 0x18]
lea rdx, [rbp - 0x10]
mov dword [rsp + 0x20], edi
mov rcx, rsi
call fcn.1800f5b2c
jmp 0x1800a47db
mov r8d, dword [rbp - 0x14]
lea rdx, [rbp - 0x18]
mov r9d, edi
mov rcx, rsi
call fcn.1800f5ae8
jmp 0x1800a47db
cmp byte [rbp - 0x1d], 0xc0
mov eax, dword [rbp - 0x1c]
mov dword [rbp - 0x14], eax
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x10], ecx
jne 0x1800a47aa
cmp r12b, 0x40
jne 0x1800a4758
mov r8d, edi
mov edx, eax
mov rcx, rsi
call fcn.1800f5980
test eax, eax
jne 0x1800a47df
mov eax, dword [rbp - 0x14]
cmp r14b, r15b
jbe 0x1800a47aa
cmp r14b, byte [rsi + 0x74]
jne 0x1800a4788
cmp r15b, byte [rsi + 0x72]
jb 0x1800a4794
cmp r15b, byte [rsi + 0x73]
jne 0x1800a47aa
mov r9d, eax
mov dword [rsp + 0x20], edi
lea r8, [rbp - 0x18]
mov rcx, rsi
lea rdx, [rbp - 0x10]
call fcn.1800f5b2c
jmp 0x1800a47a6
cmp r14b, byte [rsi + 0x76]
jne 0x1800a4794
cmp r15b, byte [rsi + 0x75]
je 0x1800a476f
mov r9d, edi
lea rdx, [rbp - 0x18]
mov r8d, eax
mov rcx, rsi
call fcn.1800f5ae8
test eax, eax
jne 0x1800a47df
mov byte [rbp - 0x1f], r14b
jmp 0x1800a4838
mov cl, byte [rbp + 0x48]
mov edx, dword [rbp - 0x1c]
mov dword [rbp - 0x14], edx
mov byte [rbp - 0x1f], r14b
lea eax, [rcx - 0x40]
mov byte [rbp - 0x1e], cl
test al, 0xbf
jne 0x1800a483c
cmp r12b, 0xc0
jne 0x1800a483c
mov r8d, edi
mov rcx, rsi
call fcn.1800f5980
test eax, eax
je 0x1800a483c
mov byte [rbx], 0
jmp 0x180001fae
and dword [rbp - 0x18], 0
jmp 0x1800a482e
lea rax, [rbp + 0x48]
mov rdx, r13
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x1c]
lea rax, [rbp - 0x20]
mov rcx, rsi
lea r8, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1800f5c18
mov al, byte [rbp + 0x48]
or al, byte [rbp - 0x20]
cmp al, 0x80
jne 0x1800a482e
mov edx, dword [rbp - 0x1c]
mov r8d, edi
mov rcx, rsi
call fcn.1800f5980
test eax, eax
jne 0x1800a47df
mov dword [rbp - 0x14], edi
mov r14b, r15b
mov byte [rbp - 0x1f], r15b
mov byte [rbp - 0x1e], r12b
mov r8d, dword [rbp + 0x50]
mov dword [rbp - 0x1c], edi
mov dil, byte [rbp - 0x1d]
mov byte [rbp + 0x48], dil
mov byte [rbp - 0x20], r15b
jmp 0x1800a4866
cmp byte [rsi + 0x71], 0
je 0x1800a45fa
mov byte [rbp + 0x48], 0
mov byte [rbp - 0x20], 0
mov dword [rbp - 0x1c], edi
mov qword [rbp - 8], r13
jmp 0x180001f9e
mov byte [rbx], cl
jmp 0x180001fae