Function at 0x1401785e0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov qword [rsp + 0x58], r9
mov rsi, rdx
mov qword [rsp + 0x28], rcx
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0x260], rax
mov r9, qword [rdx + 8]
lea rax, [r9 + 1]
mov qword [rdx + 8], rax
movzx edi, byte [r9]
test dil, dil
js 0x140178663
xor edx, edx
xor ecx, ecx
nop dword [rax + rax]
movzx ecx, cl
shl rdi, cl
mov r10, rax
or rdx, rdi
add ecx, 7
inc rax
mov qword [rsi + 8], rax
movzx edi, byte [r10]
test dil, dil
jns 0x140178630
add rdi, 0xffffffffffffff80
shl rdi, cl
or rdi, rdx
test rdi, rdi
jne 0x140178670
jmp 0x140178987
add rdi, 0xffffffffffffff80
test rdi, rdi
je 0x140178987
lea rcx, [rax + 1]
mov qword [rsi + 8], rcx
movzx ebx, byte [rax]
test bl, bl
mov qword [rsp + 0x50], r9
js 0x1401786ba
add rax, 2
xor edx, edx
xor ecx, ecx
nop dword [rax]
movzx ecx, cl
shl rbx, cl
or rdx, rbx
add ecx, 7
mov qword [rsi + 8], rax
movzx ebx, byte [rax - 1]
inc rax
test bl, bl
jns 0x140178690
mov r12d, r8d
add rbx, 0xffffffffffffff80
shl rbx, cl
or rbx, rdx
jmp 0x1401786c1
mov r12d, r8d
add rbx, 0xffffffffffffff80
mov rcx, qword [rsp + 0x28]
call fcn.140227060
mov rcx, qword [rax + 0x20]
mov rcx, qword [rcx + 0x4f0]
mov r14, qword [rcx + 7]
test r12b, r12b
mov qword [rsp + 0x48], rax
je 0x1401786f6
mov rax, qword [rax + 0x3d0]
mov qword [rsp + 0x30], rax
mov r13, qword [rax + 8]
jmp 0x140178744
mov ecx, reloc.WS2_32.dll_recv
call fcn.14029f9b8
mov r15, rax
mov qword [rax], rdi
mov rax, rdi
shr rax, 0x3d
lea rcx, [rdi*8]
neg rax
mov ebp, 0
sbb rbp, rbp
or rbp, rcx
mov rcx, rbp
call fcn.14029fa30
mov r13, rax
mov rcx, rax
xor edx, edx
mov r8, rbp
call fcn.1402a4b90
mov qword [rsp + 0x30], r15
mov qword [r15 + 8], r13
lea rcx, [rsp + 0x60]
mov r8d, 0x200
xor edx, edx
call fcn.1402a4b90
test rdi, rdi
mov r10d, r12d
jle 0x140178930
mov r11, r14
mov r14, qword [rsp + 0x2d8]
mov r15, qword [rsp + 0x2d0]
sub r15, rbx
sub r14, rbx
xor eax, eax
shl rbx, 3
xor ebp, ebp
xor r12d, r12d
xor edx, edx
jmp 0x1401787a4
mov qword [r13 + r12*8], rax
dec rdx
inc r12
cmp r12, rdi
je 0x140178930
test rdx, rdx
jg 0x140178790
mov r8, qword [rsi + 8]
lea rcx, [r8 + 1]
mov qword [rsi + 8], rcx
movzx edx, byte [r8]
test dl, dl
js 0x14017880e
add r8, 2
xor r9d, r9d
xor ecx, ecx
nop word cs:[rax + rax]
movzx ecx, cl
shl rdx, cl
or r9, rdx
add ecx, 7
mov qword [rsi + 8], r8
movzx edx, byte [r8 - 1]
inc r8
test dl, dl
jns 0x1401787d0
add rdx, 0xffffffffffffff40
shl rdx, cl
or rdx, r9
test rdx, rdx
je 0x14017881a
js 0x140178824
cmp rdx, 0x3f
ja 0x140178831
dec rdx
jmp 0x14017891f
add rdx, 0xffffffffffffff40
test rdx, rdx
jne 0x1401787fe
xor edx, edx
mov rax, r11
jmp 0x14017891f
not rdx
mov rax, qword [rsp + rdx*8 + 0x60]
jmp 0x14017891d
lea rax, [rdx - 0x40]
test r10b, r10b
je 0x14017886b
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 0x17]
mov ecx, dword [rcx + 8]
not rcx
add rax, rcx
cmp r15, rax
jg 0x14017889a
cmp rax, r14
jge 0x14017889a
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x78]
add rcx, rbx
jmp 0x14017890a
mov rcx, qword [rsp + 0x28]
cmp byte [rcx + 0xa8], 0
je 0x1401788a1
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x60]
cmp rax, rcx
jg 0x1401788a8
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x78]
mov rax, qword [rax + rdx*8 - 0x1f1]
jmp 0x14017890f
mov rax, qword [r13 + r12*8]
jmp 0x140178913
xor ecx, ecx
cmp rax, rcx
jle 0x140178887
add rdx, 0xffffffffffffffbf
sub rdx, rcx
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 0xb0]
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x17]
mov r8d, dword [rax + 8]
mov rax, rdx
sub rax, r8
jge 0x1401788f6
mov qword [rsp + 0x40], r14
mov r14d, r10d
mov qword [rsp + 0x38], r15
mov r15, r11
call fcn.1401d2270
mov r11, r15
mov r15, qword [rsp + 0x38]
mov r10d, r14d
mov r14, qword [rsp + 0x40]
jmp 0x140178913
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rdx + 0x88]
shl rcx, 3
add rcx, qword [rdx + 0x78]
mov rax, qword [rcx + rax*8 + 0x17]
mov rax, qword [rax + 7]
mov qword [rsp + rbp*8 + 0x60], rax
inc ebp
and ebp, 0x3f
xor edx, edx
mov qword [r13 + r12*8], rax
inc r12
cmp r12, rdi
jne 0x1401787a4
test r10b, r10b
jne 0x140178987
mov r14, qword [rsp + 0x48]
mov rdi, qword [r14 + 0x3d0]
mov rax, qword [rsp + 0x30]
mov qword [r14 + 0x3d0], rax
test rdi, rdi
mov rbx, qword [rsp + 0x50]
je 0x140178972
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140178965
call fcn.14029f9fc
mov edx, reloc.WS2_32.dll_recv
mov rcx, rdi
call fcn.14029f9fc
mov rax, qword [rsi + 8]
sub rax, rbx
mov qword [r14 + 0x3d8], rbx
mov qword [r14 + 0x3e0], rax
mov rcx, qword [rsp + 0x260]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x1401789af
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14029fd30
int3