Function at 0x140059930
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, [0x1403de760]
mov qword [rbp + 0x10], rcx
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14005a875
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.14005aec0
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 0x14005a421
lea esi, [r14 - 1]
test edi, edi
je 0x140059aa0
lea rdx, [0x1403de7a7]
mov rcx, r13
call sub.msvcrt.dll_strcspn
add eax, edi
cmp eax, esi
jne 0x140059e10
movzx eax, word [rsp + 0x7e]
movzx edi, word [rsp + 0x7a]
cmp ax, di
je 0x140059a64
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.14005aec0
lea edx, [r14 + 0x3ff]
mov r14, rdx
test rdx, rdx
jne 0x140059e68
test r12, r12
je 0x140059e88
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 0x1400599e0
mov rcx, r12
mov edx, 0x400
call sub.msvcrt.dll_realloc
lea rdx, [0x1403de7a7]
mov rcx, rax
mov r12, rax
call sub.msvcrt.dll_strcspn
cmp esi, eax
je 0x140059a26
lea rdx, [0x1403de7ea]
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 0x140059ae8
mov byte [rsi], r13b
test r13b, r13b
je 0x140059b1c
movsx ecx, byte [rdi]
add rsi, 1
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140059ae8
mov byte [rsi], r13b
test r13b, r13b
jne 0x140059b00
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x140059e20
cmp qword [rsp + 0x68], 0
mov qword [rsp + 0x80], 0
je 0x140059ea0
mov qword [rsp + 0x80], r12
xor r13d, r13d
mov rcx, r12
xor esi, esi
cmp byte [rsp + 0x7d], 0x72
je 0x140059c03
call fcn.140100d20
mov rcx, qword [rsp + 0x80]
sub eax, 1
cdqe
add rax, rcx
movzx edi, byte [rax]
cmp dil, 0x5d
je 0x14005a313
mov r8d, 0xffffffff
lea rdx, [0x1403de86e]
call fcn.140100d60
cmp qword [rax], 0
mov r9, rax
je 0x140059e2b
mov rcx, qword [rsp + 0x68]
mov rdx, r9
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.1400fb2d0
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 0x140059e38
cmp qword [rsp + 0x68], 0
je 0x140059e38
mov rcx, qword [rsp + 0x68]
call fcn.1400fb440
movzx edi, byte [rsp + 0x7d]
test rax, rax
mov eax, 0x72
cmove edi, eax
mov byte [rsp + 0x7d], dil
test r15, r15
je 0x14005a380
mov rdx, qword [rsp + 0x60]
lea rcx, str._s:_s
mov r8, r15
call fcn.1400fb640
mov rcx, r15
mov rsi, rax
call sub.msvcrt.dll_free
movzx edx, byte [rsi]
mov rax, rsi
test dl, dl
je 0x140059c4d
nop dword [rax]
cmp dl, 0x2d
je 0x140059df0
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140059c38
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 0x140059f17
movzx eax, byte [rsp + 0x7d]
cmp al, 0x61
je 0x14005a347
cmp al, 0x72
je 0x14005a465
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 0x14005a713
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 0x140059cc0
mov ecx, edi
add eax, r11d
cmp r10d, 0xb
ja case.0x140059de7.0
lea r8, [0x1403de878]
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 0x140059c38
jmp 0x140059c4d
mov r14d, 0x400
jmp 0x140059ac7
add word [rsp + 0x7e], 1
jmp 0x1400599e0
mov rcx, r9
call sub.msvcrt.dll_free
mov byte [rsp + 0x7d], 0x72
add word [rsp + 0x7e], 1
test r15, r15
jne 0x140059f10
test rsi, rsi
je 0x140059f10
mov rcx, rsi
xor edi, edi
call sub.msvcrt.dll__strdup_1
mov r15, rax
jmp 0x1400599e0
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 0x1400599e0
movzx eax, word [rsp + 0x7e]
mov edi, esi
xor r14d, r14d
mov word [rsp + 0x7a], ax
jmp 0x1400599e0
cmp byte [r12], 0x5b
je 0x14005a39c
cmp qword [rsp + 0x60], 0
je 0x14005a6d9
mov edx, 0x3d
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x14005a490
mov rcx, r12
lea r8, [rsp + 0x80]
lea rdx, [0x1403de861]
xor r13d, r13d
call fcn.140037810
mov rcx, qword [rsp + 0x80]
mov rsi, rax
movzx eax, byte [rcx]
cmp al, 0x5b
jne 0x14005a3f3
add rcx, 1
mov qword [rsp + 0x80], rcx
jmp 0x140059b56
xor edi, edi
jmp 0x1400599e0
mov dword [rsp + 0x58], r11d
cmp r11d, 0xb
jbe 0x14005a6f9
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 0x140059f40
mov ecx, r15d
add eax, r11d
cmp r10d, 0xb
ja case.0x14005a06f.0
lea r8, [0x1403de8a8]
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 0x140059c6c
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 0x14005a1d8
mov r15, qword [r15 + 0x38]
test r15, r15
je 0x14005a3dc
add r15, rsi
cmp edi, dword [r15 + 0x4c]
jne 0x14005a1c8
cmp r12d, dword [r15 + 0x48]
jne 0x14005a1c8
mov rcx, qword [r15 + 0x40]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14005a1c8
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 0x14005a72d
cmp al, 0x72
jne 0x14005a764
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x20]
lea rdx, [r15 + 0x18]
test rcx, rcx
je 0x14005a7b0
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 0x14005a78b
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 0x14005a282
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 0x14005a77f
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x14005a2c0
mov rdx, qword [r15 + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x14005a2d1
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 0x14005a771
cmp al, 0x73
jne 0x14005a306
mov rcx, qword [r15 + 0x10]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
jmp 0x14005a46d
mov byte [rax], 0
mov r8d, 0xffffffff
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403de86e]
call fcn.140100d60
mov byte [rsp + 0x7d], 0x72
cmp qword [rax], 0
mov r9, rax
jne 0x140059ba2
jmp 0x140059bc6
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.1400fb2d0
mov r13, rax
test rdi, rdi
je 0x140059c81
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x68], 0
jmp 0x140059c81
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea rcx, str._s:_s
call fcn.1400fb640
mov rsi, rax
jmp 0x140059c2b
sub eax, 1
add rax, r12
cmp byte [rax], 0x5d
jne 0x140059eab
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005a3c0
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, [r12 + 1]
xor edi, edi
call fcn.1400fb5e0
add word [rsp + 0x7e], 1
mov qword [rsp + 0x60], rax
jmp 0x1400599e0
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
jmp 0x140059c6c
mov byte [rsp + 0x7d], 0x72
test al, al
je 0x140059c03
lea rdx, [0x1403de863]
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x14005a7e4
mov byte [rsp + 0x7d], 0x62
mov r13b, 1
jmp 0x140059c03
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x14005a436
mov rcx, r15
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14005a448
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.1401001b0
mov qword [rsp + 0x68], 0
add word [rsp + 0x7e], 1
xor r15d, r15d
xor edi, edi
jmp 0x1400599e0
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.14005aec0
mov word [rsp + 0x7e], si
mov qword [rsp + 0x68], 0
jmp 0x1400599e0
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 0x14005a8b6
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 0x14005a6a2
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 0x14005a6c8
mov r8, qword [r15 + 0x18]
mov esi, dword [r8 + 0x34]
test esi, esi
je 0x14005a985
nop dword [rax + rax]
movzx eax, byte [rsp + 0x7d]
mov qword [r15 + 0x10], r13
mov byte [r15], al
jmp 0x14005a480
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 0x14005a4ab
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x14005a054
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140059dcc
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.1400fb2d0
mov r13, rax
test rdi, rdi
je 0x14005a752
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x10]
call fcn.1401001b0
mov qword [rsp + 0x68], 0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14005a6c8
mov rcx, qword [r15 + 0x10]
call fcn.1401001b0
jmp 0x14005a306
mov rdx, qword [r15 + 0x38]
mov qword [rax], rdx
jmp 0x14005a2af
add rcx, qword [rax + 0x20]
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x14005a7db
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
jmp 0x14005a250
mov r9, qword [r15 + 0x28]
mov rax, qword [rbp + 0x18]
test r9, r9
je 0x14005a94a
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x14005a78b
mov qword [r8 + 8], r9
jmp 0x14005a25d
mov r8, qword [rax]
mov r9, qword [r15 + 0x28]
jmp 0x14005a7d2
mov rcx, qword [rsp + 0x80]
lea rdx, [0x1403de868]
call sub.msvcrt.dll__stricmp_1
mov byte [rsp + 0x7d], 0x62
test eax, eax
je 0x140059c03
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 0x14005ab03
cmp byte [rax], 0
jne 0x14005ab03
movabs rax, 0x7fffffffffffffff
add rax, r13
cmp rax, 0xfffffffffffffffd
ja 0x14005aaf0
mov byte [rsp + 0x7d], 0x64
jmp 0x140059c03
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.14005aec0
mov eax, 2
jmp 0x14005a454
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 0x14005aae6
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 [0x1403dec18]
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 0x14005aae6
mov qword [rdi + 8], r15
jmp 0x14005a650
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 0x14005a2e4
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 0x14005aae6
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 0x14005aa97
xor r10d, r10d
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x14005aa1f
jmp 0x14005aa8a
mov qword [r8 + 0x18], rdx
mov r8, qword [r15 + 0x18]
mov qword [rax], rdx
test rcx, rcx
je 0x14005aa86
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 0x14005aa66
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 0x14005aa66
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 0x14005aa08
mov qword [rax], rdx
mov r8, qword [r15 + 0x18]
test rcx, rcx
jne 0x14005aa18
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x14005a9ee
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 0x14005aac9
mov esi, dword [rax + 0x30]
add esi, 1
mov dword [rax + 0x30], esi
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x14005a6c8
mov dword [rax + 0x34], 1
jmp 0x14005a6c8
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
call rdi
mov rcx, qword [rsp + 0x80]
cmp dword [rax], 0x22
jne 0x14005a86b
call fcn.1400fb5e0
mov byte [rsp + 0x7d], 0x73
mov r13, rax
jmp 0x140059c03