Function at 0x1400f2f30
Capabilities:
Encode data using base64

Disassembly:
push rsi
push rdi
push r12
push r13
sub rsp, 0x168
mov rax, qword [0x1403dd7c0]
xor rax, rsp
mov qword [rsp + 0x130], rax
mov esi, r8d
mov r13, rcx
mov r8d, dword [rcx + 8]
mov rdi, r9
mov eax, 0xaaaaaaab
mov r12, rdx
lea r9d, [rsi*4 + 8]
mul r9d
mov ecx, edx
shr ecx, 1
test r8d, r8d
je 0x1400f2f85
xor edx, edx
lea eax, [rcx + rcx]
div r8d
add eax, ecx
jmp 0x1400f2f87
mov eax, ecx
mov qword [rsp + 0x160], rbx
lea edx, [rax + 3]
mov qword [rsp + 0x158], rbp
mov rcx, rdi
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x148], r15
call fcn.1400d9610
test al, al
je 0x1400f3294
test esi, esi
je 0x1400f3290
test r12, r12
je 0x1400f3290
mov eax, 0xaaaaaaab
xor r15d, r15d
mul esi
xor ebp, ebp
xor r8d, r8d
mov r14d, edx
xor ebx, ebx
shr r14d, 1
lea rdx, [0x14028a480]
je 0x1400f313b
nop
movzx r9d, byte [r15 + r12]
add ebp, 4
mov eax, r9d
movsxd rcx, r8d
shr rax, 2
and r9d, 3
shl r9d, 4
inc r8d
inc r15d
movzx eax, byte [rax + rdx]
mov byte [rsp + rcx + 0x20], al
movzx r11d, byte [r15 + r12]
inc r15d
movsxd rcx, r8d
mov eax, r11d
shr rax, 4
inc r8d
mov edx, r9d
and r11d, 0xf
or rdx, rax
mov r10d, r15d
lea r9, [0x14028a480]
shl r11d, 2
inc r15d
movzx eax, byte [rdx + r9]
movzx r9d, byte [r10 + r12]
mov byte [rsp + rcx + 0x20], al
mov eax, r9d
shr rax, 6
and r9d, 0x3f
movsxd rcx, r8d
inc r8d
mov edx, r11d
or rdx, rax
lea rax, [0x14028a480]
movzx eax, byte [rdx + rax]
lea rdx, [0x14028a480]
mov byte [rsp + rcx + 0x20], al
movzx eax, byte [r9 + rdx]
movsxd rcx, r8d
inc r8d
mov byte [rsp + rcx + 0x20], al
cmp ebp, dword [r13 + 8]
jb 0x1400f30e7
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], 0x26
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], 0x23
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], 0x78
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], 0x44
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], 0x3b
movsxd rax, r8d
inc r8d
mov byte [rsp + rax + 0x20], ntohs
movsxd rax, r8d
inc r8d
xor ebp, ebp
mov byte [rsp + rax + 0x20], 0xa
cmp r8d, 0x100
jl 0x1400f310f
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400d59d0
test al, al
je 0x1400f3294
xor r8d, r8d
lea rdx, [0x14028a480]
inc ebx
cmp ebx, r14d
jb 0x1400f2ff0
test r8d, r8d
je 0x1400f313b
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400d59d0
test al, al
je 0x1400f3294
lea rdx, [0x14028a480]
lea eax, [r14 + r14*2]
mov bl, 1
sub esi, eax
je 0x1400f321e
sub esi, 1
je 0x1400f31bd
cmp esi, 1
jne 0x1400f323c
movzx ebp, byte [r15 + r12]
lea eax, [r15 + 1]
movzx esi, byte [rax + r12]
mov rcx, rdi
mov eax, ebp
shr rax, 2
movzx edx, byte [rax + rdx]
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
and ebp, 3
mov eax, esi
shl ebp, 4
mov ecx, ebp
lea rbp, [0x14028a480]
shr rax, 4
or rcx, rax
movzx edx, byte [rcx + rbp]
mov rcx, rdi
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
and esi, 0xf
shl esi, 2
movzx edx, byte [rsi + rbp]
jmp 0x1400f31fe
movzx esi, byte [r15 + r12]
mov rcx, rdi
mov eax, esi
shr rax, 2
movzx edx, byte [rax + rdx]
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
and esi, 3
lea r9, [0x14028a480]
shl esi, 4
mov rcx, rdi
movzx edx, byte [rsi + r9]
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
mov dl, 0x3d
mov rcx, rdi
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
mov dl, 0x3d
mov rcx, rdi
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
mov dl, 0xd
mov rcx, rdi
call fcn.1400d4b00
movzx ebx, al
test al, al
je 0x1400f323c
mov dl, 0xa
mov rcx, rdi
call fcn.1400d4b00
movzx ebx, al
lea rdx, [0x14028a770]
mov rcx, rdi
call fcn.1400d93a0
test al, al
je 0x1400f325c
mov edx, 2
mov rcx, rdi
call fcn.1400ddbe0
lea rdx, str.xD__r_n
mov rcx, rdi
call fcn.1400d93a0
test al, al
je 0x1400f328b
mov edx, 7
mov rcx, rdi
call fcn.1400ddbe0
lea rdx, [0x1402864d4]
mov rcx, rdi
call fcn.1400d46e0
movzx eax, bl
jmp 0x1400f3296
mov al, 1
jmp 0x1400f3296
xor al, al
mov r15, qword [rsp + 0x148]
mov r14, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x130]
xor rcx, rsp
call fcn.140278f40
add rsp, 0x168
pop r13
pop r12
pop rdi
pop rsi
ret