Function at 0x18008c990
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov rax, qword [0x1800cd230]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x188]
mov r14, r8
mov rsi, qword [rbp + 0x190]
mov r13d, ecx
mov r15, qword [rbp + 0x198]
mov qword [rbp - 0x78], rax
lea eax, [rcx + 0x736]
mov qword [rbp - 0x38], r9
mov qword [rbp - 0x40], r8
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x58], ecx
mov qword [rbp - 0x80], rsi
mov dword [rsp + 0x60], eax
cmp ecx, eax
jae 0x18008cff5
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x68]
lea rdx, [0x180000000]
movabs r8, 0xaaaaaaaaaaaaaaab
cmp r13d, 0x173
ja 0x18008cb35
je 0x18008cb17
cmp r13d, 0xf6
ja 0x18008ca71
je 0x18008cfbd
mov eax, r13d
sub eax, 0x23
je 0x18008cf25
sub eax, 0x7d
je 0x18008cf09
cmp eax, 0x45
jne 0x18008cf09
mov rax, qword [rsi]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x68], rax
jmp 0x18008cf09
mov eax, r13d
sub eax, 0x109
je 0x18008caf2
cmp eax, 0x25
jne 0x18008cf09
lea edx, [rax + 0xa]
mov rcx, r15
call sub.VCRUNTIME140.dll_strrchr
lea rsi, [rax + 1]
test rax, rax
jne 0x18008ca9b
mov rsi, r15
mov rax, rsi
sub rax, r15
cmp rax, 7
jl 0x18008cf05
lea rcx, [rsi - 7]
mov r8d, 7
lea rdx, str._.libs_
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x18008cf05
lea r8d, [rax + 3]
mov rcx, rsi
lea rdx, [0x1800bac10]
mov r15, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x18008cf05
lea r15, [rsi + 3]
jmp 0x18008cf05
mov rcx, qword [r15 + 0x10]
mov rax, r8
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, rsi
shr rdx, 1
shl rdx, 2
call fcn.18008aca0
jmp 0x18008cf09
mov rax, qword [r14]
cmp qword [rax + 0x28], 0
je 0x18008cfcf
cmp qword [rbp - 0x68], 0
je 0x18008cfd2
jmp 0x18008cf09
cmp r13d, 0x225
ja 0x18008cbed
je 0x18008cbc9
mov eax, r13d
sub eax, 0x197
je 0x18008cbb3
sub eax, 0x25
je 0x18008cba7
cmp eax, 0x45
jne 0x18008cf09
mov rax, qword [r14]
lea r9, [rbp - 0x60]
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x58]
mov rax, qword [rsi]
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x58], rax
mov r8d, 0x28
mov rax, qword [r15]
mov qword [rbp - 0x60], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x58], 0xa
call fcn.180065860
mov byte [rsp + 0x50], al
jmp 0x18008cf09
mov qword [0x1800ce2c0], r15
jmp 0x18008cf09
cmp qword [r15 + 0x18], 0x10
mov rdi, r15
jb 0x18008cf09
mov rdi, qword [r15]
jmp 0x18008cf09
cmp qword [rsi + 0x18], 0x10
mov rbx, rsi
jb 0x18008cbd6
mov rbx, qword [rsi]
mov rax, r8
mul qword [r15 + 0x10]
shr rdx, 1
lea rax, [rdx + rdx*2]
mov qword [rbp - 0x48], rax
jmp 0x18008cf09
mov eax, r13d
sub eax, 0x28f
je 0x18008cff5
cmp eax, 0x24
jne 0x18008cf09
mov rax, qword [rbp - 0x48]
xor r12d, r12d
test rax, rax
je 0x18008cce1
lea rcx, [rax - 1]
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea r12, [rdx + rdx*2]
nop dword [rax + rax]
mov r8d, 0xb3
mov eax, r8d
sub eax, 0xb1
je 0x18008ccbc
sub eax, 1
je 0x18008cc63
cmp eax, 1
jne 0x18008ccc0
movzx ecx, byte [rdi]
mov rax, qword [0x1800cea28]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [rbx], cl
inc rbx
jmp 0x18008ccc0
movzx ecx, byte [rdi]
movzx eax, byte [rdi + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x1800cea28]
movzx ecx, byte [rcx + rax]
mov byte [rbx], cl
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800cea28]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 1], cl
movzx ecx, byte [rdi + 2]
mov rax, qword [0x1800cea28]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [rbx + 2], cl
add rbx, 3
jmp 0x18008ccc0
add rdi, 3
dec r8d
cmp r8d, 0xb0
ja 0x18008cc36
sub rdx, 1
jne 0x18008cc30
lea rdx, [0x180000000]
cmp r12, qword [r15 + 0x10]
jae 0x18008cf09
mov r13d, dword [rsp + 0x70]
mov esi, 0xb
lea r14d, [rsi + 1]
nop dword [rax]
cmp esi, 0xb
ja case.default.0x18008cd15
mov eax, esi
mov ecx, dword [rdx + rax*4 + 0x8d024]
add rcx, rdx
jmp rcx
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea r8, [rbp]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x18]
call qword [sym.imp.dbghelp.dll_FindExecutableImageEx]
jmp case.default.0x18008cd15
mov dword [rbp - 0x11], 0x206372
mov byte [rbp - 0x30], 0
jmp case.default.0x18008cd15
mov byte [rbx], 0x3d
inc rbx
jmp case.default.0x18008cd15
lea rax, [r12 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x18008cd84
mov eax, dword [rbp - 0x70]
mov ecx, r13d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800cea28]
movzx edx, byte [rcx + rax]
mov byte [rbx], dl
inc rbx
jmp case.default.0x18008cd15
mov dl, 0x3d
mov byte [rbx], dl
inc rbx
jmp case.default.0x18008cd15
mov r8d, 5
lea rdx, [0x1800bac23]
lea rcx, [rbp - 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 3
lea rdx, [0x1800bac3f]
lea rcx, [rbp - 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp case.default.0x18008cd15
lea rax, [r12 + 1]
cmp rax, qword [r15 + 0x10]
jae 0x18008cddf
movzx r13d, byte [rdi + 1]
mov dword [rbp - 0x70], 0
jmp case.default.0x18008cd15
xor r13d, r13d
mov dword [rbp - 0x70], r13d
jmp case.default.0x18008cd15
mov byte [rbp - 0x18], 0
jmp case.default.0x18008cd15
mov r8d, 2
lea rdx, [0x1800bac79]
lea rcx, [rbp - 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
movzx eax, byte [rdi]
mov dword [rsp + 0x78], eax
mov word [rbp - 0x21], 0x65
jmp case.default.0x18008cd15
mov r8d, 4
lea rdx, [0x1800bacb4]
lea rcx, [rbp - 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp - 0x24], 0
jmp case.default.0x18008cd15
mov r8d, 1
lea rdx, [0x1800bacd2]
lea rcx, [rbp - 0x24]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp - 0x23], 0
jmp case.default.0x18008cd15
mov rax, qword [0x1800cea28]
mov edx, dword [rsp + 0x78]
mov ecx, edx
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov eax, r13d
mov byte [rbx], cl
mov ecx, edx
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
mov rax, qword [0x1800cea28]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 1], cl
add rbx, 2
jmp case.default.0x18008cd15
mov r8d, 2
lea rdx, [0x1800bacf0]
lea rcx, [rbp - 0x18]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov r8d, 2
lea rdx, [0x1800babd0]
lea rcx, [rbp - 0x16]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 0x6c
lea rdx, [0x1800bacf8]
lea rcx, [rbp - 0x14]
mov word [rbp - 0x15], ax
lea r8d, [rax - 0x68]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
dec esi
lea rdx, [0x180000000]
sub r14, 1
jne 0x18008cd00
mov r14, qword [rbp - 0x40]
mov dword [rsp + 0x70], r13d
mov r13d, dword [rsp + 0x58]
mov rsi, qword [rbp - 0x80]
add r13d, 0x8e
mov dword [rsp + 0x58], r13d
cmp r13d, dword [rsp + 0x60]
jae 0x18008cff5
jmp 0x18008ca10
mov r9, qword [rbp - 0x38]
xor r11d, r11d
xor r8d, r8d
cmp dword [r9], r8d
jle 0x18008cfc4
mov r12, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x180]
mov r10, r12
mov rdx, r12
nop dword [rax]
cmp dword [rcx], 0
je 0x18008cf62
mov rax, qword [rdx]
inc r11d
mov qword [r10], rax
add r10, 8
inc r8d
add rcx, 4
add rdx, 8
cmp r8d, dword [r9]
jl 0x18008cf50
test r11d, r11d
je 0x18008cfc4
lea rax, [rsp + 0x78]
mov dword [rsp + 0x60], r11d
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x60]
lea rax, [0x18001dad0]
mov r9, r12
mov qword [rsp + 0x38], rax
mov r8, rsi
mov rax, qword [rsp + 0x68]
mov edx, 0x3c
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.180046810
jmp 0x18008cff9
cmp dword [r15 + 0x40], 0
je 0x18008cfc8
xor eax, eax
jmp 0x18008cff9
mov eax, 1
jmp 0x18008cff9
mov rax, qword [rsi]
mov qword [rbp - 0x78], rax
lea r8, [rsp + 0x68]
mov rax, qword [r15]
lea rcx, [rbp - 0x78]
mov edx, 0x117
mov qword [rsp + 0x68], rax
call fcn.180063cd0
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x50]
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1800a7b10
mov rbx, qword [rsp + 0x260]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret