Function at 0x14003eec0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
mov r11, qword [rcx]
mov r13d, 1
mov esi, r9d
add r11, r13
shr esi, 0xb
mov edi, r8d
movzx r10d, byte [r11]
add r11, r13
and esi, r13d
mov ebx, r9d
mov r8, rdx
mov r12, rcx
lea r14, [0x140000000]
je 0x14003ef4f
cmp r10d, 0xc0
jl 0x14003ef4f
mov eax, r10d
and eax, 0x3f
movzx r9d, byte [rax + r14 + 0x9b760]
and r10d, dword [r14 + r9*4 + 0x9b748]
lea ecx, [r9 + r9*2]
add ecx, ecx
shl r10d, cl
jmp 0x14003ef4a
movzx eax, byte [r11]
sub ecx, 6
sub r9d, r13d
and eax, 0x3f
shl eax, cl
or r10d, eax
add r11, r13
test r9d, r9d
jg 0x14003ef35
sub r11, r13
test r10d, r10d
jne 0x14003ef5f
mov dword [rdx], r13d
jmp 0x14003f2b5
lea ecx, [r10 - 0x30]
cmp ecx, 0x4a
ja 0x14003f2b5
movsxd rax, r10d
movsx r9d, word [r14 + rax*2 + 0x9c1d0]
test r9d, r9d
je 0x14003ef85
mov r10d, r9d
jmp 0x14003f2b5
cmp r10d, 0x63
jg 0x14003f0a9
je 0x14003f07c
mov edx, gethostbyname
cmp r10d, edx
je 0x14003f037
jle 0x14003f0cd
cmp r10d, 0x39
jle 0x14003efd1
cmp r10d, 0x4c
je 0x14003efc5
cmp r10d, 0x4e
je 0x14003efc5
cmp r10d, 0x55
jne 0x14003f0cd
mov dword [r8], reloc.OLEAUT32.dll_SafeArrayDestroyDescriptor
jmp 0x14003f2b5
cmp dword [rsp + 0x40], 0
jne 0x14003f022
mov rbp, r11
mov r10d, ecx
mov bl, 4
jmp 0x14003eff2
mov r11, rcx
lea ecx, [r10 + r10*4]
movzx eax, byte [r11]
lea r10d, [rax + rcx*2 - 0x30]
lea rcx, [r11 + 1]
movzx eax, byte [rcx]
test byte [rax + r14 + 0x9cd50], bl
jne 0x14003efe2
test r10d, r10d
js 0x14003f25a
cmp r10d, 0xa
jl 0x14003f2a2
cmp r10d, edi
jle 0x14003f2a2
mov r11, rbp
movzx r10d, byte [r11]
cmp r10d, 0x38
jl 0x14003f037
sub r11, r13
xor r10d, r10d
jmp 0x14003f2b5
sub r10d, edx
lea rax, [r11 + 1]
add r9d, r13d
cmp byte [rax], dl
jb 0x14003f05b
cmp byte [rax], 0x37
ja 0x14003f05b
cmp r9d, 2
mov r11, rax
movzx eax, byte [rax]
lea r10d, [rax + r10*8 - 0x30]
jl 0x14003f03a
test esi, esi
jne 0x14003f2b5
cmp r10d, 0xff
jle 0x14003f2b5
mov dword [r8], gethostbyname
jmp 0x14003f2b5
add r11, r13
movzx r10d, byte [r11]
test r10d, r10d
jne 0x14003f093
mov dword [rdx], 2
jmp 0x14003f2b5
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x14003f0a0
sub r10d, 0x20
xor r10d, 0x40
jmp 0x14003f2b5
cmp r10d, 0x67
je 0x14003f1a8
cmp r10d, 0x6c
je 0x14003efc5
cmp r10d, 0x75
je 0x14003efc5
cmp r10d, 0x78
je 0x14003f0e2
test bl, 0x40
je 0x14003f2b5
mov dword [r8], 3
jmp 0x14003f2b5
cmp byte [r11 + 1], 0x7b
mov edx, gethostbyname
mov bpl, 8
jne 0x14003f15f
xor edi, edi
lea rbx, [r11 + 2]
xor r10d, r10d
jmp 0x14003f12b
add rbx, r13
movzx ecx, al
test r10d, r10d
jne 0x14003f10b
cmp ecx, edx
je 0x14003f12b
add edi, r13d
cmp ecx, 0x61
jl 0x14003f116
sub ecx, 0x20
cmp ecx, 0x41
mov eax, gethostname
cmovl eax, edx
shl r10d, 4
sub r10d, eax
add r10d, ecx
movzx eax, byte [rbx]
test byte [rax + r14 + 0x9cd50], bpl
jne 0x14003f0fc
cmp byte [rbx], 0x7d
jne 0x14003f15f
test r10d, r10d
js 0x14003f150
neg esi
sbb eax, eax
and eax, 6
add eax, 2
cmp edi, eax
jle 0x14003f157
mov dword [r8], SafeArrayDestroyDescriptor
mov r11, rbx
jmp 0x14003f2b5
xor r10d, r10d
lea rcx, [r11 + 1]
add r9d, r13d
movzx eax, byte [rcx]
test byte [rax + r14 + 0x9cd50], bpl
je 0x14003f2b5
mov r11, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jl 0x14003f188
sub ecx, 0x20
cmp ecx, 0x41
mov eax, gethostname
cmovl eax, edx
shl r10d, 4
sub r10d, eax
add r10d, ecx
cmp r9d, 2
jl 0x14003f162
jmp 0x14003f2b5
cmp byte [r11 + 1], 0x3c
je 0x14003f2af
cmp byte [r11 + 1], 0x27
je 0x14003f2af
cmp byte [r11 + 1], 0x7b
mov bl, 4
jne 0x14003f20c
lea rcx, [r11 + 2]
mov al, byte [rcx]
test al, al
je 0x14003f204
cmp al, 0x7d
je 0x14003f1ef
cmp al, 0x2d
je 0x14003f1e6
movzx eax, al
test byte [rax + r14 + 0x9cd50], bl
je 0x14003f1ef
add rcx, r13
mov al, byte [rcx]
test al, al
jne 0x14003f1d1
mov al, byte [rcx]
test al, al
je 0x14003f204
cmp al, 0x7d
je 0x14003f204
mov r10d, 0xffffffe4
jmp 0x14003f2b5
mov r9d, r13d
inc r11
jmp 0x14003f20f
xor r9d, r9d
cmp byte [r11 + 1], 0x2d
jne 0x14003f21e
mov edx, r13d
inc r11
jmp 0x14003f220
xor edx, edx
lea rcx, [r11 + 1]
xor r10d, r10d
movzx eax, byte [rcx]
test byte [rax + r14 + 0x9cd50], bl
je 0x14003f263
mov r11, rcx
lea ecx, [r10 + r10*4]
movzx eax, byte [r11]
lea r10d, [rax + rcx*2 - 0x30]
lea rcx, [r11 + 1]
movzx eax, byte [rcx]
test byte [rax + r14 + 0x9cd50], bl
jne 0x14003f234
test r10d, r10d
jns 0x14003f263
mov dword [r8], 0x3d
jmp 0x14003f2b5
test r9d, r9d
je 0x14003f27a
add r11, r13
cmp byte [r11], 0x7d
je 0x14003f27a
mov dword [r8], reloc.WSOCK32.dll_gethostname
jmp 0x14003f2b5
test r10d, r10d
jne 0x14003f288
mov dword [r8], 0x3a
jmp 0x14003f2b5
test edx, edx
je 0x14003f2a2
cmp r10d, edi
jle 0x14003f29a
mov dword [r8], reloc.WSOCK32.dll_ntohs
jmp 0x14003f2b5
sub edi, r10d
lea r10d, [r13 + rdi]
mov eax, 0xffffffe3
sub eax, r10d
mov r10d, eax
jmp 0x14003f2b5
mov r10d, 0xffffffe5
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov qword [r12], r11
mov eax, r10d
pop r14
pop r13
pop r12
ret