Function at 0x140051b50
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, [0x140219880]
mov qword [rbp + 0x10], rcx
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140052a95
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.140052d40
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 0x140052641
lea esi, [r14 - 1]
test edi, edi
je 0x140051cc0
lea rdx, [0x1402198c7]
mov rcx, r13
call sub.msvcrt.dll_strcspn
add eax, edi
cmp eax, esi
jne 0x140052030
movzx eax, word [rsp + 0x7e]
movzx edi, word [rsp + 0x7a]
cmp ax, di
je 0x140051c84
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.140052d40
lea edx, [r14 + 0x3ff]
mov r14, rdx
test rdx, rdx
jne 0x140052088
test r12, r12
je 0x1400520a8
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 0x140051c00
mov rcx, r12
mov edx, 0x400
call sub.msvcrt.dll_realloc
lea rdx, [0x1402198c7]
mov rcx, rax
mov r12, rax
call sub.msvcrt.dll_strcspn
cmp esi, eax
je 0x140051c46
lea rdx, [0x14021990a]
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 0x140051d08
mov byte [rsi], r13b
test r13b, r13b
je 0x140051d3c
movsx ecx, byte [rdi]
add rsi, 1
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140051d08
mov byte [rsi], r13b
test r13b, r13b
jne 0x140051d20
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x140052040
cmp qword [rsp + 0x68], 0
mov qword [rsp + 0x80], 0
je 0x1400520c0
mov qword [rsp + 0x80], r12
xor r13d, r13d
mov rcx, r12
xor esi, esi
cmp byte [rsp + 0x7d], 0x72
je 0x140051e23
call fcn.140068930
mov rcx, qword [rsp + 0x80]
sub eax, 1
cdqe
add rax, rcx
movzx edi, byte [rax]
cmp dil, 0x5d
je 0x140052533
mov r8d, 0xffffffff
lea rdx, [0x14021998e]
call fcn.140068970
cmp qword [rax], 0
mov r9, rax
je 0x14005204b
mov rcx, qword [rsp + 0x68]
mov rdx, r9
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.140067e10
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 0x140052058
cmp qword [rsp + 0x68], 0
je 0x140052058
mov rcx, qword [rsp + 0x68]
call fcn.140067f80
movzx edi, byte [rsp + 0x7d]
test rax, rax
mov eax, 0x72
cmove edi, eax
mov byte [rsp + 0x7d], dil
test r15, r15
je 0x1400525a0
mov rdx, qword [rsp + 0x60]
lea rcx, str._s:_s
mov r8, r15
call fcn.140068020
mov rcx, r15
mov rsi, rax
call sub.msvcrt.dll_free
movzx edx, byte [rsi]
mov rax, rsi
test dl, dl
je 0x140051e6d
nop dword [rax]
cmp dl, 0x2d
je 0x140052010
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140051e58
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 0x140052137
movzx eax, byte [rsp + 0x7d]
cmp al, 0x61
je 0x140052567
cmp al, 0x72
je 0x140052685
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 0x140052933
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 0x140051ee0
mov ecx, edi
add eax, r11d
cmp r10d, 0xb
ja case.0x140052007.0
lea r8, [0x140219998]
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 0x140051e58
jmp 0x140051e6d
mov r14d, 0x400
jmp 0x140051ce7
add word [rsp + 0x7e], 1
jmp 0x140051c00
mov rcx, r9
call sub.msvcrt.dll_free
mov byte [rsp + 0x7d], 0x72
add word [rsp + 0x7e], 1
test r15, r15
jne 0x140052130
test rsi, rsi
je 0x140052130
mov rcx, rsi
xor edi, edi
call sub.msvcrt.dll__strdup_1
mov r15, rax
jmp 0x140051c00
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 0x140051c00
movzx eax, word [rsp + 0x7e]
mov edi, esi
xor r14d, r14d
mov word [rsp + 0x7a], ax
jmp 0x140051c00
cmp byte [r12], 0x5b
je 0x1400525bc
cmp qword [rsp + 0x60], 0
je 0x1400528f9
mov edx, 0x3d
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1400526b0
mov rcx, r12
lea r8, [rsp + 0x80]
lea rdx, [0x140219981]
xor r13d, r13d
call fcn.140036c50
mov rcx, qword [rsp + 0x80]
mov rsi, rax
movzx eax, byte [rcx]
cmp al, 0x5b
jne 0x140052613
add rcx, 1
mov qword [rsp + 0x80], rcx
jmp 0x140051d76
xor edi, edi
jmp 0x140051c00
mov dword [rsp + 0x58], r11d
cmp r11d, 0xb
jbe 0x140052919
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 0x140052160
mov ecx, r15d
add eax, r11d
cmp r10d, 0xb
ja case.0x14005228f.0
lea r8, [0x1402199c8]
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 0x140051e8c
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 0x1400523f8
mov r15, qword [r15 + 0x38]
test r15, r15
je 0x1400525fc
add r15, rsi
cmp edi, dword [r15 + 0x4c]
jne 0x1400523e8
cmp r12d, dword [r15 + 0x48]
jne 0x1400523e8
mov rcx, qword [r15 + 0x40]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400523e8
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 0x14005294d
cmp al, 0x72
jne 0x140052984
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x20]
lea rdx, [r15 + 0x18]
test rcx, rcx
je 0x1400529d0
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 0x1400529ab
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 0x1400524a2
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 0x14005299f
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x1400524e0
mov rdx, qword [r15 + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x1400524f1
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 0x140052991
cmp al, 0x73
jne 0x140052526
mov rcx, qword [r15 + 0x10]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
jmp 0x14005268d
mov byte [rax], 0
mov r8d, 0xffffffff
mov rcx, qword [rsp + 0x80]
lea rdx, [0x14021998e]
call fcn.140068970
mov byte [rsp + 0x7d], 0x72
cmp qword [rax], 0
mov r9, rax
jne 0x140051dc2
jmp 0x140051de6
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140067e10
mov r13, rax
test rdi, rdi
je 0x140051ea1
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x68], 0
jmp 0x140051ea1
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea rcx, str._s:_s
call fcn.140068020
mov rsi, rax
jmp 0x140051e4b
sub eax, 1
add rax, r12
cmp byte [rax], 0x5d
jne 0x1400520cb
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400525e0
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, [r12 + 1]
xor edi, edi
call fcn.140067fc0
add word [rsp + 0x7e], 1
mov qword [rsp + 0x60], rax
jmp 0x140051c00
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
jmp 0x140051e8c
mov byte [rsp + 0x7d], 0x72
test al, al
je 0x140051e23
lea rdx, str.true
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x140052a04
mov byte [rsp + 0x7d], 0x62
mov r13b, 1
jmp 0x140051e23
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x140052656
mov rcx, r15
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140052668
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.140068070
mov qword [rsp + 0x68], 0
add word [rsp + 0x7e], 1
xor r15d, r15d
xor edi, edi
jmp 0x140051c00
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.140052d40
mov word [rsp + 0x7e], si
mov qword [rsp + 0x68], 0
jmp 0x140051c00
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 0x140052ad6
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 0x1400528c2
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 0x1400528e8
mov r8, qword [r15 + 0x18]
mov esi, dword [r8 + 0x34]
test esi, esi
je 0x140052ba5
nop dword [rax + rax]
movzx eax, byte [rsp + 0x7d]
mov qword [r15 + 0x10], r13
mov byte [r15], al
jmp 0x1400526a0
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 0x1400526cb
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140052274
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140051fec
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140067e10
mov r13, rax
test rdi, rdi
je 0x140052972
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x10]
call fcn.140068070
mov qword [rsp + 0x68], 0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1400528e8
mov rcx, qword [r15 + 0x10]
call fcn.140068070
jmp 0x140052526
mov rdx, qword [r15 + 0x38]
mov qword [rax], rdx
jmp 0x1400524cf
add rcx, qword [rax + 0x20]
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x1400529fb
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
jmp 0x140052470
mov r9, qword [r15 + 0x28]
mov rax, qword [rbp + 0x18]
test r9, r9
je 0x140052b6a
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x1400529ab
mov qword [r8 + 8], r9
jmp 0x14005247d
mov r8, qword [rax]
mov r9, qword [r15 + 0x28]
jmp 0x1400529f2
mov rcx, qword [rsp + 0x80]
lea rdx, str.false
call sub.msvcrt.dll__stricmp_1
mov byte [rsp + 0x7d], 0x62
test eax, eax
je 0x140051e23
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.1400367a0
mov rcx, qword [rsp + 0x80]
mov r13, rax
mov rax, qword [rsp + 0x88]
cmp rax, rcx
je 0x140052d23
cmp byte [rax], 0
jne 0x140052d23
movabs rax, 0x7fffffffffffffff
add rax, r13
cmp rax, 0xfffffffffffffffd
ja 0x140052d10
mov byte [rsp + 0x7d], 0x64
jmp 0x140051e23
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.140052d40
mov eax, 2
jmp 0x140052674
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 0x140052d06
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 [0x140219d38]
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 0x140052d06
mov qword [rdi + 8], r15
jmp 0x140052870
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 0x140052504
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 0x140052d06
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 0x140052cb7
xor r10d, r10d
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140052c3f
jmp 0x140052caa
mov qword [r8 + 0x18], rdx
mov r8, qword [r15 + 0x18]
mov qword [rax], rdx
test rcx, rcx
je 0x140052ca6
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 0x140052c86
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 0x140052c86
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 0x140052c28
mov qword [rax], rdx
mov r8, qword [r15 + 0x18]
test rcx, rcx
jne 0x140052c38
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x140052c0e
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 0x140052ce9
mov esi, dword [rax + 0x30]
add esi, 1
mov dword [rax + 0x30], esi
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x1400528e8
mov dword [rax + 0x34], 1
jmp 0x1400528e8
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
call rdi
mov rcx, qword [rsp + 0x80]
cmp dword [rax], 0x22
jne 0x140052a8b
call fcn.140067fc0
mov byte [rsp + 0x7d], 0x73
mov r13, rax
jmp 0x140051e23