Function at 0x180167990
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, r8
mov r13, rdx
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x28], esi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], sil
mov dword [rsp + 0x28], 1
mov ebp, esi
test r8, r8
je 0x180167d43
mov ecx, esi
movzx ebx, byte [rsp + 0x70]
nop word [rax + rax]
dec r14
movzx eax, byte [r13]
lea r13, [r13 + 1]
mov byte [rsp + rcx + 0x20], al
inc ebp
inc rcx
movzx r8d, byte [rsp + 0x22]
movzx r15d, byte [rsp + 0x21]
movzx r12d, byte [rsp + 0x20]
cmp rcx, 3
jne 0x180167bee
movzx eax, r12b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x24], cl
movzx ebp, r12b
and bpl, 3
shl bpl, 4
movzx eax, r15b
shr al, 4
add bpl, al
movzx edx, r15b
and dl, 0xf
shl dl, 2
movzx eax, r8b
shr al, 6
add dl, al
mov byte [rsp + 0x80], dl
movzx eax, r8b
and al, 0x3f
mov byte [rsp + 0x88], al
lea rax, [0x180721a90]
cmp qword [0x180721aa8], 0xf
cmova rax, qword [0x180721a90]
movzx r9d, byte [rcx + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167ab4
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167aa9
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180167ac5
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
lea rcx, [0x180721a90]
cmp qword [0x180721aa8], 0xf
cmova rcx, qword [0x180721a90]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167b11
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167b06
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180167b22
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
lea rbp, [0x180721a90]
mov rcx, rbp
cmp qword [0x180721aa8], 0xf
cmova rcx, qword [0x180721a90]
movzx eax, byte [rsp + 0x80]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167b75
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167b6a
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180167b86
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
mov rcx, rbp
cmp qword [0x180721aa8], 0xf
cmova rcx, qword [0x180721a90]
movzx eax, byte [rsp + 0x88]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167bd2
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167bc7
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180167be3
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
mov ebp, esi
mov rcx, rsi
movzx r8d, byte [rsp + 0x22]
test r14, r14
jne 0x1801679f0
test ebp, ebp
je 0x180167d43
movsxd rax, ebp
cmp rax, 3
jge 0x180167c2e
jae 0x180167d5b
mov byte [rsp + rax + 0x20], 0
inc rax
cmp rax, 3
jl 0x180167c08
movzx r8d, byte [rsp + 0x22]
movzx r15d, byte [rsp + 0x21]
movzx r12d, byte [rsp + 0x20]
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x24], al
and r12b, 3
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rsp + 0x25], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, r8b
shr al, 6
add r15b, al
mov byte [rsp + 0x26], r15b
and r8b, 0x3f
mov byte [rsp + 0x27], r8b
lea eax, [rbp + 1]
movsxd r14, eax
test eax, eax
jle 0x180167ce6
movzx ebx, byte [rsp + 0x70]
nop
lea rcx, [0x180721a90]
cmp qword [0x180721aa8], 0xf
cmova rcx, qword [0x180721a90]
movzx eax, byte [rsp + rsi + 0x24]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167ccd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167cc2
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180167cde
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
inc rsi
cmp rsi, r14
jl 0x180167c80
cmp ebp, 3
jge 0x180167d43
mov esi, 3
sub esi, ebp
movzx ebx, byte [rsp + 0x70]
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x180167d29
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x180167d21
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x180167d3d
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.18005ce90
sub rsi, 1
jne 0x180167d00
mov rax, rdi
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18027fa0c
int3