Function at 0x140058b30
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, [0x1403e6cc0]
mov qword [rbp + 0x10], rcx
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140059a75
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.14005a0c0
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 0x140059621
lea esi, [r14 - 1]
test edi, edi
je 0x140058ca0
lea rdx, [0x1403e6d07]
mov rcx, r13
call sub.msvcrt.dll_strcspn
add eax, edi
cmp eax, esi
jne 0x140059010
movzx eax, word [rsp + 0x7e]
movzx edi, word [rsp + 0x7a]
cmp ax, di
je 0x140058c64
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.14005a0c0
lea edx, [r14 + 0x3ff]
mov r14, rdx
test rdx, rdx
jne 0x140059068
test r12, r12
je 0x140059088
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 0x140058be0
mov rcx, r12
mov edx, 0x400
call sub.msvcrt.dll_realloc
lea rdx, [0x1403e6d07]
mov rcx, rax
mov r12, rax
call sub.msvcrt.dll_strcspn
cmp esi, eax
je 0x140058c26
lea rdx, [0x1403e6d4a]
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 0x140058ce8
mov byte [rsi], r13b
test r13b, r13b
je 0x140058d1c
movsx ecx, byte [rdi]
add rsi, 1
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140058ce8
mov byte [rsi], r13b
test r13b, r13b
jne 0x140058d00
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x140059020
cmp qword [rsp + 0x68], 0
mov qword [rsp + 0x80], 0
je 0x1400590a0
mov qword [rsp + 0x80], r12
xor r13d, r13d
mov rcx, r12
xor esi, esi
cmp byte [rsp + 0x7d], 0x72
je 0x140058e03
call fcn.140107550
mov rcx, qword [rsp + 0x80]
sub eax, 1
cdqe
add rax, rcx
movzx edi, byte [rax]
cmp dil, 0x5d
je 0x140059513
mov r8d, 0xffffffff
lea rdx, [0x1403e6dce]
call fcn.140107590
cmp qword [rax], 0
mov r9, rax
je 0x14005902b
mov rcx, qword [rsp + 0x68]
mov rdx, r9
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.140101b20
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 0x140059038
cmp qword [rsp + 0x68], 0
je 0x140059038
mov rcx, qword [rsp + 0x68]
call fcn.140101c90
movzx edi, byte [rsp + 0x7d]
test rax, rax
mov eax, 0x72
cmove edi, eax
mov byte [rsp + 0x7d], dil
test r15, r15
je 0x140059580
mov rdx, qword [rsp + 0x60]
lea rcx, str._s:_s
mov r8, r15
call fcn.140101e90
mov rcx, r15
mov rsi, rax
call sub.msvcrt.dll_free
movzx edx, byte [rsi]
mov rax, rsi
test dl, dl
je 0x140058e4d
nop dword [rax]
cmp dl, 0x2d
je 0x140058ff0
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140058e38
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 0x140059117
movzx eax, byte [rsp + 0x7d]
cmp al, 0x61
je 0x140059547
cmp al, 0x72
je 0x140059665
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 0x140059913
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 0x140058ec0
mov ecx, edi
add eax, r11d
cmp r10d, 0xb
ja case.0x140058fe7.0
lea r8, [0x1403e6dd8]
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 0x140058e38
jmp 0x140058e4d
mov r14d, 0x400
jmp 0x140058cc7
add word [rsp + 0x7e], 1
jmp 0x140058be0
mov rcx, r9
call sub.msvcrt.dll_free
mov byte [rsp + 0x7d], 0x72
add word [rsp + 0x7e], 1
test r15, r15
jne 0x140059110
test rsi, rsi
je 0x140059110
mov rcx, rsi
xor edi, edi
call sub.msvcrt.dll__strdup_1
mov r15, rax
jmp 0x140058be0
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 0x140058be0
movzx eax, word [rsp + 0x7e]
mov edi, esi
xor r14d, r14d
mov word [rsp + 0x7a], ax
jmp 0x140058be0
cmp byte [r12], 0x5b
je 0x14005959c
cmp qword [rsp + 0x60], 0
je 0x1400598d9
mov edx, 0x3d
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140059690
mov rcx, r12
lea r8, [rsp + 0x80]
lea rdx, [0x1403e6dc1]
xor r13d, r13d
call fcn.140037770
mov rcx, qword [rsp + 0x80]
mov rsi, rax
movzx eax, byte [rcx]
cmp al, 0x5b
jne 0x1400595f3
add rcx, 1
mov qword [rsp + 0x80], rcx
jmp 0x140058d56
xor edi, edi
jmp 0x140058be0
mov dword [rsp + 0x58], r11d
cmp r11d, 0xb
jbe 0x1400598f9
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 0x140059140
mov ecx, r15d
add eax, r11d
cmp r10d, 0xb
ja case.0x14005926f.0
lea r8, [0x1403e6e08]
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 0x140058e6c
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 0x1400593d8
mov r15, qword [r15 + 0x38]
test r15, r15
je 0x1400595dc
add r15, rsi
cmp edi, dword [r15 + 0x4c]
jne 0x1400593c8
cmp r12d, dword [r15 + 0x48]
jne 0x1400593c8
mov rcx, qword [r15 + 0x40]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400593c8
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 0x14005992d
cmp al, 0x72
jne 0x140059964
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x20]
lea rdx, [r15 + 0x18]
test rcx, rcx
je 0x1400599b0
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 0x14005998b
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 0x140059482
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 0x14005997f
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x1400594c0
mov rdx, qword [r15 + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x1400594d1
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 0x140059971
cmp al, 0x73
jne 0x140059506
mov rcx, qword [r15 + 0x10]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
jmp 0x14005966d
mov byte [rax], 0
mov r8d, 0xffffffff
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403e6dce]
call fcn.140107590
mov byte [rsp + 0x7d], 0x72
cmp qword [rax], 0
mov r9, rax
jne 0x140058da2
jmp 0x140058dc6
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140101b20
mov r13, rax
test rdi, rdi
je 0x140058e81
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x68], 0
jmp 0x140058e81
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea rcx, str._s:_s
call fcn.140101e90
mov rsi, rax
jmp 0x140058e2b
sub eax, 1
add rax, r12
cmp byte [rax], 0x5d
jne 0x1400590ab
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400595c0
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, [r12 + 1]
xor edi, edi
call fcn.140101e30
add word [rsp + 0x7e], 1
mov qword [rsp + 0x60], rax
jmp 0x140058be0
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
jmp 0x140058e6c
mov byte [rsp + 0x7d], 0x72
test al, al
je 0x140058e03
lea rdx, [0x1403e6dc3]
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x1400599e4
mov byte [rsp + 0x7d], 0x62
mov r13b, 1
jmp 0x140058e03
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x140059636
mov rcx, r15
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140059648
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.1401069e0
mov qword [rsp + 0x68], 0
add word [rsp + 0x7e], 1
xor r15d, r15d
xor edi, edi
jmp 0x140058be0
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.14005a0c0
mov word [rsp + 0x7e], si
mov qword [rsp + 0x68], 0
jmp 0x140058be0
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 0x140059ab6
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 0x1400598a2
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 0x1400598c8
mov r8, qword [r15 + 0x18]
mov esi, dword [r8 + 0x34]
test esi, esi
je 0x140059b85
nop dword [rax + rax]
movzx eax, byte [rsp + 0x7d]
mov qword [r15 + 0x10], r13
mov byte [r15], al
jmp 0x140059680
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 0x1400596ab
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140059254
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140058fcc
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140101b20
mov r13, rax
test rdi, rdi
je 0x140059952
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x10]
call fcn.1401069e0
mov qword [rsp + 0x68], 0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1400598c8
mov rcx, qword [r15 + 0x10]
call fcn.1401069e0
jmp 0x140059506
mov rdx, qword [r15 + 0x38]
mov qword [rax], rdx
jmp 0x1400594af
add rcx, qword [rax + 0x20]
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x1400599db
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
jmp 0x140059450
mov r9, qword [r15 + 0x28]
mov rax, qword [rbp + 0x18]
test r9, r9
je 0x140059b4a
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x14005998b
mov qword [r8 + 8], r9
jmp 0x14005945d
mov r8, qword [rax]
mov r9, qword [r15 + 0x28]
jmp 0x1400599d2
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403e6dc8]
call sub.msvcrt.dll__stricmp_1
mov byte [rsp + 0x7d], 0x62
test eax, eax
je 0x140058e03
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.1400372c0
mov rcx, qword [rsp + 0x80]
mov r13, rax
mov rax, qword [rsp + 0x88]
cmp rax, rcx
je 0x140059d03
cmp byte [rax], 0
jne 0x140059d03
movabs rax, 0x7fffffffffffffff
add rax, r13
cmp rax, 0xfffffffffffffffd
ja 0x140059cf0
mov byte [rsp + 0x7d], 0x64
jmp 0x140058e03
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.14005a0c0
mov eax, 2
jmp 0x140059654
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 0x140059ce6
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 [0x1403e7178]
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 0x140059ce6
mov qword [rdi + 8], r15
jmp 0x140059850
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 0x1400594e4
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 0x140059ce6
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 0x140059c97
xor r10d, r10d
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140059c1f
jmp 0x140059c8a
mov qword [r8 + 0x18], rdx
mov r8, qword [r15 + 0x18]
mov qword [rax], rdx
test rcx, rcx
je 0x140059c86
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 0x140059c66
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 0x140059c66
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 0x140059c08
mov qword [rax], rdx
mov r8, qword [r15 + 0x18]
test rcx, rcx
jne 0x140059c18
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x140059bee
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 0x140059cc9
mov esi, dword [rax + 0x30]
add esi, 1
mov dword [rax + 0x30], esi
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x1400598c8
mov dword [rax + 0x34], 1
jmp 0x1400598c8
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
call rdi
mov rcx, qword [rsp + 0x80]
cmp dword [rax], 0x22
jne 0x140059a6b
call fcn.140101e30
mov byte [rsp + 0x7d], 0x73
mov r13, rax
jmp 0x140058e03