Function at 0x140036940
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 ebp, r9d
movzx r10d, byte [r11]
add r11, r13
and esi, r13d
mov edi, r8d
mov r12, rcx
je 0x140036ab9
cmp r10d, 0xc0
jl 0x140036ab9
movzx ecx, byte [r11]
and ecx, 0x3f
test r10b, 0x20
jne 0x1400369b6
and r10d, 0x1f
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
add r11, r13
jmp 0x140036ab9
test r10b, 0x10
jne 0x1400369e4
and r10d, 0xf
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 2
jmp 0x140036ab9
test r10b, 8
jne 0x140036a21
and r10d, 7
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 3
jmp 0x140036ab9
test r10b, 4
jne 0x140036a6a
and r10d, 3
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 3]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 4
jmp 0x140036ab9
and r10d, r13d
mov eax, r10d
mov r10d, ecx
shl eax, 6
or r10d, eax
movzx eax, byte [r11 + 1]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 2]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 3]
and eax, 0x3f
shl r10d, 6
or r10d, eax
movzx eax, byte [r11 + 4]
and eax, 0x3f
shl r10d, 6
or r10d, eax
add r11, 5
sub r11, r13
test r10d, r10d
jne 0x140036ac9
mov dword [rdx], r13d
jmp 0x140036e3e
lea ecx, [r10 - 0x30]
cmp ecx, 0x4a
ja 0x140036e2b
lea r14, [0x140000000]
movsxd rax, r10d
movsx ebx, word [r14 + rax*2 + 0x97270]
test ebx, ebx
je 0x140036af5
mov r10d, ebx
jmp 0x140036e2b
cmp r10d, 0x63
jg 0x140036c22
je 0x140036be4
mov r9d, gethostbyname
cmp r10d, r9d
je 0x140036ba0
jle 0x140036c46
cmp r10d, 0x39
jle 0x140036b3b
cmp r10d, 0x4c
je 0x140036b30
cmp r10d, 0x55
jne 0x140036c46
mov dword [rdx], reloc.OLEAUT32.dll_SafeArrayDestroyDescriptor
jmp 0x140036e2b
cmp dword [rsp + 0x40], 0
jne 0x140036b8b
mov r8, r11
mov r10d, ecx
jmp 0x140036b5a
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 + 0x97f40], 4
jne 0x140036b4a
test r10d, r10d
js 0x140036dd3
cmp r10d, 0xa
jl 0x140036e18
cmp r10d, edi
jle 0x140036e18
mov r11, r8
movzx r10d, byte [r11]
cmp r10d, 0x38
jl 0x140036ba0
sub r11, r13
xor r10d, r10d
jmp 0x140036e3e
sub r10d, r9d
lea rax, [r11 + 1]
add ebx, r13d
cmp byte [rax], r9b
jb 0x140036bc4
cmp byte [rax], 0x37
ja 0x140036bc4
mov r11, rax
movzx eax, byte [rax]
lea r10d, [rax + r10*8 - 0x30]
cmp ebx, 2
jl 0x140036ba3
test esi, esi
jne 0x140036e2b
cmp r10d, 0xff
jle 0x140036e2b
mov dword [rdx], gethostbyname
jmp 0x140036e2b
add r11, r13
movzx r10d, byte [r11]
test r10d, r10d
jne 0x140036bfb
mov dword [rdx], 2
jmp 0x140036e3e
cmp r10d, 0x7f
jle 0x140036c0c
mov dword [rdx], 0x44
jmp 0x140036e2b
lea eax, [r10 - 0x61]
cmp eax, 0x19
ja 0x140036c19
sub r10d, 0x20
xor r10d, 0x40
jmp 0x140036e2b
cmp r10d, 0x67
je 0x140036d24
cmp r10d, 0x6c
je 0x140036b30
cmp r10d, 0x75
je 0x140036b30
cmp r10d, 0x78
je 0x140036c5b
test bpl, 0x40
je 0x140036e2b
mov dword [rdx], 3
jmp 0x140036e2b
cmp byte [r11 + 1], 0x7b
mov r9d, gethostbyname
jne 0x140036cda
xor edi, edi
lea r8, [r11 + 2]
xor r10d, r10d
jmp 0x140036ca4
add r8, r13
movzx ecx, al
test r10d, r10d
jne 0x140036c83
cmp ecx, r9d
je 0x140036ca4
add edi, r13d
cmp ecx, 0x61
jl 0x140036c8e
sub ecx, 0x20
cmp ecx, 0x41
mov eax, gethostname
cmovl eax, r9d
shl r10d, 4
sub r10d, eax
add r10d, ecx
movzx eax, byte [r8]
test byte [rax + r14 + 0x97f40], 8
jne 0x140036c73
cmp byte [r8], 0x7d
jne 0x140036cda
test r10d, r10d
js 0x140036ccc
neg esi
sbb eax, eax
and eax, 6
add eax, 2
cmp edi, eax
jle 0x140036cd2
mov dword [rdx], SafeArrayDestroyDescriptor
mov r11, r8
jmp 0x140036e2b
xor r10d, r10d
lea rcx, [r11 + 1]
add ebx, r13d
movzx eax, byte [rcx]
test byte [rax + r14 + 0x97f40], 8
je 0x140036e2b
mov r11, rcx
movzx ecx, byte [rcx]
cmp ecx, 0x61
jl 0x140036d04
sub ecx, 0x20
cmp ecx, 0x41
mov eax, gethostname
cmovl eax, r9d
shl r10d, 4
sub r10d, eax
add r10d, ecx
cmp ebx, 2
jl 0x140036cdd
jmp 0x140036e2b
mov al, byte [r11 + 1]
cmp al, 0x3c
je 0x140036e25
cmp al, 0x27
je 0x140036e25
cmp al, 0x7b
jne 0x140036d82
lea rcx, [r11 + 2]
mov al, byte [rcx]
test al, al
je 0x140036d7a
cmp al, 0x7d
je 0x140036d65
cmp al, 0x2d
je 0x140036d5c
movzx eax, al
test byte [rax + r14 + 0x97f40], 4
je 0x140036d65
add rcx, r13
mov al, byte [rcx]
test al, al
jne 0x140036d46
mov al, byte [rcx]
test al, al
je 0x140036d7a
cmp al, 0x7d
je 0x140036d7a
mov r10d, 0xffffffe4
jmp 0x140036e3e
mov r9d, r13d
inc r11
jmp 0x140036d85
xor r9d, r9d
cmp byte [r11 + 1], 0x2d
jne 0x140036d94
mov r8d, r13d
inc r11
jmp 0x140036d97
xor r8d, r8d
lea rcx, [r11 + 1]
xor r10d, r10d
movzx eax, byte [rcx]
test byte [rax + r14 + 0x97f40], 4
je 0x140036ddb
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 + 0x97f40], 4
jne 0x140036dac
test r10d, r10d
jns 0x140036ddb
mov dword [rdx], 0x3d
jmp 0x140036e2b
test r9d, r9d
je 0x140036df1
add r11, r13
cmp byte [r11], 0x7d
je 0x140036df1
mov dword [rdx], reloc.WSOCK32.dll_gethostname
jmp 0x140036e2b
test r10d, r10d
jne 0x140036dfe
mov dword [rdx], 0x3a
jmp 0x140036e3e
test r8d, r8d
je 0x140036e18
cmp r10d, edi
jle 0x140036e10
mov dword [rdx], reloc.WSOCK32.dll_ntohs
jmp 0x140036e2b
sub edi, r10d
lea r10d, [r13 + rdi]
mov eax, 0xffffffdd
sub eax, r10d
mov r10d, eax
jmp 0x140036e2b
mov r10d, 0xffffffe5
cmp r10d, 0xfffffff4
jne 0x140036e3e
cmp byte [r11 + 1], 0x7b
jne 0x140036e3e
mov dword [rdx], reloc.OLEAUT32.dll_SafeArrayDestroyDescriptor
bt ebp, 0x1d
jae 0x140036e51
lea ecx, [r10 + 0xb]
cmp ecx, 5
ja 0x140036e51
sub r10d, 0x17
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