Function at 0x1400353a0
Capabilities:
Encode data using base64
Get hostname
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x368
movdqa xmmword [rsp + 0x350], xmm9
movdqa xmmword [rsp + 0x340], xmm8
movdqa xmmword [rsp + 0x330], xmm7
movdqa xmmword [rsp + 0x320], xmm6
lea rsi, [rsp + 0x220]
mov rcx, rsi
call fcn.1400440a0
mov rcx, rsi
call fcn.140044370
mov dword [rsp + 0x70], 0
lea r8, [rsp + 0x70]
mov ecx, 5
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
je 0x140035476
mov ebx, dword [rsp + 0x70]
test rbx, rbx
je 0x140035485
lea rdi, [rbx + rbx]
mov ecx, 8
mov rdx, rdi
call fcn.14002f460
test rax, rax
je 0x140038247
mov rsi, rax
lea r8, [rsp + 0x70]
mov ecx, 5
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
je 0x1400354f6
xor r8d, r8d
nop word cs:[rax + rax]
cmp word [rsi + r8*2], 0
je 0x1400354a6
inc r8
add rdi, 0xfffffffffffffffe
jne 0x140035460
mov r8, rbx
jmp 0x1400354a6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [rsp + 0x70]
test rbx, rbx
jne 0x140035418
mov esi, 2
lea r8, [rsp + 0x70]
mov edx, 2
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
je 0x140035510
xor r8d, r8d
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.140007750
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
test rbx, rbx
je 0x1400354e5
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x140035516
jmp 0x140035521
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140035516
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, 1
xor edi, edi
xor r15d, r15d
lea rax, [0x141d33e95]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rax, 0xa2e958977bf539de
mov qword [rsp + 0x70], rax
lea rsi, [rsp + 0x70]
mov rdx, qword [rsp + 0x70]
call fcn.1400345b0
movabs rcx, 0xdd9e1b50785bb61c
xor rcx, qword [rax]
mov edx, 0xc076916a
xor edx, dword [rax + 8]
movzx r8d, byte [rax + 0xe]
movzx eax, word [rax + 0xc]
mov r9d, eax
shr r9d, 8
xor al, 0xa7
xor r9b, 0xd0
xor r8b, 0x20
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xe8], edx
mov byte [rsp + 0xec], al
mov byte [rsp + 0xed], r9b
mov byte [rsp + 0xee], r8b
cmp rdi, 0xf
jne 0x1400355d0
mov rax, qword [r14]
xor rax, qword [rsp + 0xe0]
mov rcx, qword [r14 + 7]
xor rcx, qword [rsp + 0xe7]
or rcx, rax
je 0x14003775c
lea rcx, [rsp + 0xe0]
call fcn.140049f50
cmp byte [rsp + 0xe0], 0x12
jne 0x140038247
lea rax, [0x141d3316c]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0xe0]
movabs rax, 0x92ff248c2d04f5f7
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xe0]
mov rdx, qword [rsp + 0xe0]
call fcn.140034490
movabs rcx, 0xa71df296c8bc3ff7
xor rcx, qword [rax]
movabs rdx, 0xdaf3374430a8f811
xor rdx, qword [rax + 8]
mov r8d, 0x3f66c069
xor r8d, dword [rax + 0x10]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdx
mov dword [rsp + 0xf0], r8d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xe0]
mov r8d, 0x14
call fcn.140049ff0
movzx eax, byte [rsp + 0x50]
cmp rax, 0x12
mov qword [rsp + 0x200], r15
mov esp, 0x20024
add byte [rcx + rcx*4 - 0x4c], cl
and al, 0x18
add al, byte [rax]
add byte [rdi + 0x10], dh
lea rax, [0x141d353c3]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xe0]
mov rcx, qword [rsp + 0xe0]
movabs rax, 0x693bc72c1eb57030
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0xe0]
mov rdx, qword [rsp + 0xe0]
call fcn.140035130
movabs rcx, 0x6d35da54035ffe92
xor rcx, qword [rax]
movabs rdx, 0x791441e719991c0b
xor rdx, qword [rax + 8]
movabs r8, 0xf0e98d1bd433f713
xor r8, qword [rax + 0x10]
movabs r9, 0x65c30754e81b3a7e
xor r9, qword [rax + 0x18]
movzx r10d, byte [rax + 0x22]
movzx eax, word [rax + 0x20]
mov r11d, eax
shr r11d, 8
xor al, 0xc0
xor r11b, 0x3d
xor r10b, 0x19
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], r9
mov byte [rsp + 0x90], al
mov byte [rsp + 0x91], r11b
mov byte [rsp + 0x92], r10b
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], 0x23
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [0x14003d2b0]
mov qword [rsp + 0x38], rax
lea rax, [0x141d35dd0]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 1
lea rcx, [rsp + 0xe0]
call fcn.14002b9a0
test r15, r15
je 0x1400378ac
mov rcx, qword [0x141d439e8]
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rcx, [rsp + 0x260]
call fcn.1400395b0
mov rax, qword [rsp + 0x238]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x1400378ec
test rax, rax
je 0x1400378ec
mov r8, qword [rsp + 0x240]
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x230]
call fcn.14003b6f0
cmp qword [rsp + 0x220], 0
je 0x140037923
mov r8, qword [rsp + 0x228]
mov rcx, qword [0x141d439e8]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp qword [rsp + 0x2b0], 0
je 0x140037a98
lea rcx, [rsp + 0x2b0]
call fcn.140043200
mov rsi, qword [rsp + 0x2b8]
test rsi, rsi
je 0x140037a98
mov rdi, qword [rsp + 0x2c8]
test rdi, rdi
je 0x140037a85
mov rbx, qword [rsp + 0x2b0]
movdqa xmm0, xmmword [rbx]
pmovmskb r12d, xmm0
not r12d
lea r14, [rbx + 0x10]
mov r15, qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400379a7
dec rdi
lea eax, [r12 - 1]
and eax, r12d
mov r12d, eax
test rdi, rdi
je 0x140037a85
test r12w, r12w
jne 0x1400379d1
nop dword [rax]
movdqa xmm0, xmmword [r14]
pmovmskb r12d, xmm0
add rbx, 0xfffffffffffffe00
add r14, 0x10
cmp r12d, 0xffff
je 0x1400379b0
not r12d
tzcnt ecx, r12d
shl ecx, 5
mov rax, rbx
sub rax, rcx
cmp qword [rax - 0x20], 0
je 0x140037990
mov r8, qword [rax - 0x18]
mov rcx, qword [0x141d439e8]
xor edx, edx
call r15
jmp 0x140037990
movabs rax, 0x7c1f07c1f07c1ef
cmp rsi, rax
jne 0x140037731