Function at 0x140058bc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x90
mov qword [rbp + 0x18], rdx
lea rdx, [0x1403e13c0]
mov qword [rbp + 0x10], rcx
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140059b05
mov rax, qword [rbp + 0x10]
xor r9d, r9d
lea r8, str.dap_config
xor edx, edx
xor ecx, ecx
xor r15d, r15d
xor edi, edi
mov r14d, 0x400
mov qword [rsp + 0x28], rax
lea rax, str.Opened_config__s
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov edx, 0x400
mov ecx, 1
call sub.msvcrt.dll_calloc
xor edx, edx
mov qword [rsp + 0x68], 0
mov rbx, qword [sym.imp.msvcrt.dll_isspace]
mov r12, rax
xor eax, eax
mov word [rsp + 0x7e], dx
mov word [rsp + 0x7a], ax
mov byte [rsp + 0x7d], 0
mov qword [rsp + 0x60], 0
nop dword [rax]
mov r13d, edi
mov r8, qword [rsp + 0x70]
mov edx, 0x400
add r13, r12
mov rcx, r13
call sub.msvcrt.dll_fgets
test rax, rax
je 0x1400596b1
lea esi, [r14 - 1]
test edi, edi
je 0x140058d30
lea rdx, [0x1403e1407]
mov rcx, r13
call sub.msvcrt.dll_strcspn
add eax, edi
cmp eax, esi
jne 0x1400590a0
movzx eax, word [rsp + 0x7e]
movzx edi, word [rsp + 0x7a]
cmp ax, di
je 0x140058cf4
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x10]
mov r9d, 5
xor edx, edx
lea r8, str.dap_config
xor ecx, ecx
mov qword [rsp + 0x28], rax
lea rax, str.Config___s_:_line__d_is_too_long__preserving_the_tail_...
mov qword [rsp + 0x20], rax
call fcn.14005a150
lea edx, [r14 + 0x3ff]
mov r14, rdx
test rdx, rdx
jne 0x1400590f8
test r12, r12
je 0x140059118
mov rcx, r12
mov edi, esi
xor r12d, r12d
xor r14d, r14d
call sub.msvcrt.dll_free
movzx eax, word [rsp + 0x7e]
mov word [rsp + 0x7a], ax
jmp 0x140058c70
mov rcx, r12
mov edx, 0x400
call sub.msvcrt.dll_realloc
lea rdx, [0x1403e1407]
mov rcx, rax
mov r12, rax
call sub.msvcrt.dll_strcspn
cmp esi, eax
je 0x140058cb6
lea rdx, [0x1403e144a]
mov rcx, r12
mov rdi, r12
mov rsi, r12
call sub.msvcrt.dll_strcspn
mov eax, eax
mov byte [r12 + rax], 0
nop dword [rax + rax]
movsx ecx, byte [rdi]
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140058d78
mov byte [rsi], r13b
test r13b, r13b
je 0x140058dac
movsx ecx, byte [rdi]
add rsi, 1
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140058d78
mov byte [rsi], r13b
test r13b, r13b
jne 0x140058d90
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x1400590b0
cmp qword [rsp + 0x68], 0
mov qword [rsp + 0x80], 0
je 0x140059130
mov qword [rsp + 0x80], r12
xor r13d, r13d
mov rcx, r12
xor esi, esi
cmp byte [rsp + 0x7d], 0x72
je 0x140058e93
call fcn.140101b60
mov rcx, qword [rsp + 0x80]
sub eax, 1
cdqe
add rax, rcx
movzx edi, byte [rax]
cmp dil, 0x5d
je 0x1400595a3
mov r8d, 0xffffffff
lea rdx, [0x1403e14ce]
call fcn.140101ba0
cmp qword [rax], 0
mov r9, rax
je 0x1400590bb
mov rcx, qword [rsp + 0x68]
mov rdx, r9
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.1400fc110
mov byte [rsp + 0x7d], 0x61
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x68], rax
mov rcx, r9
call sub.msvcrt.dll_free
cmp dil, 0x5d
jne 0x1400590c8
cmp qword [rsp + 0x68], 0
je 0x1400590c8
mov rcx, qword [rsp + 0x68]
call fcn.1400fc280
movzx edi, byte [rsp + 0x7d]
test rax, rax
mov eax, 0x72
cmove edi, eax
mov byte [rsp + 0x7d], dil
test r15, r15
je 0x140059610
mov rdx, qword [rsp + 0x60]
lea rcx, str._s:_s
mov r8, r15
call fcn.1400fc480
mov rcx, r15
mov rsi, rax
call sub.msvcrt.dll_free
movzx edx, byte [rsi]
mov rax, rsi
test dl, dl
je 0x140058edd
nop dword [rax]
cmp dl, 0x2d
je 0x140059080
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140058ec8
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov r11, rax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdi, qword [rax + 8]
test rdi, rdi
jne 0x1400591a7
movzx eax, byte [rsp + 0x7d]
cmp al, 0x61
je 0x1400595d7
cmp al, 0x72
je 0x1400596f5
mov edx, 0x50
mov ecx, 1
call sub.msvcrt.dll_calloc
mov rcx, rsi
mov qword [rax + 8], rsi
mov r15, rax
call sub.msvcrt.dll_strlen
mov r11, rax
cmp eax, 0xb
jbe 0x1400599a3
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov edi, 0x9e3779b9
movzx ecx, byte [r9 + 5]
movzx r8d, byte [r9 + 6]
shl ecx, 8
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 4]
add ecx, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 0xa]
add edx, ecx
movzx ecx, byte [r9 + 9]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9 + 8]
add ecx, r8d
movzx r8d, byte [r9 + 0xb]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
add eax, ecx
movzx ecx, byte [r9 + 1]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
mov r8d, eax
sub ecx, edx
shr r8d, 0xd
sub edx, eax
sub ecx, eax
lea ecx, [rcx + rdi]
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 8
xor edx, r8d
sub eax, edx
mov r8d, eax
mov eax, edx
shr eax, 0xd
xor eax, r8d
sub ecx, edx
sub r10d, 0xc
add r9, 0xc
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov edi, eax
sub ecx, eax
sub edx, eax
shr edi, 3
xor edi, ecx
mov ecx, edi
sub edx, edi
sub eax, edi
shl ecx, 0xa
xor edx, ecx
mov ecx, edx
sub eax, edx
shr ecx, 0xf
xor eax, ecx
cmp r10d, 0xb
ja 0x140058f50
mov ecx, edi
add eax, r11d
cmp r10d, 0xb
ja case.0x140059077.0
lea r8, [0x1403e14d8]
movsxd r10, dword [r8 + r10*4]
add r10, r8
jmp r10
mov byte [rax], 0x5f
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140058ec8
jmp 0x140058edd
mov r14d, 0x400
jmp 0x140058d57
add word [rsp + 0x7e], 1
jmp 0x140058c70
mov rcx, r9
call sub.msvcrt.dll_free
mov byte [rsp + 0x7d], 0x72
add word [rsp + 0x7e], 1
test r15, r15
jne 0x1400591a0
test rsi, rsi
je 0x1400591a0
mov rcx, rsi
xor edi, edi
call sub.msvcrt.dll__strdup_1
mov r15, rax
jmp 0x140058c70
mov rcx, r12
mov edi, esi
call sub.msvcrt.dll_realloc
mov r12, rax
movzx eax, word [rsp + 0x7e]
mov word [rsp + 0x7a], ax
jmp 0x140058c70
movzx eax, word [rsp + 0x7e]
mov edi, esi
xor r14d, r14d
mov word [rsp + 0x7a], ax
jmp 0x140058c70
cmp byte [r12], 0x5b
je 0x14005962c
cmp qword [rsp + 0x60], 0
je 0x140059969
mov edx, 0x3d
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140059720
mov rcx, r12
lea r8, [rsp + 0x80]
lea rdx, [0x1403e14c1]
xor r13d, r13d
call fcn.140037810
mov rcx, qword [rsp + 0x80]
mov rsi, rax
movzx eax, byte [rcx]
cmp al, 0x5b
jne 0x140059683
add rcx, 1
mov qword [rsp + 0x80], rcx
jmp 0x140058de6
xor edi, edi
jmp 0x140058c70
mov dword [rsp + 0x58], r11d
cmp r11d, 0xb
jbe 0x140059989
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov r15d, 0x9e3779b9
nop dword [rax]
movzx ecx, byte [r9 + 5]
movzx r8d, byte [r9 + 6]
shl ecx, 8
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 4]
add ecx, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 0xa]
add edx, ecx
movzx ecx, byte [r9 + 9]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9 + 8]
add ecx, r8d
movzx r8d, byte [r9 + 0xb]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
add eax, ecx
movzx ecx, byte [r9 + 1]
shl r8d, 0x10
shl ecx, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
mov r8d, eax
sub ecx, edx
shr r8d, 0xd
sub edx, eax
sub ecx, eax
lea ecx, [rcx + r15]
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 8
xor edx, r8d
sub eax, edx
mov r8d, eax
mov eax, edx
shr eax, 0xd
xor eax, r8d
sub ecx, edx
sub r10d, 0xc
add r9, 0xc
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov r15d, eax
sub ecx, eax
sub edx, eax
shr r15d, 3
xor r15d, ecx
mov ecx, r15d
sub edx, r15d
sub eax, r15d
shl ecx, 0xa
xor edx, ecx
mov ecx, edx
sub eax, edx
shr ecx, 0xf
xor eax, ecx
cmp r10d, 0xb
ja 0x1400591d0
mov ecx, r15d
add eax, r11d
cmp r10d, 0xb
ja case.0x1400592ff.0
lea r8, [0x1403e1508]
movsxd r10, dword [r8 + r10*4]
add r10, r8
jmp r10
movzx r8d, byte [r9 + 0xa]
shl r8d, 0x18
add eax, r8d
movzx r8d, byte [r9 + 9]
shl r8d, 0x10
add eax, r8d
movzx r8d, byte [r9 + 8]
shl r8d, 8
add eax, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add edx, r8d
movzx r8d, byte [r9 + 6]
shl r8d, 0x10
add edx, r8d
movzx r8d, byte [r9 + 5]
shl r8d, 8
add edx, r8d
movzx r8d, byte [r9 + 4]
add edx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 1]
shl r8d, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
lea r8d, [rdx + rax]
sub edx, eax
sub ecx, r8d
mov r8d, eax
shr r8d, 0xd
xor ecx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
shl r8d, 8
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 0xd
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
mov r8d, eax
sub ecx, eax
sub edx, eax
shr r8d, 3
xor ecx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
shl r8d, 0xa
xor edx, r8d
sub eax, edx
shr edx, 0xf
xor edx, eax
mov r9d, edx
mov rdx, qword [rdi + 0x18]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, r9d
shl rax, 4
add rax, qword [rdx]
mov r15, qword [rax]
test r15, r15
je 0x140058efc
mov rax, qword [rdx + 0x20]
mov r8d, r11d
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x4c], r14d
mov r12d, dword [rsp + 0x58]
mov r14, r8
mov rdi, rax
mov qword [rsp + 0x58], r13
sub r15, rax
mov r13, rsi
neg rdi
mov rsi, rdi
mov edi, r9d
jmp 0x140059468
mov r15, qword [r15 + 0x38]
test r15, r15
je 0x14005966c
add r15, rsi
cmp edi, dword [r15 + 0x4c]
jne 0x140059458
cmp r12d, dword [r15 + 0x48]
jne 0x140059458
mov rcx, qword [r15 + 0x40]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140059458
movzx eax, byte [rsp + 0x7d]
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
cmp al, 0x61
je 0x1400599bd
cmp al, 0x72
jne 0x1400599f4
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x20]
lea rdx, [r15 + 0x18]
test rcx, rcx
je 0x140059a40
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x140059a1b
mov r8, qword [r15 + 0x28]
mov rax, qword [rax + 0x20]
mov qword [rcx + rax + 0x10], r8
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x140059512
mov rsi, qword [rbp + 0x18]
mov r8, qword [r15 + 0x20]
mov rcx, qword [rsi]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x20]
mov qword [rax + rcx + 8], r8
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x18]
mov eax, dword [rcx + 8]
sub eax, 1
and eax, dword [r15 + 0x4c]
shl rax, 4
add rax, qword [rcx]
sub dword [rax + 8], 1
cmp rdx, qword [rax]
je 0x140059a0f
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x140059550
mov rdx, qword [r15 + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x140059561
mov rdx, qword [r15 + 0x30]
mov qword [rax + 0x18], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
sub dword [rax + 0x10], 1
mov rcx, qword [r15 + 8]
call sub.msvcrt.dll_free
movzx eax, byte [r15]
cmp al, 0x61
je 0x140059a01
cmp al, 0x73
jne 0x140059596
mov rcx, qword [r15 + 0x10]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
jmp 0x1400596fd
mov byte [rax], 0
mov r8d, 0xffffffff
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403e14ce]
call fcn.140101ba0
mov byte [rsp + 0x7d], 0x72
cmp qword [rax], 0
mov r9, rax
jne 0x140058e32
jmp 0x140058e56
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.1400fc110
mov r13, rax
test rdi, rdi
je 0x140058f11
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x68], 0
jmp 0x140058f11
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea rcx, str._s:_s
call fcn.1400fc480
mov rsi, rax
jmp 0x140058ebb
sub eax, 1
add rax, r12
cmp byte [rax], 0x5d
jne 0x14005913b
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140059650
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, [r12 + 1]
xor edi, edi
call fcn.1400fc420
add word [rsp + 0x7e], 1
mov qword [rsp + 0x60], rax
jmp 0x140058c70
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
jmp 0x140058efc
mov byte [rsp + 0x7d], 0x72
test al, al
je 0x140058e93
lea rdx, [0x1403e14c3]
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x140059a74
mov byte [rsp + 0x7d], 0x62
mov r13b, 1
jmp 0x140058e93
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x1400596c6
mov rcx, r15
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400596d8
mov rcx, rax
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_fclose
xor eax, eax
lea rsp, [rbp - 0x38]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x68]
call fcn.140100ff0
mov qword [rsp + 0x68], 0
add word [rsp + 0x7e], 1
xor r15d, r15d
xor edi, edi
jmp 0x140058c70
movzx eax, word [rsp + 0x7e]
mov dword [rsp + 0x30], eax
mov esi, eax
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, str.Config___s_:_unknown_pattern_on_line__d__dump_it
mov qword [rsp + 0x20], rax
mov r9d, 5
xor edx, edx
xor ecx, ecx
lea r8, str.dap_config
add esi, 1
xor edi, edi
call fcn.14005a150
mov word [rsp + 0x7e], si
mov qword [rsp + 0x68], 0
jmp 0x140058c70
movzx r8d, byte [r9 + 0xa]
shl r8d, 0x18
add eax, r8d
movzx r8d, byte [r9 + 9]
shl r8d, 0x10
add eax, r8d
movzx r8d, byte [r9 + 8]
shl r8d, 8
add eax, r8d
movzx r8d, byte [r9 + 7]
shl r8d, 0x18
add edx, r8d
movzx r8d, byte [r9 + 6]
shl r8d, 0x10
add edx, r8d
movzx r8d, byte [r9 + 5]
shl r8d, 8
add edx, r8d
movzx r8d, byte [r9 + 4]
add edx, r8d
movzx r8d, byte [r9 + 3]
shl r8d, 0x18
add ecx, r8d
movzx r8d, byte [r9 + 2]
shl r8d, 0x10
add ecx, r8d
movzx r8d, byte [r9 + 1]
shl r8d, 8
add ecx, r8d
movzx r8d, byte [r9]
add ecx, r8d
lea r8d, [rdx + rax]
sub edx, eax
mov qword [r15 + 0x40], rsi
sub ecx, r8d
mov r8d, eax
shr r8d, 0xd
xor ecx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
shl r8d, 8
xor edx, r8d
mov r8d, edx
sub eax, edx
sub ecx, edx
shr r8d, 0xd
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 0xc
xor ecx, r8d
sub edx, ecx
sub eax, ecx
mov r8d, edx
mov edx, ecx
shl edx, 0x10
xor edx, r8d
sub eax, edx
sub ecx, edx
mov r8d, eax
mov eax, edx
shr eax, 5
xor eax, r8d
sub ecx, eax
sub edx, eax
mov r8d, ecx
mov ecx, eax
shr ecx, 3
xor ecx, r8d
mov r8d, ecx
sub edx, ecx
sub eax, ecx
mov rcx, rsi
shl r8d, 0xa
xor edx, r8d
sub eax, edx
shr edx, 0xf
xor edx, eax
mov dword [r15 + 0x4c], edx
mov dword [rsp + 0x58], edx
call sub.msvcrt.dll_strlen
mov dword [r15 + 0x48], eax
mov rax, qword [rbp + 0x18]
mov rdi, qword [rax]
mov rax, qword [rdi + 8]
test rax, rax
je 0x140059b46
mov rax, qword [rax + 0x18]
mov qword [r15 + 0x28], 0
lea rsi, [r15 + 0x18]
mov qword [r15 + 0x18], rax
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x18]
sub rax, qword [rdx + 0x20]
mov qword [r15 + 0x20], rax
mov rax, qword [rdi + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x18]
mov qword [rax + 0x10], r15
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov qword [rax + 0x18], rsi
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
add dword [rax + 0x10], 1
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rax + 0x18]
mov eax, dword [rdx + 8]
sub eax, 1
and eax, dword [rsp + 0x58]
shl rax, 4
add rax, qword [rdx]
mov rdx, qword [rax]
add dword [rax + 8], 1
mov qword [r15 + 0x30], 0
mov qword [r15 + 0x38], rdx
mov rdx, qword [rax]
test rdx, rdx
je 0x140059932
mov qword [rdx + 0x18], rsi
mov edx, dword [rax + 0xc]
mov qword [rax], rsi
lea edx, [rdx + rdx*4 + 5]
add edx, edx
cmp dword [rax + 8], edx
jb 0x140059958
mov r8, qword [r15 + 0x18]
mov esi, dword [r8 + 0x34]
test esi, esi
je 0x140059c15
nop dword [rax + rax]
movzx eax, byte [rsp + 0x7d]
mov qword [r15 + 0x10], r13
mov byte [r15], al
jmp 0x140059710
movzx eax, word [rsp + 0x7e]
mov dword [rsp + 0x30], eax
mov esi, eax
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, str.Config___s_:_line__d_belongs_to_unknown_section._Dump_it
jmp 0x14005973b
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x1400592e4
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x14005905c
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.1400fc110
mov r13, rax
test rdi, rdi
je 0x1400599e2
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x10]
call fcn.140100ff0
mov qword [rsp + 0x68], 0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x140059958
mov rcx, qword [r15 + 0x10]
call fcn.140100ff0
jmp 0x140059596
mov rdx, qword [r15 + 0x38]
mov qword [rax], rdx
jmp 0x14005953f
add rcx, qword [rax + 0x20]
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x140059a6b
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
jmp 0x1400594e0
mov r9, qword [r15 + 0x28]
mov rax, qword [rbp + 0x18]
test r9, r9
je 0x140059bda
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x140059a1b
mov qword [r8 + 8], r9
jmp 0x1400594ed
mov r8, qword [rax]
mov r9, qword [r15 + 0x28]
jmp 0x140059a62
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403e14c8]
call sub.msvcrt.dll__stricmp_1
mov byte [rsp + 0x7d], 0x62
test eax, eax
je 0x140058e93
mov rdi, qword [sym.imp.msvcrt.dll__errno]
call rdi
lea rdx, [rsp + 0x88]
mov r8d, 0xa
mov dword [rax], 0
mov rcx, qword [rsp + 0x80]
call fcn.140037360
mov rcx, qword [rsp + 0x80]
mov r13, rax
mov rax, qword [rsp + 0x88]
cmp rax, rcx
je 0x140059d93
cmp byte [rax], 0
jne 0x140059d93
movabs rax, 0x7fffffffffffffff
add rax, r13
cmp rax, 0xfffffffffffffffd
ja 0x140059d80
mov byte [rsp + 0x7d], 0x64
jmp 0x140058e93
call qword [sym.imp.msvcrt.dll__errno]
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov eax, dword [rax]
lea r8, str.dap_config
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x28], rax
lea rax, str.Cant_open_config_file___s___error__d
mov qword [rsp + 0x20], rax
call fcn.14005a150
mov eax, 2
jmp 0x1400596e4
pxor xmm0, xmm0
mov ecx, 0x40
movups xmmword [r15 + 0x20], xmm0
call sub.msvcrt.dll_malloc
mov qword [r15 + 0x18], rax
mov r8, rax
test rax, rax
je 0x140059d76
lea rsi, [r15 + 0x18]
mov qword [rax + 0x10], 0
mov edx, 1
mov ecx, 0x200
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov qword [rax + 0x18], rsi
mov rax, qword [0x1403e1878]
mov qword [r8 + 0x20], 0x18
mov qword [r8 + 8], rax
mov qword [rsp + 0x50], r8
call sub.msvcrt.dll_calloc
mov r8, qword [rsp + 0x50]
mov qword [r8], rax
mov dword [r8 + 0x38], 0xa0111fe1
test rax, rax
je 0x140059d76
mov qword [rdi + 8], r15
jmp 0x1400598e0
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax]
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rcx, qword [rax + 0x18]
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rax + 8], 0
jmp 0x140059574
mov ecx, dword [r8 + 8]
mov edx, 1
mov qword [rsp + 0x58], r8
shl rcx, 5
call sub.msvcrt.dll_calloc
mov rdi, rax
test rax, rax
je 0x140059d76
mov r8, qword [rsp + 0x58]
mov edx, dword [r8 + 8]
mov eax, dword [r8 + 0x10]
mov ecx, dword [r8 + 0xc]
lea edx, [rdx + rdx - 1]
test edx, eax
setne dl
add ecx, 1
shr eax, cl
movzx edx, dl
add edx, eax
mov dword [r8 + 0x28], edx
mov rax, qword [r15 + 0x18]
mov dword [rax + 0x2c], 0
mov r8, qword [r15 + 0x18]
mov eax, dword [r8 + 8]
test eax, eax
je 0x140059d27
xor r10d, r10d
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140059caf
jmp 0x140059d1a
mov qword [r8 + 0x18], rdx
mov r8, qword [r15 + 0x18]
mov qword [rax], rdx
test rcx, rcx
je 0x140059d16
mov eax, dword [r8 + 8]
mov rdx, rcx
lea eax, [rax + rax - 1]
and eax, dword [rdx + 0x34]
mov rcx, qword [rdx + 0x20]
shl rax, 4
add rax, rdi
mov r11d, dword [rax + 8]
lea r9d, [r11 + 1]
mov dword [rax + 8], r9d
cmp r9d, dword [r8 + 0x28]
jbe 0x140059cf6
add dword [r8 + 0x2c], 1
mov r9, qword [r15 + 0x18]
mov r8d, dword [rax + 0xc]
mov r11d, dword [r9 + 0x28]
imul r11d, r8d
cmp dword [rax + 8], r11d
jbe 0x140059cf6
add r8d, 1
mov dword [rax + 0xc], r8d
mov qword [rdx + 0x18], 0
mov r8, qword [rax]
mov qword [rdx + 0x20], r8
test r8, r8
jne 0x140059c98
mov qword [rax], rdx
mov r8, qword [r15 + 0x18]
test rcx, rcx
jne 0x140059ca8
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x140059c7e
mov rcx, qword [r8]
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0x18]
shl dword [rax + 8], 1
mov rax, qword [r15 + 0x18]
add dword [rax + 0xc], 1
mov rax, qword [r15 + 0x18]
mov qword [rax], rdi
mov rax, qword [r15 + 0x18]
mov edx, dword [rax + 0x10]
shr edx, 1
cmp dword [rax + 0x2c], edx
jbe 0x140059d59
mov esi, dword [rax + 0x30]
add esi, 1
mov dword [rax + 0x30], esi
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x140059958
mov dword [rax + 0x34], 1
jmp 0x140059958
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
call rdi
mov rcx, qword [rsp + 0x80]
cmp dword [rax], 0x22
jne 0x140059afb
call fcn.1400fc420
mov byte [rsp + 0x7d], 0x73
mov r13, rax
jmp 0x140058e93