Function at 0x1401aba50
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r11, qword [rcx]
xor edi, edi
mov r13d, dword [rsp + 0x80]
mov rbx, r8
mov esi, r13d
mov ebp, r9d
shr esi, 0xb
mov r8, rcx
movzx r10d, byte [r11 + 1]
add r11, 2
and esi, 1
je 0x1401abb83
cmp r10d, 0xc0
jb 0x1401abb83
test r10b, 0x20
jne 0x1401abac9
movzx eax, byte [r11]
and r10d, 0x1f
shl r10d, 6
and eax, 0x3f
or r10d, eax
inc r11
jmp 0x1401abb83
test r10b, 0x10
jne 0x1401abafc
movzx ecx, byte [r11]
and r10d, 0xf
movzx eax, byte [r11 + 1]
and ecx, 0x3f
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r10d
shl eax, 0xc
mov r10d, ecx
or r10d, eax
add r11, 2
jmp 0x1401abb83
movzx eax, byte [r11]
movzx ecx, byte [r11 + 1]
and eax, 0x3f
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r10b, 8
jne 0x1401abb39
and r10d, 7
mov eax, r10d
mov r10d, ecx
shl eax, 0x12
or r10d, eax
add r11, 3
jmp 0x1401abb83
movzx eax, byte [r11 + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
test r10b, 4
jne 0x1401abb62
and r10d, 3
mov eax, r10d
mov r10d, ecx
shl eax, 0x18
or r10d, eax
add r11, 4
jmp 0x1401abb83
movzx eax, byte [r11 + 4]
and r10d, 1
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r10d
shl eax, 0x1e
mov r10d, ecx
or r10d, eax
add r11, 5
lea rdx, [r11 - 1]
test r10d, r10d
jne 0x1401abb9a
mov r9d, 1
mov dword [rbx], r9d
jmp 0x1401abe1d
lea ecx, [r10 - 0x30]
cmp ecx, 0x4a
ja 0x1401abe1d
lea r9, [0x140000000]
movsx r8d, word [r9 + rcx*2 + 0x271940]
test r8d, r8d
je 0x1401abbd0
cmovg r10d, r8d
mov eax, r8d
neg eax
test r8d, r8d
cmovle edi, eax
jmp 0x1401abed5
cmp ecx, 0x48
ja case.0x1401abbed.9
movzx eax, byte [r9 + rcx + 0x1ac2c8]
mov ecx, dword [r9 + rax*4 + 0x1ac2a0]
add rcx, r9
jmp rcx
mov dword [rbx], 0x25
jmp 0x1401abe18
bt r13d, 0x19
jae case.0x1401abbed.2
movzx eax, byte [r11]
test byte [rax + r9 + 0x271aa0], 8
je 0x1401abe18
movzx r8d, byte [r11 + 1]
test byte [r8 + r9 + 0x271aa0], 8
je 0x1401abe18
movzx r9d, byte [r11 + 2]
lea r15, [0x140000000]
test byte [r9 + r15 + 0x271aa0], 8
je 0x1401abe18
lea r14, [r11 + 3]
movzx r11d, byte [r11 + 3]
test byte [r11 + r15 + 0x271aa0], 8
je 0x1401abe18
cmp eax, 0x61
lea ecx, [rax - 0x20]
lea edx, [r8 - 0x20]
mov ebp, gethostbyname
cmovb ecx, eax
mov r10d, 0xffffffc9
cmp r8d, 0x61
mov eax, 0xffffffd0
cmovb edx, r8d
cmp r9d, 0x61
lea r8d, [r9 - 0x20]
cmovb r8d, r9d
cmp r11d, 0x61
lea r9d, [r11 - 0x20]
cmovb r9d, r11d
cmp ecx, 0x41
mov r11d, gethostname
cmovb r10d, eax
mov eax, r11d
add r10d, ecx
shl r10d, 4
cmp edx, 0x41
cmovb eax, ebp
sub r10d, eax
mov eax, r11d
add r10d, edx
mov rdx, r14
shl r10d, 4
cmp r8d, 0x41
cmovb eax, ebp
sub r10d, eax
add r10d, r8d
mov r8d, 0xff
shl r10d, 4
cmp r9d, 0x41
cmovb r11d, ebp
sub r10d, r11d
add r10d, r9d
mov r9d, 0x10ffff
test esi, esi
cmovne r8d, r9d
cmp r10d, r8d
jbe 0x1401ac026
mov dword [rbx], 0x4c
jmp 0x1401abe18
mov r8, qword [rsp + 0x60]
bt r13d, 0x19
jb 0x1401abe1d
mov dword [rbx], 0x25
jmp 0x1401abe1d
cmp dword [rsp + 0x88], edi
jne 0x1401abe18
movzx eax, byte [r11]
cmp al, 0x3c
je 0x1401abe76
cmp al, 0x27
je 0x1401abe76
cmp al, 0x7b
jne 0x1401abd8c
movzx eax, byte [r11 + 1]
lea rcx, [r11 + 1]
test al, al
je 0x1401abd6c
cmp al, 0x2d
je 0x1401abd61
sub al, 0x30
cmp al, 9
ja 0x1401abd77
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x1401abd57
mov r9d, 1
mov rdx, r11
jmp 0x1401abd8f
movzx eax, byte [rcx]
test al, al
je 0x1401abd6c
cmp al, 0x7d
je 0x1401abd6c
mov edi, 0x1c
jmp 0x1401abe18
mov r9d, edi
movzx r11d, byte [rdx + 1]
lea rax, [rdx + 1]
cmp r11b, 0x2d
cmove rdx, rax
mov eax, edi
movzx ecx, byte [rdx + 1]
lea r8, [rdx + 1]
cmp cl, 0x30
jb 0x1401abdd8
nop
cmp cl, 0x39
ja 0x1401abdd8
cmp eax, 0xccccccb
jg 0x1401abded
lea ecx, [rax + rax*4]
mov rdx, r8
movzx eax, byte [r8]
inc r8
lea eax, [rax + rcx*2]
movzx ecx, byte [r8]
add eax, 0xffffffd0
cmp cl, 0x30
jae 0x1401abdb0
test r9d, r9d
je 0x1401abe51
inc rdx
cmp byte [rdx], 0x7d
je 0x1401abe51
mov dword [rbx], reloc.WSOCK32.dll_gethostname
jmp 0x1401abe18
movzx eax, byte [rdx + 1]
lea rcx, [rdx + 1]
cmp al, 0x30
jb 0x1401abe12
nop dword [rax]
cmp al, 0x39
ja 0x1401abe12
movzx eax, byte [rcx + 1]
mov rdx, rcx
inc rcx
cmp al, 0x30
jae 0x1401abe00
mov dword [rbx], 0x3d
mov r8, qword [rsp + 0x60]
bt r13d, 0x1d
jae 0x1401abe2f
lea ecx, [rdi - 6]
cmp ecx, 5
ja 0x1401abe2f
add edi, 0x17
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
mov qword [r8], rdx
mov dword [rax], r10d
mov eax, edi
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test eax, eax
jne 0x1401abe5d
mov dword [rbx], 0x3a
jmp 0x1401abe18
cmp r11b, 0x2d
jne 0x1401abed1
cmp eax, ebp
jle 0x1401abe6f
mov dword [rbx], reloc.WSOCK32.dll_ntohs
jmp 0x1401abe18
sub ebp, eax
lea eax, [rbp + 1]
jmp 0x1401abed1
mov edi, 0x1b
jmp 0x1401abe18
cmp dword [rsp + 0x88], edi
jne 0x1401abf3b
movzx ecx, byte [r11]
lea eax, [r10 - 0x30]
mov r9, r11
cmp cl, 0x30
jb 0x1401abec8
nop word [rax + rax]
cmp cl, 0x39
ja 0x1401abec8
cmp eax, 0xccccccb
jg 0x1401abf09
lea ecx, [rax + rax*4]
mov rdx, r9
movzx eax, byte [r9]
inc r9
lea eax, [rax + rcx*2]
movzx ecx, byte [r9]
add eax, 0xffffffd0
cmp cl, 0x30
jae 0x1401abea0
cmp eax, 8
jl 0x1401abed1
cmp eax, ebp
jg 0x1401abf3b
mov edi, eax
neg edi
cmp edi, 0xc
jne 0x1401abe18
cmp byte [rdx + 1], 0x7b
jne 0x1401abe18
lea rcx, [rdx + 2]
call fcn.1401b3ac0
mov r8, qword [rsp + 0x60]
test eax, eax
jne 0x1401abe1d
mov dword [rbx], 0x25
jmp 0x1401abe1d
movzx eax, byte [rdx + 1]
lea rcx, [rdx + 1]
cmp al, 0x30
jb 0x1401abe12
nop dword [rax]
cmp al, 0x39
ja 0x1401abe12
movzx eax, byte [rcx + 1]
mov rdx, rcx
inc rcx
cmp al, 0x30
jae 0x1401abf20
jmp 0x1401abe12
movzx r10d, byte [r11 - 1]
lea rdx, [r11 - 1]
cmp r10d, 0x38
jae 0x1401abe18
mov eax, 0xffffffd0
lea rdx, [r11 - 1]
add r10d, eax
nop word [rax + rax]
movzx eax, byte [rdx + 1]
lea rcx, [rdx + 1]
sub al, 0x30
inc r8d
cmp al, 7
ja 0x1401abf85
movzx eax, byte [rcx]
add r10d, 0xfffffffa
mov rdx, rcx
lea r10d, [rax + r10*8]
cmp r8d, 2
jl 0x1401abf60
test esi, esi
jne 0x1401abe18
mov r8d, 0xff
cmp r10d, r8d
mov r8, qword [rsp + 0x60]
jbe 0x1401abe1d
mov dword [rbx], gethostbyname
jmp 0x1401abe1d
cmp byte [r11], 0x7b
je 0x1401abfbd
mov dword [rbx], 0x51
jmp 0x1401abe18
cmp byte [r11 + 1], 0x7d
lea rax, [r11 + 1]
jne 0x1401abfd3
mov dword [rbx], 0x56
jmp 0x1401abe18
mov rdx, rax
mov r10d, edi
movzx eax, byte [rax]
cmp al, 0x30
jb 0x1401ac021
mov r8d, 0xff
mov r9d, 0x10ffff
nop dword [rax]
cmp al, 0x37
ja 0x1401ac021
inc rdx
movzx ecx, al
test r10d, r10d
jne 0x1401ac004
cmp ecx, 0x30
je 0x1401ac01a
add r10d, 0xfffffffa
mov eax, r8d
test esi, esi
cmovne eax, r9d
lea r10d, [rcx + r10*8]
cmp r10d, eax
ja 0x1401ac050
movzx eax, byte [rdx]
cmp al, 0x30
jae 0x1401abff0
cmp byte [rdx], 0x7d
jne 0x1401ac071
test esi, esi
je 0x1401abe18
mov r8, qword [rsp + 0x60]
lea eax, [r10 - 0xd800]
cmp eax, 0x7ff
ja 0x1401abe1d
mov dword [rbx], 0x49
jmp 0x1401abe1d
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x1401ac066
cmp al, 0x37
ja 0x1401ac066
movzx eax, byte [rdx + 1]
inc rdx
cmp al, 0x30
jae 0x1401ac057
mov dword [rbx], 0x22
jmp 0x1401abe18
mov dword [rbx], 0x50
jmp 0x1401abe18
bt r13d, 0x19
jae 0x1401ac107
movzx eax, byte [r11]
test byte [rax + r9 + 0x271aa0], 8
je 0x1401abe18
movzx r9d, byte [r11 + 1]
lea r8, [r11 + 1]
lea r15, [0x140000000]
test byte [r9 + r15 + 0x271aa0], 8
je 0x1401abe18
cmp eax, 0x61
lea ecx, [rax - 0x20]
lea edx, [r9 - 0x20]
mov r10d, 0xffffffc9
cmovb ecx, eax
mov ebp, gethostbyname
cmp r9d, 0x61
mov eax, 0xffffffd0
mov r11d, gethostname
cmovb edx, r9d
cmp ecx, 0x41
cmovb r10d, eax
add r10d, ecx
shl r10d, 4
cmp edx, 0x41
cmovb r11d, ebp
sub r10d, r11d
add r10d, edx
mov rdx, r8
jmp 0x1401abe18
cmp byte [r11], 0x7b
jne 0x1401ac1ed
movzx ecx, byte [rdx + 2]
add rdx, 2
cmp cl, 0x7d
jne 0x1401ac129
mov dword [rbx], 0x56
jmp 0x1401abe18
movzx eax, cl
mov r10d, edi
test byte [rax + r9 + 0x271aa0], 8
je 0x1401ac1a7
mov ebp, gethostbyname
lea r15, [0x140000000]
mov r8d, 0xff
mov r9d, 0x10ffff
lea r11d, [rbp + 7]
nop word [rax + rax]
inc rdx
movzx eax, cl
test r10d, r10d
jne 0x1401ac16f
cmp eax, ebp
je 0x1401ac199
cmp eax, 0x61
lea ecx, [rax - 0x20]
cmovb ecx, eax
mov eax, r11d
cmp ecx, 0x41
cmovb eax, ebp
shl r10d, 4
sub r10d, eax
mov eax, r8d
add r10d, ecx
test esi, esi
cmovne eax, r9d
cmp r10d, eax
ja 0x1401ac1bb
movzx ecx, byte [rdx]
test byte [rcx + r15 + 0x271aa0], 8
jne 0x1401ac160
cmp byte [rdx], 0x7d
je 0x1401ac026
mov dword [rbx], 0x4f
jmp 0x1401abe18
movzx eax, byte [rdx]
test byte [rax + r15 + 0x271aa0], 8
je 0x1401ac066
nop dword [rax]
movzx eax, byte [rdx + 1]
inc rdx
test byte [rax + r15 + 0x271aa0], 8
jne 0x1401ac1d0
mov dword [rbx], 0x22
jmp 0x1401abe18
mov ebp, gethostbyname
mov r10d, edi
lea r11d, [rbp + 7]
nop dword [rax]
movzx eax, byte [rdx + 1]
lea rcx, [rdx + 1]
inc r8d
test byte [rax + r9 + 0x271aa0], 8
je 0x1401abe18
movzx eax, byte [rcx]
mov rdx, rcx
cmp eax, 0x61
lea ecx, [rax - 0x20]
cmovb ecx, eax
mov eax, r11d
cmp ecx, 0x41
cmovb eax, ebp
shl r10d, 4
sub r10d, eax
add r10d, ecx
cmp r8d, 2
jl 0x1401ac200
jmp 0x1401abe18
movzx r10d, byte [rdx + 1]
inc rdx
test r10d, r10d
jne 0x1401ac25f
mov dword [rbx], 2
jmp 0x1401abe18
cmp r10d, 0x7f
jbe 0x1401ac270
mov dword [rbx], 0x44
jmp 0x1401abe18
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x1401ac27d
add r10d, 0xffffffe0
xor r10d, 0x40
jmp 0x1401abe18
mov r8, qword [rsp + 0x60]
test r13b, 0x40
je 0x1401abe1d
mov dword [rbx], 3
jmp 0x1401abe1d