Function at 0x140170a10
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r14, r8
mov r15, rdx
mov rsi, rcx
mov qword [rsp + 0x30], rcx
xor ebp, ebp
mov dword [rsp + 0x2c], ebp
mov qword [rcx], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], bpl
mov dword [rsp + 0x2c], 1
mov edi, ebp
test r8, r8
je 0x140170cb3
mov ecx, ebp
movzx ebx, byte [rsp + 0x20]
nop dword [rax]
dec r14
movzx eax, byte [r15]
lea r15, [r15 + 1]
mov byte [rsp + rcx + 0x24], al
inc edi
inc rcx
movzx edx, byte [rsp + 0x26]
movzx r12d, byte [rsp + 0x25]
movzx r13d, byte [rsp + 0x24]
cmp rcx, 3
jne 0x140170b61
movzx eax, r13b
shr al, 2
mov byte [rsp + 0x28], al
movzx ecx, r13b
and cl, 3
shl cl, 4
movzx eax, r12b
shr al, 4
add cl, al
mov byte [rsp + 0x29], cl
movzx ecx, r12b
and cl, 0xf
shl cl, 2
movzx eax, dl
shr al, 6
add cl, al
mov byte [rsp + 0x2a], cl
movzx eax, dl
and al, 0x3f
mov byte [rsp + 0x2b], al
mov rdi, rbp
nop dword [rax]
nop word [rax + rax]
lea rcx, [0x1404bb0c8]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x1404bb0c8]
movzx eax, byte [rsp + rdi + 0x28]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x140170b3d
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x140170b32
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140170b4e
movzx r8d, bl
mov edx, 1
mov rcx, rsi
call fcn.140129c50
inc rdi
cmp rdi, 4
jl 0x140170af0
mov edi, ebp
mov rcx, rbp
movzx edx, byte [rsp + 0x26]
test r14, r14
jne 0x140170a70
test edi, edi
je 0x140170cb3
movsxd rax, edi
cmp rax, 3
jge 0x140170ba0
jae 0x140170cd4
mov byte [rsp + rax + 0x24], 0
inc rax
cmp rax, 3
jl 0x140170b7b
movzx edx, byte [rsp + 0x26]
movzx r12d, byte [rsp + 0x25]
movzx r13d, byte [rsp + 0x24]
movzx eax, r13b
shr al, 2
mov byte [rsp + 0x28], al
and r13b, 3
shl r13b, 4
movzx eax, r12b
shr al, 4
add r13b, al
mov byte [rsp + 0x29], r13b
and r12b, 0xf
shl r12b, 2
movzx eax, dl
shr al, 6
add r12b, al
mov byte [rsp + 0x2a], r12b
and dl, 0x3f
mov byte [rsp + 0x2b], dl
lea eax, [rdi + 1]
movsxd r14, eax
test eax, eax
jle 0x140170c56
movzx ebx, byte [rsp + 0x20]
nop
lea rcx, [0x1404bb0c8]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x1404bb0c8]
movzx eax, byte [rsp + rbp + 0x28]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x140170c3d
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x140170c32
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140170c4e
movzx r8d, bl
mov edx, 1
mov rcx, rsi
call fcn.140129c50
inc rbp
cmp rbp, r14
jl 0x140170bf0
cmp edi, 3
jge 0x140170cb3
mov eax, 3
sub eax, edi
mov edi, eax
movzx ebx, byte [rsp + 0x20]
nop dword [rax]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x140170c99
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0x10
jb 0x140170c91
mov rax, qword [rsi]
mov word [rax + rcx], 0x3d
jmp 0x140170cad
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rsi
call fcn.140129c50
sub rdi, 1
jne 0x140170c70
mov rax, rsi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140382ad4
int3