Function at 0x1800598b0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x2d0
vmovaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x180279b80]
xor rax, rsp
mov qword [rsp + 0x2b8], rax
movzx r14d, cl
xor r12d, r12d
mov edi, r12d
mov esi, r12d
lea r15, [0x180000000]
nop word [rax + rax]
mov rbx, r12
nop dword [rax]
nop word [rax + rax]
mov edx, 9
mov rax, qword [0x180b60248]
mov rcx, qword [rsi + rax]
cmp byte [rbx + rcx + 0x21], r12b
je 0x18005992b
mov edx, dword [rbx + rcx + 0x28]
mov dword [rdi + r15 + 0x37a7f0], edx
vmovsd xmm0, qword [rbx + rcx + 8]
call fcn.1801d1870
vcvttsd2si eax, xmm0
mov dword [rdi + r15 + 0x27a7f0], eax
add rdi, 4
add rbx, 0x30
cmp rbx, 0x6000
jl 0x180059910
add rsi, 0x18
cmp rsi, 0x3000
jl 0x180059900
test r14b, r14b
je 0x18005a375
mov byte [rsp + 0x118], 0
xor edx, edx
lea rcx, [rsp + 0x120]
call fcn.180027d90
nop
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0xc0], xmm0
mov rdx, r12
mov qword [rsp + 0xd0], rdx
mov rdi, r12
vmovss xmm6, dword [0x180249148]
mov rcx, qword [rsp + 0xc8]
nop dword [rax]
nop dword [rax + rax]
mov rbx, r12
nop dword [rax]
nop word [rax + rax]
mov rax, qword [0x180b60248]
mov rax, qword [rdi + rax]
cmp byte [rbx + rax + 0x21], 0
je 0x180059a14
vmovsd xmm0, qword [rbx + rax + 8]
vcvtpd2ps xmm0, xmm0
movzx eax, byte [rbx + rax + 0x28]
mov byte [rsp + 0x40], al
vmulss xmm0, xmm0, xmm6
vcvttss2si eax, xmm0
mov word [rsp + 0x42], ax
cmp rcx, rdx
je 0x180059a0d
mov eax, dword [rsp + 0x40]
jmp 0x180059a28
lea r8, [rsp + 0x40]
jmp 0x180059a45
mov byte [rsp + 0x48], 9
mov word [rsp + 0x4a], r12w
cmp rcx, rdx
je 0x180059a40
mov eax, dword [rsp + 0x48]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xc8]
add rcx, 4
mov qword [rsp + 0xc8], rcx
jmp 0x180059a5d
lea r8, [rsp + 0x48]
mov rdx, rcx
lea rcx, [rsp + 0xc0]
call fcn.18005ed70
mov rcx, qword [rsp + 0xc8]
add rbx, 0x30
cmp rbx, 0x6000
jge 0x180059a77
mov rdx, qword [rsp + 0xd0]
jmp 0x1800599d0
add rdi, 0x18
cmp rdi, 0x3000
jge 0x180059a91
mov rdx, qword [rsp + 0xd0]
jmp 0x1800599c0
mov rsi, qword [rsp + 0xc0]
sub rcx, rsi
sar rcx, 2
lea rcx, [rcx*4]
lea r15, [rsi + rcx]
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xd8], xmm0
movabs r14, 0x7fffffffffffffff
mov qword [rsp + 0xe8], r12
cmp rsi, r15
jne 0x180059ae9
mov qword [rsp + reloc.WS2_32.dll_ntohs0], 0xf
mov byte [rsp + 0xd8], 0
jmp 0x180059bf7
mov rdi, r12
mov ebx, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0xf0], rbx
cmp rcx, r14
ja 0x18005a3b5
cmp rcx, rbx
jbe 0x180059b91
mov rbx, rcx
or rbx, 0xf
cmp rbx, r14
jbe 0x180059b4a
mov rbx, r14
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1801be940
mov rcx, rax
test rax, rax
je 0x18005a3bb
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180059b81
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180059b72
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18005a3af
jmp 0x180059b28
test rcx, rcx
je 0x180059b7e
call fcn.1801be940
jmp 0x180059b81
mov rax, r12
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xf0], rbx
cmp rsi, r15
je 0x180059bde
nop word [rax + rax]
lea rcx, [rsp + 0xd8]
cmp rbx, 0xf
cmova rcx, qword [rsp + 0xd8]
movzx eax, byte [rsi]
mov byte [rdi + rcx], al
mov rdi, qword [rsp + 0xe8]
inc rdi
mov qword [rsp + 0xe8], rdi
inc rsi
mov rbx, qword [rsp + 0xf0]
cmp rsi, r15
jne 0x180059ba0
lea rax, [rsp + 0xd8]
cmp rbx, 0xf
cmova rax, qword [rsp + 0xd8]
mov byte [rdi + rax], 0
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x78]
call fcn.18000d770
mov rdx, rax
lea rcx, [rsp + 0x148]
call fcn.18011d530
nop
lea rcx, [rsp + 0xf8]
call fcn.180015890
nop
movzx eax, word [0x18023b664]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18023b666]
mov byte [rsp + 0x40], reloc.WLDAP32.dll_Ordinal_46
xor byte [rsp + 0x41], 0x33
xor al, 0x34
mov byte [rsp + 0x42], al
lea rax, [rsp + 0x40]
mov rsi, 0xffffffffffffffff
mov rcx, rsi
nop word [rax + rax]
inc rcx
cmp byte [rax + rcx], 0
jne 0x180059c60
mov rax, r14
mov rdx, qword [rsp + 0x108]
sub rax, rdx
cmp rax, rcx
jb 0x18005a3c1
lea r9, [rsp + 0xf8]
cmp qword [rsp + 0x110], 0xf
cmova r9, qword [rsp + 0xf8]
mov qword [rsp + 0x30], rcx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0xf8]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x168]
call fcn.1800064d0
nop
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x190]
call fcn.1801ff190
lea rcx, [rsp + 0x190]
call fcn.180040470
nop
lea rdx, [rsp + 0x168]
mov r8d, reloc.WS2_32.dll_select
lea rcx, [rsp + 0x190]
cmp qword [rsp + 0x180], 0xf
jbe 0x180059d15
mov rdx, qword [rsp + 0x168]
call fcn.18005cd80
mov eax, dword [str.UU_X_]
mov dword [rsp + 0x50], eax
vmovsd xmm0, qword [0x18023b4f8]
movzx eax, byte [0x18023b504]
vmovsd qword [rsp + 0x48], xmm0
mov byte [rsp + 0x48], reloc.WLDAP32.dll_Ordinal_35
xor byte [rsp + 0x49], 0x33
xor byte [rsp + 0x4a], 0x34
xor byte [rsp + 0x4b], 0x35
xor byte [rsp + 0x4c], 0x36
xor byte [rsp + 0x4d], 0x37
xor byte [rsp + 0x4e], 0x38
xor byte [rsp + 0x4f], 0x39
xor byte [rsp + 0x50], 0x3a
xor byte [rsp + 0x51], 0x3b
xor byte [rsp + 0x52], 0x3c
xor byte [rsp + 0x53], 0x3d
xor al, 0x3e
mov byte [rsp + 0x54], al
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.18005d5c0
mov rcx, rax
call fcn.18005d910
movzx eax, word [0x18023b64c]
mov word [rsp + 0x40], ax
movzx eax, byte [0x18023b64e]
mov byte [rsp + 0x40], WSAGetLastError
xor byte [rsp + 0x41], 0x33
xor al, 0x34
mov byte [rsp + 0x42], al
lea rax, [rsp + 0x40]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], 0
jne 0x180059dc0
mov rdx, qword [rsp + 0x108]
sub r14, rdx
cmp r14, rcx
jb 0x18005a3c7
lea rax, [rsp + 0xf8]
cmp qword [rsp + 0x110], 0xf
cmova rax, qword [rsp + 0xf8]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x40]
lea r8, [rsp + 0xf8]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x128]
call fcn.1800064d0
nop
vmovsd xmm0, qword [str.G_GQY__]
vmovsd qword [rsp + 0x2a0], xmm0
mov eax, dword [0x18023b6c8]
mov dword [rsp + 0x2a8], eax
movzx edx, word [0x18023b6cc]
mov word [rsp + 0x2ac], dx
movzx ecx, byte [0x18023b6ce]
mov byte [rsp + 0x2a0], 0x75
xor byte [rsp + 0x2a1], 0x33
xor byte [rsp + 0x2a2], 0x34
xor byte [rsp + 0x2a3], 0x35
xor byte [rsp + 0x2a4], 0x36
xor byte [rsp + 0x2a5], 0x37
xor byte [rsp + 0x2a6], 0x38
xor byte [rsp + 0x2a7], 0x39
xor al, 0x3a
mov byte [rsp + 0x2a8], al
xor byte [rsp + 0x2a9], 0x3b
xor byte [rsp + 0x2aa], 0x3c
xor byte [rsp + 0x2ab], 0x3d
xor dl, 0x3e
mov byte [rsp + 0x2ac], dl
xor byte [rsp + 0x2ad], 0x3f
xor cl, 0x40
mov byte [rsp + 0x2ae], cl
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x190]
call fcn.18005d5c0
lea rdx, [rsp + 0x128]
cmp qword [rsp + 0x140], 0xf
cmova rdx, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov rcx, rax
call fcn.180026e00
mov rcx, qword [0x18023b6e8]
mov qword [rsp + 0x48], rcx
cmp byte [reloc.WS2_32.dll_gethostname], 0
je 0x180059f53
mov byte [rsp + 0x48], 0x5b
xor byte [rsp + 0x49], 0x33
xor byte [rsp + 0x4a], 0x34
xor byte [rsp + 0x4b], 0x35
xor byte [rsp + 0x4c], 0x36
xor byte [rsp + 0x4d], 0x37
xor byte [rsp + 0x4e], 0x38
xor byte [rsp + 0x4f], 0x39
lea rdx, [rsp + 0x48]
mov rcx, rax
call fcn.18005d5c0
lea r14, [rsp + 0x148]
cmp qword [rsp + 0x160], 0xf
cmova r14, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x158]
mov rdi, r12
test rbx, rbx
je 0x180059fc3
lea r15, [rbx - 1]
nop
movzx edx, byte [r14 + rdi]
lea rcx, [rsp + 0x190]
call fcn.18005be60
cmp rdi, r15
je 0x180059fbb
lea rdx, [0x18023b740]
lea rcx, [rsp + 0x190]
call fcn.18005d5c0
inc rdi
cmp rdi, rbx
jb 0x180059f90
mov eax, dword [str.O_b_5]
mov dword [rsp + 0x48], eax
cmp byte [0x18023b5d7], 0
je 0x18005a037
vmovdqu xmm5, xmmword [0x1802493c0]
vpunpckldq xmm0, xmm5, xmm5
vpmuldq xmm3, xmm0, xmmword [0x180249500]
vpunpckhdq xmm1, xmm5, xmm5
vpmuldq xmm2, xmm1, xmmword [0x180249500]
vshufps xmm0, xmm3, xmm2, 0xdd
vpsrad xmm4, xmm0, 1
vpsrld xmm0, xmm4, 0x1f
vpaddd xmm1, xmm0, xmm4
vpmulld xmm2, xmm1, xmmword [0x180249430]
vpsubd xmm3, xmm5, xmm2
vpshufb xmm4, xmm3, xmmword [0x180249360]
vpaddb xmm2, xmm4, xmmword [str.22222222222222223333333333333333]
vmovd xmm0, eax
vpxor xmm1, xmm2, xmm0
vmovd dword [rsp + 0x48], xmm1
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x190]
call fcn.18005d5c0
lea rcx, [rsp + 0x198]
call fcn.180024cd0
test rax, rax
jne 0x18005a09d
mov rax, qword [rsp + 0x190]
movsxd rcx, dword [rax + 4]
mov eax, 6
mov edx, 2
cmp qword [rsp + rcx + 0x1d8], 0
cmovne eax, edx
or eax, dword [rsp + rcx + 0x1a0]
and eax, 0x17
mov dword [rsp + rcx + 0x1a0], eax
mov edx, dword [rsp + rcx + 0x1a4]
and edx, eax
jne 0x18005a3cd
movzx eax, word [0x180237e88]
mov word [rsp + 0x40], ax
cmp byte [0x180237e89], 0
je 0x18005a0bc
mov byte [rsp + 0x40], 0x62
xor byte [rsp + 0x41], 0x33
lea r9, [rsp + 0x2b5]
movabs r8, 0xcccccccccccccccd
nop
dec r9
mov rax, r8
mul rbx
shr rdx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [r9], bl
mov rbx, rdx
test rdx, rdx
jne 0x18005a0d0
lea r8, [rsp + 0x2b5]
mov rdx, r9
lea rcx, [rsp + 0x78]
call fcn.18000a160
nop
mov eax, dword [str.aZNP_f]
mov dword [rsp + 0x48], eax
movzx ecx, word [0x18023b6d4]
mov word [rsp + 0x4c], cx
movzx eax, byte [0x18023b6d6]
mov byte [rsp + 0x48], 0x53
xor byte [rsp + 0x49], 0x33
xor byte [rsp + 0x4a], 0x34
xor byte [rsp + 0x4b], 0x35
xor cl, 0x36
mov byte [rsp + 0x4c], cl
xor byte [rsp + 0x4d], 0x37
xor al, 0x38
mov byte [rsp + 0x4e], al
lea rax, [rsp + 0x48]
mov r9, rsi
nop dword [rax]
inc r9
cmp byte [rax + r9], 0
jne 0x18005a160
lea r8, [rsp + 0x48]
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.180009ec0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0xa0], xmm0
vpxor xmm1, xmm1, xmm1
vmovdqu xmmword [rsp + 0xb0], xmm1
vmovups ymm0, ymmword [rax]
vmovups ymmword [rsp + 0xa0], ymm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rax, [rsp + 0x40]
inc rsi
cmp byte [rax + rsi], 0
jne 0x18005a1b6
mov r8, rsi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa0]
vzeroupper
call fcn.1800246b0
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
vmovups ymm0, ymmword [rax]
vmovups ymmword [rsp + 0x58], ymm0
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
lea rcx, [rsp + 0x58]
vzeroupper
call fcn.18011c770
nop
lea rcx, [rsp + 0xa0]
call fcn.180005050
nop
lea rcx, [rsp + 0x78]
call fcn.180005050
nop
lea rcx, [rsp + 0x128]
call fcn.180005050
nop
mov rax, qword [rsp + 0x190]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x190], rax
mov rax, qword [rsp + 0x190]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x18c], edx
lea rcx, [rsp + 0x198]
call fcn.180024000
mov rax, qword [rsp + 0x190]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x190], rax
mov rax, qword [rsp + 0x190]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rsp + rcx + 0x18c], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x238], rax
lea rcx, [rsp + 0x238]
call fcn.1801bc7cc
nop
lea rcx, [rsp + 0x168]
call fcn.180005050
nop
lea rcx, [rsp + 0xf8]
call fcn.180005050
nop
lea rcx, [rsp + 0x148]
call fcn.180005050
nop
lea rcx, [rsp + 0xd8]
call fcn.180005050
nop
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x18005a35f
mov rax, qword [rsp + 0xd0]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005a345
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005a3a9
call fcn.1801becec
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], r12
movzx edx, byte [rsp + 0x118]
lea rcx, [rsp + 0x120]
call fcn.180027910
nop
mov rcx, qword [rsp + 0x2b8]
xor rcx, rsp
call fcn.1801be920
lea r11, [rsp + 0x2d0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
vmovaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
ret
call fcn.1801ce54c
nop
call fcn.180003b20
int3
call fcn.180003bc0
int3
call fcn.1801ce54c
nop
call fcn.180003bc0
nop
call fcn.180003bc0
nop
test dl, 4
je 0x18005a3db
lea rbx, str.ios_base::badbit_set
jmp 0x18005a3f0
test dl, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x2a0]
call fcn.18001d9f0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.18001e4a0
lea rdx, [0x180276580]
lea rcx, [rsp + 0x78]
call fcn.1801c0d6c
int3