Function at 0x140007480
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rdi, qword [0x140207460]
mov rax, qword [rdi]
mov qword [rsp + 0x98], rax
xor eax, eax
mov rdi, qword [0x140207c90]
mov rsi, rcx
mov rbp, rdx
mov qword [rsp + 0x40], 0
mov r12, r8
mov rbx, r9
lea r13, [rsp + 0x40]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], rdi
test rdx, rdx
je 0x140007710
mov r8d, 1
mov rcx, r13
call fcn.1400de380
lea rax, [rsp + 0x60]
mov r8, rbx
mov rdx, r12
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.14007e800
mov rcx, qword [rsp + 0x70]
mov edx, 1
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], rdi
call fcn.140037ca0
mov rbx, rax
test rax, rax
je 0x14000758d
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x70]
cmp rax, rdi
je 0x140007840
mov byte [rax], 0
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r8, rax
call fcn.14007e800
mov rcx, rbx
call fcn.1400d2670
mov rcx, qword [rsp + 0x70]
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x1400075f0
movsx eax, byte [rcx + 1]
cmp eax, 0x2f
je 0x140007770
cmp eax, 0x5c
je 0x140007770
call fcn.1400c3650
test eax, eax
jne 0x1400075fc
mov rsi, qword [rsp + 0x38]
mov r9d, 3
lea r8, [0x1401ca2c0]
xor edx, edx
mov rcx, rsi
call fcn.14007e620
mov rcx, rsi
call fcn.140005f90
lea rcx, [rsp + 0x80]
call fcn.14007d7e0
jmp 0x140007613
movsx edx, al
cmp al, 0x2f
je 0x1400075fc
cmp edx, 0x5c
jne 0x1400075af
mov rcx, qword [rsp + 0x38]
call fcn.140005f90
lea rcx, [rsp + 0x80]
call fcn.14007d7e0
xor ebx, ebx
xor r12d, r12d
mov eax, dword [rsp + 0x110]
xor esi, esi
add eax, 2
mov dword [rsp + 0x34], eax
jmp 0x1400076b3
cmp qword [rsp + 0x48], rbx
jb 0x14000771a
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
mov r8, rbx
mov eax, dword [rsp + 0x110]
mov rdx, r15
mov rcx, r14
test eax, eax
jne 0x1400076f0
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14000771a
mov r8d, 2
lea rdx, [r15 + rbx]
lea rcx, [r14 + rbx]
call fcn.1400a3ac0
test eax, eax
sete al
movzx eax, al
or esi, eax
jne 0x140007720
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x50]
cmp rax, rdi
je 0x1400076d0
mov byte [rax], 0
mov rdx, rbp
mov rcx, r13
mov esi, 1
call fcn.1400de560
test r12d, r12d
jne 0x140007630
mov r8d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
jmp 0x140007670
cmp byte [rdi], 0
je 0x1400076a3
mov r8d, 0xac
lea rdx, [0x1401ca096]
lea rcx, [0x1401ca09f]
call qword [sym.imp.msvcrt.dll__assert]
nop
call qword [sym.imp.msvcrt.dll__strnicmp]
test eax, eax
jne 0x14000771a
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x70]
mov r8d, 3
jmp 0x140007670
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
xor eax, eax
nop dword [rax]
mov rcx, qword [rsp + 0x38]
mov dword [rsp + 0x34], eax
call fcn.14007d7e0
mov rcx, r13
call fcn.14007d7e0
mov rax, qword [0x140207460]
mov rdx, qword [rsp + 0x98]
sub rdx, qword [rax]
mov eax, dword [rsp + 0x34]
jne 0x140007890
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rsi, rsi
je 0x140007850
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140007850
lea rbx, [rsp + 0x80]
mov r8d, 1
mov rcx, rbx
call fcn.1400de380
mov r9, qword [rsp + 0x90]
movzx eax, byte [r9]
test al, al
je 0x140007878
mov rdx, r9
xor r12d, r12d
jmp 0x1400077d1
cmp ecx, 0x5c
je 0x1400077d8
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
je 0x1400077e7
movsx ecx, al
cmp al, 0x2f
jne 0x1400077c0
mov r12, rdx
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x1400077d1
test r12, r12
je 0x140007878
mov rax, r12
mov rsi, qword [rsp + 0x38]
mov r8d, 1
xor edx, edx
sub rax, r9
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.14007e510
sub r12, qword [rsp + 0x90]
mov rcx, rsi
call fcn.140005f90
add r12d, 1
mov rcx, rbx
call fcn.14007d7e0
mov ebx, r12d
test r12d, r12d
jns 0x140007618
xor eax, eax
jmp 0x140007720
cmp byte [rax], 0
je 0x14000756d
call fcn.140005d50
nop
mov rax, qword [0x1402078f0]
lea rcx, str.relative_config_include_conditionals_must_come_from_files
mov edx, dword [rax]
test edx, edx
je 0x14000786c
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
call fcn.1400a0b40
xor eax, eax
jmp 0x140007720
lea r8, str.how_is_this_possible_
mov edx, 0xe7
lea rcx, str.config.c
call fcn.1400a0ca0
call fcn.1401be670
nop
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1c8
mov rsi, qword [0x140207460]
mov rax, qword [rsi]
mov qword [rsp + 0x1b8], rax
xor eax, eax
mov rax, qword [0x140207c90]
mov rbx, rcx
mov rbp, rdx
lea rdi, [rsp + 0x160]
mov ecx, 0xb
mov qword [rsp + 0x30], r8
mov rdx, r8
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xe0], rax
xor eax, eax
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x228], r9d
rep stosq qword [rdi], rax
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
test r8, r8
je 0x1400079d0
movzx eax, byte [r8]
test al, al
je 0x140007982
cmp al, 0x2e
je 0x1400079d0
mov rcx, qword [str._________AA__A__________________]
jmp 0x140007978
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
je 0x1400079d0
cmp al, 0x2e
je 0x1400079d0
cmp al, 0x2d
je 0x140007968
test byte [rcx + rax], 6
jne 0x140007968
mov rax, qword [0x1402078f0]
lea rcx, str.invalid_section_name:__s
mov ebx, dword [rax]
test ebx, ebx
je 0x14000799e
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, qword [rsp + 0x30]
lea r13, [rsp + 0xb0]
call fcn.1400a0b40
mov dword [rsp + 0x3c], 0xffffffff
mov qword [rsp + 0x48], 0
jmp 0x140007d4d
mov qword [rsp + 0x48], 0
test rbx, rbx
je 0x140007f77
mov dword [rsp + 0x20], 0x1b6
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rax, [rsp + 0xa8]
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.140021fa0
mov dword [rsp + 0x38], eax
test eax, eax
js 0x140007d11
lea rdx, [0x1401ca3be]
mov rcx, rbx
call fcn.1400c00c0
mov rdi, rax
test rax, rax
je 0x140007da6
mov rcx, rax
call sub.msvcrt.dll__fileno_1
lea rdx, [rsp + 0x110]
mov ecx, eax
call fcn.1400c1f90
cmp eax, 0xffffffff
je 0x140007e02
movzx esi, word [rsp + 0x116]
mov rcx, qword [rsp + 0xa8]
call fcn.14008c3e0
and esi, 0xfff
mov rcx, rax
mov edx, esi
call fcn.1400bef60
test eax, eax
js 0x140008084
lea rax, [rsp + 0xd0]
xor r15d, r15d
xor esi, esi
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x80]
mov r14, qword [str._________AA__A__________________]
lea r13, [rsp + 0xb0]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rbx
mov ebx, r15d
nop word [rax + rax]
mov r8d, 0xa
mov rdx, rdi
mov rcx, r13
call fcn.14007fd00
test eax, eax
jne 0x140007fa5
add esi, 1
mov r15, qword [rsp + 0xc0]
cmp qword [rsp + 0xb8], 0x7ffff
ja 0x140008051
movzx eax, byte [r15]
xor r12d, r12d
test al, al
jne 0x140007b21
jmp 0x140007c48
add r12, 1
movzx eax, byte [r15 + r12]
test al, al
je 0x140007c48
movzx edx, al
test byte [r14 + rdx], 1
jne 0x140007b10
cmp al, 0x5b
jne 0x140007c48
mov r8, qword [rsp + 0xd8]
test r8, r8
je 0x140007c88
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x38]
call fcn.1400a6690
test rax, rax
js 0x140008010
mov rax, qword [rsp + 0xe0]
cmp rax, qword [0x140207c90]
mov qword [rsp + 0xd8], 0
je 0x140007cf4
mov byte [rax], 0
mov rcx, qword [rsp + 0xc0]
add rcx, r12
cmp byte [rcx], 0x5b
jne 0x140007c38
movzx edx, byte [rcx + 1]
cmp dl, 0x5d
je 0x1400080c0
test dl, dl
je 0x1400080c0
xor r10d, r10d
mov r8d, 1
mov eax, 1
jmp 0x140007bee
test byte [r14 + rdx], 1
jne 0x140007ca0
movzx edx, byte [rcx + rax]
cmp dl, byte [rbp + r8 - 1]
jne 0x140007c20
add rax, 1
lea r9, [r8 + 1]
movzx edx, byte [rcx + rax]
test dl, dl
je 0x140007c20
cmp dl, 0x5d
je 0x140007c25
mov r8, r9
lea r9, [r8 - 1]
test r10d, r10d
je 0x140007bc0
cmp dl, 0x5c
je 0x140007c90
cmp dl, 0x22
jne 0x140007bcb
add rax, 1
movzx r8d, byte [rcx + rax]
mov rdx, r8
test byte [r14 + r8], 1
jne 0x140007c05
mov r8, r9
nop dword [rax + rax]
cmp dl, 0x5d
jne 0x140007c38
cmp byte [rbp + r8], 0
je 0x140007e45
nop dword [rax]
mov rcx, r15
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x140007c66
test ebx, ebx
jne 0x140007ac0
mov rcx, r15
call sub.msvcrt.dll_strlen
cmp qword [rsp + 0xd8], 0
mov r8, rax
jne 0x140007cd8
mov ecx, dword [rsp + 0x38]
mov rdx, r15
call fcn.1400a6690
test rax, rax
js 0x140008010
xor ebx, ebx
jmp 0x140007ac0
mov rcx, r15
jmp 0x140007b8a
add rax, 1
jmp 0x140007bcb
cmp byte [rbp + r8 - 1], 0x2e
jne 0x140007cca
nop dword [rax + rax]
add rax, 1
movzx r9d, byte [rcx + rax]
test byte [r14 + r9], 1
jne 0x140007cb0
cmp r9b, 0x22
je 0x140007f9a
movzx edx, byte [rcx + rax]
jmp 0x140007c20
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov qword [rsp + 0x60], rax
call fcn.14007e800
mov r8, qword [rsp + 0x60]
jmp 0x140007c66
mov rax, qword [0x140207c90]
cmp byte [rax], 0
jne 0x1400080dd
mov rcx, qword [rsp + 0xc0]
jmp 0x140007b8a
mov rax, qword [0x1402078f0]
lea rcx, str.could_not_lock_config_file__s
mov r11d, dword [rax]
test r11d, r11d
jne 0x140007df5
mov rdx, rbx
lea r13, [rsp + 0xb0]
call fcn.1400a0b40
mov dword [rsp + 0x3c], 0xffffffff
mov rcx, qword [rsp + 0x50]
call fcn.14008c560
mov rcx, qword [rsp + 0x48]
call fcn.1400d2670
mov rcx, qword [rsp + 0x40]
call fcn.140005a70
mov rcx, r13
call fcn.14007d7e0
lea rcx, [rsp + 0xd0]
call fcn.14007d7e0
mov rbx, qword [0x140207460]
mov rax, qword [rsp + 0x1b8]
sub rax, qword [rbx]
jne 0x1400080e2
mov eax, dword [rsp + 0x3c]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
lea r13, [rsp + 0xb0]
call fcn.1400a6900
mov dword [rsp + 0x3c], eax
test eax, eax
jne 0x140007d43
mov rcx, qword [rsp + 0x50]
call fcn.1400222c0
test eax, eax
jns 0x140007d43
mov rax, qword [0x1402078f0]
lea rcx, str.could_not_write_config_file__s
mov eax, dword [rax]
test eax, eax
jne 0x1400080b3
mov rdx, rbx
call fcn.1400a0ab0
jmp 0x140007d3b
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
jmp 0x140007d2b
mov rax, qword [0x1402078f0]
lea rcx, str.fstat_on__s_failed
mov r10d, dword [rax]
test r10d, r10d
je 0x140007e20
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rbx
lea r13, [rsp + 0xb0]
call fcn.1400a0ab0
mov dword [rsp + 0x3c], 0xffffffff
mov rcx, rdi
call sub.msvcrt.dll_fclose
jmp 0x140007d43
lea rbx, [rax + 1]
movzx eax, byte [rcx + rax + 1]
test al, al
jne 0x140007e64
jmp 0x140007e6b
add rbx, 1
movzx eax, byte [rcx + rbx]
test al, al
je 0x140007e6b
test byte [r14 + rax], 1
jne 0x140007e58
test rbx, rbx
je 0x140007c38
mov rax, qword [rsp + 0x30]
add dword [rsp + 0x3c], 1
test rax, rax
je 0x140007f90
mov rcx, rax
call sub.msvcrt.dll_strlen
mov ecx, dword [rsp + 0x228]
mov qword [rsp + 0x160], rax
test ecx, ecx
jne 0x140007f28
lea r10, [rsp + 0xf0]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rcx, r10
mov qword [rsp + 0x70], r10
call fcn.140006410
mov r8, qword [rsp + 0xf8]
mov ecx, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x100]
call fcn.1400a6690
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
call fcn.14007d7e0
mov rax, qword [rsp + 0x60]
test rax, rax
js 0x140008010
lea r9, [rbx + r12]
add r15, r9
cmp byte [r15], 0
je 0x140007c38
mov byte [r15 - 1], 9
lea r12, [r15 - 1]
mov rcx, r12
mov r15, r12
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x140007c66
mov rcx, qword [rsp + 0x58]
call fcn.14007d7e0
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
call fcn.140006410
mov rax, qword [rsp + 0x90]
mov rcx, r15
movdqu xmm0, xmmword [rsp + 0x80]
mov qword [rsp + 0xe0], rax
movups xmmword [rsp + 0xd0], xmm0
call sub.msvcrt.dll_strlen
mov r8, rax
jmp 0x140007c66
lea rcx, [0x1401ca3b7]
call fcn.1400379d0
mov qword [rsp + 0x48], rax
mov rbx, rax
jmp 0x1400079e2
mov ebx, 1
jmp 0x140007ac0
mov r10d, 1
jmp 0x140007bd6
mov r8, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0x78]
test r8, r8
je 0x140007ff1
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x38]
call fcn.1400a6690
test rax, rax
js 0x140008010
mov rax, qword [rsp + 0xe0]
cmp rax, qword [0x140207c90]
mov qword [rsp + 0xd8], 0
je 0x1400080cd
mov byte [rax], 0
mov rcx, rdi
call sub.msvcrt.dll_fclose
mov rcx, qword [rsp + 0x50]
call fcn.1400222c0
test eax, eax
jns 0x140007d43
jmp 0x140007dd0
mov rcx, qword [rsp + 0xa8]
call fcn.14008c3e0
lea rcx, str.failed_to_write_new_configuration_file__s
mov rbx, rax
mov rax, qword [0x1402078f0]
mov edx, dword [rax]
test edx, edx
je 0x14000803c
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rbx
call fcn.1400a0b40
mov dword [rsp + 0x3c], 4
jmp 0x140007e38
mov rax, qword [0x1402078f0]
mov rbx, qword [rsp + 0x78]
lea rcx, str.refusing_to_work_with_overly_long_line_in__s_on_line__I64u
mov r8d, dword [rax]
test r8d, r8d
je 0x140008074
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
mov r8, rsi
mov rdx, rbx
call fcn.1400a0b40
jmp 0x140007e30
mov rcx, qword [rsp + 0xa8]
call fcn.14008c3e0
lea rcx, str.chmod_on__s_failed
mov rbx, rax
mov rax, qword [0x1402078f0]
mov r9d, dword [rax]
test r9d, r9d
je 0x140007e20
jmp 0x140007e18
call sub.libintl_8.dll_libintl_gettext
mov rcx, rax
jmp 0x140007de8
xor r8d, r8d
mov eax, 1
jmp 0x140007c20
mov rax, qword [0x140207c90]
cmp byte [rax], 0
je 0x140007ff1
call fcn.140005d50
call fcn.1401be670
nop
nop dword [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 0x140008140
mov rdx, rax
mov rcx, rsi
sub rdx, rsi
call fcn.1400a60d0
lea rdx, [rbx + 1]
mov rsi, rax
mov rcx, rax
call fcn.140006280
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.1400d2670
xor edx, edx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp fcn.140006280