Function at 0x14000ebe0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rsi, qword [0x14022c040]
mov rax, qword [rsi]
mov qword [rsp + 0x98], rax
xor eax, eax
mov rsi, qword [0x14022c910]
mov r13, rcx
mov rdi, rdx
mov qword [rsp + 0x40], 0
mov r15, r8
mov rbx, r9
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x48], 0
lea r14, [rsp + 0x60]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rsi
test rdx, rdx
je 0x14000e0ad
mov r8d, 1
mov rcx, rbp
lea r14, [rsp + 0x60]
call fcn.1400f7060
mov r8, rbx
mov rdx, r15
mov rcx, r14
call fcn.14008f5f0
mov rcx, qword [rsp + 0x70]
mov edx, 1
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rsi
call fcn.140043230
mov rbx, rax
test rax, rax
je 0x14000df6b
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x70]
cmp rax, rsi
je 0x14000e280
mov byte [rax], 0
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rcx, r14
mov rdx, rbx
mov r8, rax
call fcn.14008f5f0
mov rcx, rbx
call fcn.1400eaf30
mov rcx, qword [rsp + 0x70]
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x14000e0f0
movsx eax, byte [rcx + 1]
cmp eax, 0x2f
je 0x14000e178
cmp eax, 0x5c
je 0x14000e178
call fcn.1400db080
test eax, eax
jne 0x14000dfb1
mov r9d, 3
lea r8, [0x1401ec280]
xor edx, edx
mov rcx, r14
call fcn.14008f410
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14000dfd7
mov rcx, qword [rsp + 0x70]
movsx eax, byte [rcx + rax - 1]
cmp eax, 0x5c
je 0x14000e250
cmp eax, 0x2f
je 0x14000e250
lea rcx, [rsp + 0x80]
xor r13d, r13d
xor r12d, r12d
call fcn.14008e580
mov eax, dword [rsp + 0x110]
mov qword [rsp + 0x38], r14
xor ebx, ebx
add eax, 2
mov dword [rsp + 0x34], eax
jmp 0x14000e08b
cmp qword [rsp + 0x48], r13
jb 0x14000e0a8
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
mov r8, r13
mov eax, dword [rsp + 0x110]
mov rdx, r15
mov rcx, r14
test eax, eax
jne 0x14000e140
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14000e0a8
mov r8d, 2
lea rdx, [r15 + r13]
lea rcx, [r14 + r13]
call fcn.1400baa80
test eax, eax
sete al
movzx eax, al
or ebx, eax
jne 0x14000e168
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x50]
cmp rax, rsi
je 0x14000e118
mov byte [rax], 0
mov rdx, rdi
mov rcx, rbp
mov ebx, 1
call fcn.1400f7260
test r12d, r12d
jne 0x14000e008
mov r8d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
jmp 0x14000e044
mov r14, qword [rsp + 0x38]
xor r15d, r15d
mov rcx, r14
call fcn.14008e580
mov rcx, rbp
call fcn.14008e580
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x98]
sub rax, qword [rdi]
jne 0x14000e2cd
mov eax, r15d
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsx edx, al
cmp al, 0x2f
je 0x14000e100
cmp edx, 0x5c
jne 0x14000df91
mov rax, qword [rsp + 0x68]
test rax, rax
jne 0x14000dfc0
jmp 0x14000dfd7
cmp byte [rsi], 0
je 0x14000e07b
mov r8d, 0xac
lea rdx, [0x1401ec036]
lea rcx, [0x1401ec03f]
call qword [sym.imp.msvcrt.dll__assert]
nop dword [rax + rax]
call qword [sym.imp.msvcrt.dll__strnicmp_1]
test eax, eax
jne 0x14000e0a8
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
mov r8d, 3
jmp 0x14000e044
mov r14, qword [rsp + 0x38]
mov r15d, eax
jmp 0x14000e0b0
test r13, r13
je 0x14000e2a7
mov rdx, qword [r13 + 0x18]
test rdx, rdx
je 0x14000e2a7
lea rbx, [rsp + 0x80]
mov r8d, 1
mov rcx, rbx
call fcn.1400f7060
mov r9, qword [rsp + 0x90]
movzx edx, byte [r9]
test dl, dl
je 0x14000e2d2
mov rcx, r9
xor r13d, r13d
jmp 0x14000e1d1
cmp dl, 0x2f
je 0x14000e1d6
movzx edx, byte [rcx + 1]
add rcx, 1
test dl, dl
je 0x14000e1e5
cmp dl, 0x5c
jne 0x14000e1c0
mov r13, rcx
movzx edx, byte [rcx + 1]
add rcx, 1
test dl, dl
jne 0x14000e1d1
test r13, r13
je 0x14000e2d2
mov rax, r13
xor edx, edx
mov r8d, 1
mov rcx, r14
sub rax, r9
mov qword [rsp + 0x20], rax
call fcn.14008f300
mov rdx, qword [rsp + 0x68]
sub r13, qword [rsp + 0x90]
lea r12d, [r13 + 1]
test rdx, rdx
je 0x14000e233
mov rcx, qword [rsp + 0x70]
movsx edx, byte [rcx + rdx - 1]
cmp edx, 0x2f
je 0x14000e290
cmp edx, 0x5c
je 0x14000e290
mov rcx, rbx
call fcn.14008e580
test r12d, r12d
js 0x14000e0ad
jmp 0x14000e275
mov r8d, 2
lea rdx, [0x1401ec284]
mov rcx, r14
xor r12d, r12d
call fcn.14008f5f0
lea rcx, [rsp + 0x80]
call fcn.14008e580
movsxd r13, r12d
jmp 0x14000dfea
cmp byte [rax], 0
je 0x14000df4d
call fcn.14000c5d0
nop
mov r8d, 2
lea rdx, [0x1401ec284]
mov rcx, r14
call fcn.14008f5f0
jmp 0x14000e233
mov rax, qword [str.PF__]
lea rcx, str.relative_config_include_conditionals_must_come_from_files
mov edx, dword [rax]
test edx, edx
je 0x14000e2c3
call fcn.1401d81b8
mov rcx, rax
call fcn.1400b6bf0
jmp 0x14000e0ad
call fcn.1401d96b0
lea r8, str.how_is_this_possible_
mov edx, 0xe8
lea rcx, str.config.c
call fcn.1400b6d50
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
mov rsi, qword [0x14022c040]
mov rax, qword [rsi]
mov qword [rsp + 0x1c8], rax
xor eax, eax
mov rsi, qword [0x14022c910]
mov rbx, rcx
mov r15, rdx
lea rdi, [rsp + 0x170]
mov ecx, 0xb
mov qword [rsp + 0x38], r8
mov rdx, r8
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x238], r9d
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
rep stosq qword [rdi], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rsi
test r8, r8
je 0x14000e418
movzx eax, byte [r8]
test al, al
je 0x14000e3ca
cmp al, 0x2e
je 0x14000e418
mov rcx, qword [str._________AA__A__________________]
jmp 0x14000e3c0
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
je 0x14000e418
cmp al, 0x2e
je 0x14000e418
cmp al, 0x2d
je 0x14000e3b0
test byte [rcx + rax], 6
jne 0x14000e3b0
mov rax, qword [str.PF__]
lea rcx, str.invalid_section_name:__s
mov ebx, dword [rax]
test ebx, ebx
je 0x14000e3e6
call fcn.1401d81b8
mov rcx, rax
mov rdx, qword [rsp + 0x38]
call fcn.1400b6bf0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x44], 0xffffffff
mov qword [rsp + 0x30], rax
jmp 0x14000e748
mov qword [rsp + 0x48], 0
test rbx, rbx
je 0x14000ea94
mov dword [rsp + 0x20], 0x1b6
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.14002bd50
mov r13d, eax
test eax, eax
js 0x14000e834
lea rdx, [0x1401ec37e]
mov rcx, rbx
call fcn.1400d77c0
mov r12, rax
test rax, rax
je 0x14000e88d
mov rcx, rax
call sub.msvcrt.dll__fileno
lea rdx, [rsp + 0x120]
mov ecx, eax
call fcn.1400d97e0
cmp eax, 0xffffffff
je 0x14000e8ed
movzx edi, word [rsp + 0x126]
mov rcx, qword [rsp + 0xb8]
call fcn.14009df50
and edi, 0xfff
mov rcx, rax
mov edx, edi
call fcn.1400d6650
test eax, eax
js 0x14000eb72
mov r14, qword [str._________AA__A__________________]
mov qword [rsp + 0x70], rsi
xor edi, edi
xor ebp, ebp
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x44], 0
mov rsi, r15
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], rbx
nop dword [rax + rax]
mov rcx, qword [rsp + 0x30]
mov r8d, 0xa
mov rdx, r12
call fcn.140090bb0
mov ebx, eax
test eax, eax
jne 0x14000eac3
add edi, 1
mov r15, qword [rsp + 0xd0]
cmp qword [rsp + 0xc8], 0x7ffff
ja 0x14000eb37
movzx eax, byte [r15]
xor r9d, r9d
test al, al
jne 0x14000e571
jmp 0x14000e6b8
add r9, 1
movzx eax, byte [r15 + r9]
test al, al
je 0x14000e6b8
movzx edx, al
test byte [r14 + rdx], 1
jne 0x14000e560
cmp al, 0x5b
jne 0x14000e6b8
mov r8, qword [rsp + 0xe8]
test r8, r8
je 0x14000e7c0
mov rdx, qword [rsp + 0xf0]
mov ecx, r13d
mov qword [rsp + 0x50], r9
call fcn.1400bd7a0
mov r9, qword [rsp + 0x50]
test rax, rax
js 0x14000e6ea
mov rax, qword [rsp + 0xf0]
cmp rax, qword [0x14022c910]
mov qword [rsp + 0xe8], 0
je 0x14000e870
mov byte [rax], 0
mov rcx, qword [rsp + 0xd0]
add rcx, r9
cmp byte [rcx], 0x5b
jne 0x14000e690
movzx edx, byte [rcx + 1]
cmp dl, 0x5d
je 0x14000ebae
test dl, dl
je 0x14000ebae
xor ebp, ebp
mov r8d, 1
mov eax, 1
jmp 0x14000e646
test byte [r14 + rdx], 1
jne 0x14000e7e0
movzx edx, byte [rcx + rax]
cmp dl, byte [rsi + r8 - 1]
jne 0x14000e680
add rax, 1
lea r10, [r8 + 1]
movzx edx, byte [rcx + rax]
test dl, dl
je 0x14000e680
cmp dl, 0x5d
je 0x14000e685
mov r8, r10
lea r11, [r8 - 1]
test ebp, ebp
je 0x14000e618
cmp dl, 0x5c
je 0x14000e7d0
cmp dl, 0x22
jne 0x14000e623
add rax, 1
movzx r8d, byte [rcx + rax]
mov rdx, r8
test byte [r14 + r8], 1
jne 0x14000e65c
mov r8, r11
nop word cs:[rax + rax]
nop dword [rax]
cmp dl, 0x5d
jne 0x14000e690
cmp byte [rsi + r8], 0
je 0x14000e935
mov rcx, r15
call sub.msvcrt.dll_strlen
mov r8, rax
mov rdx, r15
mov ecx, r13d
call fcn.1400bd7a0
test rax, rax
js 0x14000e6ea
mov ebp, ebx
jmp 0x14000e510
test ebp, ebp
jne 0x14000e7b0
mov rcx, r15
call sub.msvcrt.dll_strlen
cmp qword [rsp + 0xe8], 0
mov r8, rax
jne 0x14000e818
mov rdx, r15
mov ecx, r13d
call fcn.1400bd7a0
test rax, rax
jns 0x14000e6ab
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
call fcn.14009df50
lea rcx, str.failed_to_write_new_configuration_file__s
mov rbx, rax
mov rax, qword [str.PF__]
mov edx, dword [rax]
test edx, edx
je 0x14000e71b
call fcn.1401d81b8
mov rcx, rax
mov rdx, rbx
call fcn.1400b6bf0
mov rcx, r12
mov dword [rsp + 0x44], 4
call sub.msvcrt.dll_fclose
nop word cs:[rax + rax]
nop
mov rcx, rsi
call fcn.14009e0d0
mov rcx, qword [rsp + 0x48]
call fcn.1400eaf30
xor ecx, ecx
call fcn.1400eaf30
xor ecx, ecx
call fcn.1400eaf30
xor ecx, ecx
call fcn.1400eaf30
mov rcx, qword [rsp + 0x30]
call fcn.14008e580
lea rcx, [rsp + 0xe0]
call fcn.14008e580
mov rdi, qword [0x14022c040]
mov rax, qword [rsp + 0x1c8]
sub rax, qword [rdi]
jne 0x14000ebd0
mov eax, dword [rsp + 0x44]
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebx, ebp
mov ebp, ebx
jmp 0x14000e510
mov rcx, r15
jmp 0x14000e5e3
add rax, 1
jmp 0x14000e623
cmp byte [rsi + r8 - 1], 0x2e
jne 0x14000e80a
nop dword [rax + rax]
add rax, 1
movzx r10d, byte [rcx + rax]
test byte [r14 + r10], 1
jne 0x14000e7f0
cmp r10b, 0x22
je 0x14000eaad
movzx edx, byte [rcx + rax]
jmp 0x14000e680
mov rcx, qword [rsp + 0x60]
mov rdx, r15
mov qword [rsp + 0x50], rax
call fcn.14008f5f0
mov r8, qword [rsp + 0x50]
jmp 0x14000e6da
mov rax, qword [str.PF__]
lea rcx, str.could_not_lock_config_file__s
mov r11d, dword [rax]
test r11d, r11d
jne 0x14000e8e0
mov rdx, rbx
call fcn.1400b6bf0
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x44], 0xffffffff
jmp 0x14000e740
mov rax, qword [0x14022c910]
cmp byte [rax], 0
jne 0x14000ebcb
mov rcx, qword [rsp + 0xd0]
jmp 0x14000e5e3
mov rcx, rbx
lea rdi, [rsp + 0xc0]
call fcn.1400bda10
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x14000e740
mov rcx, rsi
call fcn.14002c090
test eax, eax
jns 0x14000e740
mov rax, qword [str.PF__]
lea rcx, str.could_not_write_config_file__s
mov eax, dword [rax]
test eax, eax
jne 0x14000eba1
mov rdx, rbx
call fcn.1400b6b60
jmp 0x14000e863
call fcn.1401d81b8
mov rcx, rax
jmp 0x14000e84e
mov rax, qword [str.PF__]
lea rcx, str.fstat_on__s_failed
mov r10d, dword [rax]
test r10d, r10d
je 0x14000e90b
call fcn.1401d81b8
mov rcx, rax
mov rdx, rbx
call fcn.1400b6b60
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
mov rcx, r12
mov dword [rsp + 0x44], 0xffffffff
call sub.msvcrt.dll_fclose
jmp 0x14000e740
lea rbp, [rax + 1]
movzx eax, byte [rcx + rax + 1]
test al, al
jne 0x14000e96c
jmp 0x14000e973
add rbp, 1
movzx eax, byte [rcx + rbp]
test al, al
je 0x14000e973
test byte [r14 + rax], 1
jne 0x14000e960
test rbp, rbp
je 0x14000e690
mov rax, qword [rsp + 0x38]
add dword [rsp + 0x44], 1
mov qword [rsp + 0x50], r9
test rax, rax
je 0x14000eab7
mov rcx, rax
call sub.msvcrt.dll_strlen
mov ecx, dword [rsp + 0x238]
mov qword [rsp + 0x170], rax
test ecx, ecx
jne 0x14000ea2d
lea r11, [rsp + 0x100]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
mov rcx, r11
mov qword [rsp + 0x80], r11
call fcn.14000cbf0
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov ecx, r13d
call fcn.1400bd7a0
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
call fcn.14008e580
mov rax, qword [rsp + 0x78]
mov r9, qword [rsp + 0x50]
test rax, rax
js 0x14000e6ea
add rbp, r9
add rbp, r15
cmp byte [rbp], 0
jne 0x14000ea7c
mov rcx, rbp
mov r15, rbp
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x14000e6da
mov rcx, qword [rsp + 0x60]
call fcn.14008e580
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
call fcn.14000cbf0
mov rax, qword [rsp + 0xa0]
mov rcx, r15
movdqu xmm0, xmmword [rsp + 0x90]
mov qword [rsp + 0xf0], rax
movups xmmword [rsp + 0xe0], xmm0
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x14000e6da
mov byte [rbp - 1], 9
lea r15, [rbp - 1]
mov rcx, r15
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x14000e69b
lea rcx, [0x1401ec377]
call fcn.1400430e0
mov qword [rsp + 0x48], rax
mov rbx, rax
jmp 0x14000e42a
mov ebp, 1
jmp 0x14000e62e
mov ebx, 1
mov ebp, ebx
jmp 0x14000e510
mov r8, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x70]
test r8, r8
je 0x14000eb1a
mov rdx, qword [rsp + 0xf0]
mov ecx, r13d
call fcn.1400bd7a0
test rax, rax
js 0x14000e6ef
mov rax, qword [rsp + 0xf0]
cmp rax, qword [0x14022c910]
mov qword [rsp + 0xe8], 0
je 0x14000ebbb
mov byte [rax], 0
mov rcx, r12
call sub.msvcrt.dll_fclose
mov rcx, rsi
call fcn.14002c090
test eax, eax
jns 0x14000e740
jmp 0x14000e8be
mov rax, qword [str.PF__]
mov rbx, qword [rsp + 0x88]
lea rcx, str.refusing_to_work_with_overly_long_line_in__s_on_line__I64u
mov rsi, qword [rsp + 0x70]
mov r8d, dword [rax]
test r8d, r8d
je 0x14000eb62
call fcn.1401d81b8
mov rcx, rax
mov r8, rdi
mov rdx, rbx
call fcn.1400b6bf0
jmp 0x14000e920
mov rcx, qword [rsp + 0xb8]
call fcn.14009df50
lea rcx, str.chmod_on__s_failed
mov rbx, rax
mov rax, qword [str.PF__]
mov r9d, dword [rax]
test r9d, r9d
je 0x14000e90b
jmp 0x14000e903
call fcn.1401d81b8
mov rcx, rax
jmp 0x14000e8d6
xor r8d, r8d
mov eax, 1
jmp 0x14000e680
mov rax, qword [0x14022c910]
cmp byte [rax], 0
je 0x14000eb1a
call fcn.14000c5d0
call fcn.1401d96b0
nop
nop word cs:[rax + rax]
push rsi
push rbx
sub rsp, 0x28
mov edx, 0x3d
mov rsi, rcx
call sub.msvcrt.dll_strchr
mov rbx, rax
test rax, rax
je 0x14000ec30
mov rdx, rax
mov rcx, rsi
sub rdx, rsi
call fcn.1400bd1d0
lea rdx, [rbx + 1]
mov rsi, rax
mov rcx, rax
call fcn.14000ca60
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.1400eaf30
xor edx, edx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.14000ca60