Function at 0x140038cc0
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rdx
mov r11, rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov rdi, qword [rdx + 0x10]
cmp rdi, 0x10
mov qword [rbp - 8], rcx
jb 0x140038d22
mov rcx, r11
mov rdx, rdi
call fcn.140039210
mov r11, qword [rbp - 8]
mov qword [r11 + 0x10], 0
mov rdi, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x140038d2c
mov rsi, qword [rsi]
add rdi, rsi
xor r14d, r14d
mov ebx, 0xfffffffa
lea r15, [0x1401849e5]
movabs r12, 0x8618618618618619
lea r13, [0x1400fc250]
jmp 0x140038d63
inc rsi
cmp rsi, rdi
je 0x140038e92
movzx eax, byte [rsi]
shl r14d, 8
or r14d, eax
add ebx, 8
jmp 0x140038d90
mov byte [rdx + rax], r9b
mov byte [rdx + rax + 1], 0
add ebx, 0xfffffffa
mov r11, qword [rbp - 8]
test ebx, ebx
js 0x140038d60
mov r10d, r14d
mov ecx, ebx
sar r10d, cl
cmp byte [0x140184a26], 0
jne 0x140038e47
mov ecx, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov rax, rcx
mul r12
mov r9, rdx
mov rax, r8
mul r12
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
lea rdx, [r8 + r13]
movzx eax, byte [rax + rdx + 0x1edb]
xor al, byte [r8 + r13 + 0x1ef0]
mov byte [r8 + r15], al
cmp r8, 0x40
je 0x140038e40
mov rax, rcx
sub rax, r9
shr rax, 1
add rax, r9
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r13
add rax, 0x1edc
movzx eax, byte [rax + r8]
xor al, byte [r8 + r13 + 0x1ef1]
mov byte [r8 + r15 + 1], al
add r8, 2
add rcx, 2
jmp 0x140038dc0
mov byte [0x140184a26], 1
and r10d, 0x3f
movzx r9d, byte [r10 + r15]
mov rax, qword [r11 + 0x10]
mov rcx, qword [r11 + 0x18]
cmp rax, rcx
jae 0x140038e80
lea rdx, [rax + 1]
mov qword [r11 + 0x10], rdx
mov rdx, r11
cmp rcx, 0x10
jb 0x140038d80
mov rdx, qword [r11]
jmp 0x140038d80
mov edx, 1
mov rcx, r11
call fcn.140024d30
jmp 0x140038d89
cmp ebx, 0xfffffffa
jbe 0x140038fa0
shl r14d, 8
add bl, 8
mov ecx, ebx
sar r14d, cl
and r14d, 0x3f
cmp byte [0x140184a26], 0
mov rcx, qword [rbp - 8]
jne 0x140038f51
mov r10d, 1
xor r8d, r8d
nop word cs:[rax + rax]
mov rax, r10
mul r12
mov r9, rdx
mov rax, r8
mul r12
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
lea rdx, [r8 + r13]
movzx eax, byte [rax + rdx + 0x1edb]
xor al, byte [r8 + r13 + 0x1ef0]
mov byte [r8 + r15], al
cmp r8, 0x40
je 0x140038f4a
mov rax, r10
sub rax, r9
shr rax, 1
add rax, r9
shr rax, 4
imul rax, rax, 0xffffffffffffffeb
add rax, r13
add rax, 0x1edc
movzx eax, byte [rax + r8]
xor al, byte [r8 + r13 + 0x1ef1]
mov byte [r8 + r15 + 1], al
add r8, 2
add r10, 2
jmp 0x140038ed0
mov byte [0x140184a26], 1
movzx r9d, byte [r14 + r15]
mov rax, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
cmp rax, r8
jae 0x140038f7d
lea rdx, [rax + 1]
mov qword [rcx + 0x10], rdx
mov rdx, rcx
cmp r8, 0x10
jb 0x140038f77
mov rdx, qword [rcx]
mov byte [rdx + rax], r9b
jmp 0x140038f89
mov edx, 1
call fcn.140024d30
jmp 0x140038fa0
add rax, rdx
inc rax
mov byte [rax], 0
nop word cs:[rax + rax]
mov rcx, qword [rbp - 8]
mov rax, qword [rcx + 0x10]
test al, 3
je 0x140038fc4
mov r8, qword [rcx + 0x18]
cmp rax, r8
jb 0x140038fd8
mov edx, 1
mov r9b, 0x3d
call fcn.140024d30
jmp 0x140038fa0
mov rax, rcx
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rdx, [rax + 1]
mov qword [rcx + 0x10], rdx
mov rdx, rcx
cmp r8, 0x10
jb 0x140038fec
mov rdx, qword [rcx]
mov byte [rdx + rax], 0x3d
jmp 0x140038f89