Function at 0x140051ab0
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, [0x14021a800]
mov qword [rbp + 0x10], rcx
call sub.msvcrt.dll_fopen
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400529f5
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.140052ca0
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 0x1400525a1
lea esi, [r14 - 1]
test edi, edi
je 0x140051c20
lea rdx, [0x14021a847]
mov rcx, r13
call sub.msvcrt.dll_strcspn
add eax, edi
cmp eax, esi
jne 0x140051f90
movzx eax, word [rsp + 0x7e]
movzx edi, word [rsp + 0x7a]
cmp ax, di
je 0x140051be4
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.140052ca0
lea edx, [r14 + 0x3ff]
mov r14, rdx
test rdx, rdx
jne 0x140051fe8
test r12, r12
je 0x140052008
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 0x140051b60
mov rcx, r12
mov edx, 0x400
call sub.msvcrt.dll_realloc
lea rdx, [0x14021a847]
mov rcx, rax
mov r12, rax
call sub.msvcrt.dll_strcspn
cmp esi, eax
je 0x140051ba6
lea rdx, [0x14021a88a]
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 0x140051c68
mov byte [rsi], r13b
test r13b, r13b
je 0x140051c9c
movsx ecx, byte [rdi]
add rsi, 1
add rdi, 1
mov r13d, ecx
call rbx
test eax, eax
jne 0x140051c68
mov byte [rsi], r13b
test r13b, r13b
jne 0x140051c80
mov rcx, r12
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x140051fa0
cmp qword [rsp + 0x68], 0
mov qword [rsp + 0x80], 0
je 0x140052020
mov qword [rsp + 0x80], r12
xor r13d, r13d
mov rcx, r12
xor esi, esi
cmp byte [rsp + 0x7d], 0x72
je 0x140051d83
call fcn.140068890
mov rcx, qword [rsp + 0x80]
sub eax, 1
cdqe
add rax, rcx
movzx edi, byte [rax]
cmp dil, 0x5d
je 0x140052493
mov r8d, 0xffffffff
lea rdx, [0x14021a90e]
call fcn.1400688d0
cmp qword [rax], 0
mov r9, rax
je 0x140051fab
mov rcx, qword [rsp + 0x68]
mov rdx, r9
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.140067d70
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 0x140051fb8
cmp qword [rsp + 0x68], 0
je 0x140051fb8
mov rcx, qword [rsp + 0x68]
call fcn.140067ee0
movzx edi, byte [rsp + 0x7d]
test rax, rax
mov eax, 0x72
cmove edi, eax
mov byte [rsp + 0x7d], dil
test r15, r15
je 0x140052500
mov rdx, qword [rsp + 0x60]
lea rcx, str._s:_s
mov r8, r15
call fcn.140067f80
mov rcx, r15
mov rsi, rax
call sub.msvcrt.dll_free
movzx edx, byte [rsi]
mov rax, rsi
test dl, dl
je 0x140051dcd
nop dword [rax]
cmp dl, 0x2d
je 0x140051f70
movzx edx, byte [rax + 1]
add rax, 1
test dl, dl
jne 0x140051db8
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 0x140052097
movzx eax, byte [rsp + 0x7d]
cmp al, 0x61
je 0x1400524c7
cmp al, 0x72
je 0x1400525e5
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 0x140052893
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 0x140051e40
mov ecx, edi
add eax, r11d
cmp r10d, 0xb
ja case.0x140051f67.0
lea r8, [0x14021a918]
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 0x140051db8
jmp 0x140051dcd
mov r14d, 0x400
jmp 0x140051c47
add word [rsp + 0x7e], 1
jmp 0x140051b60
mov rcx, r9
call sub.msvcrt.dll_free
mov byte [rsp + 0x7d], 0x72
add word [rsp + 0x7e], 1
test r15, r15
jne 0x140052090
test rsi, rsi
je 0x140052090
mov rcx, rsi
xor edi, edi
call sub.msvcrt.dll__strdup_1
mov r15, rax
jmp 0x140051b60
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 0x140051b60
movzx eax, word [rsp + 0x7e]
mov edi, esi
xor r14d, r14d
mov word [rsp + 0x7a], ax
jmp 0x140051b60
cmp byte [r12], 0x5b
je 0x14005251c
cmp qword [rsp + 0x60], 0
je 0x140052859
mov edx, 0x3d
mov rcx, r12
call sub.msvcrt.dll_strchr
test rax, rax
je 0x140052610
mov rcx, r12
lea r8, [rsp + 0x80]
lea rdx, [0x14021a901]
xor r13d, r13d
call fcn.140036bb0
mov rcx, qword [rsp + 0x80]
mov rsi, rax
movzx eax, byte [rcx]
cmp al, 0x5b
jne 0x140052573
add rcx, 1
mov qword [rsp + 0x80], rcx
jmp 0x140051cd6
xor edi, edi
jmp 0x140051b60
mov dword [rsp + 0x58], r11d
cmp r11d, 0xb
jbe 0x140052879
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 0x1400520c0
mov ecx, r15d
add eax, r11d
cmp r10d, 0xb
ja case.0x1400521ef.0
lea r8, [0x14021a948]
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 0x140051dec
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 0x140052358
mov r15, qword [r15 + 0x38]
test r15, r15
je 0x14005255c
add r15, rsi
cmp edi, dword [r15 + 0x4c]
jne 0x140052348
cmp r12d, dword [r15 + 0x48]
jne 0x140052348
mov rcx, qword [r15 + 0x40]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140052348
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 0x1400528ad
cmp al, 0x72
jne 0x1400528e4
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x20]
lea rdx, [r15 + 0x18]
test rcx, rcx
je 0x140052930
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 0x14005290b
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 0x140052402
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 0x1400528ff
mov rax, qword [r15 + 0x30]
test rax, rax
je 0x140052440
mov rdx, qword [r15 + 0x38]
mov qword [rax + 0x20], rdx
mov rax, qword [r15 + 0x38]
test rax, rax
je 0x140052451
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 0x1400528f1
cmp al, 0x73
jne 0x140052486
mov rcx, qword [r15 + 0x10]
call sub.msvcrt.dll_free
mov rcx, r15
call sub.msvcrt.dll_free
jmp 0x1400525ed
mov byte [rax], 0
mov r8d, 0xffffffff
mov rcx, qword [rsp + 0x80]
lea rdx, [0x14021a90e]
call fcn.1400688d0
mov byte [rsp + 0x7d], 0x72
cmp qword [rax], 0
mov r9, rax
jne 0x140051d22
jmp 0x140051d46
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140067d70
mov r13, rax
test rdi, rdi
je 0x140051e01
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov qword [rsp + 0x68], 0
jmp 0x140051e01
mov rdx, qword [rsp + 0x60]
mov r8, rsi
lea rcx, str._s:_s
call fcn.140067f80
mov rsi, rax
jmp 0x140051dab
sub eax, 1
add rax, r12
cmp byte [rax], 0x5d
jne 0x14005202b
mov byte [rax], 0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140052540
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, [r12 + 1]
xor edi, edi
call fcn.140067f20
add word [rsp + 0x7e], 1
mov qword [rsp + 0x60], rax
jmp 0x140051b60
mov rsi, r13
mov r12, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
jmp 0x140051dec
mov byte [rsp + 0x7d], 0x72
test al, al
je 0x140051d83
lea rdx, str.true
call sub.msvcrt.dll__stricmp_1
test eax, eax
jne 0x140052964
mov byte [rsp + 0x7d], 0x62
mov r13b, 1
jmp 0x140051d83
mov rcx, r12
call sub.msvcrt.dll_free
test r15, r15
je 0x1400525b6
mov rcx, r15
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400525c8
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.140067fd0
mov qword [rsp + 0x68], 0
add word [rsp + 0x7e], 1
xor r15d, r15d
xor edi, edi
jmp 0x140051b60
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.140052ca0
mov word [rsp + 0x7e], si
mov qword [rsp + 0x68], 0
jmp 0x140051b60
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 0x140052a36
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 0x140052822
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 0x140052848
mov r8, qword [r15 + 0x18]
mov esi, dword [r8 + 0x34]
test esi, esi
je 0x140052b05
nop dword [rax + rax]
movzx eax, byte [rsp + 0x7d]
mov qword [r15 + 0x10], r13
mov byte [r15], al
jmp 0x140052600
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 0x14005262b
mov r10d, r11d
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x1400521d4
mov r10d, eax
mov r9, rsi
mov eax, 0xfeedbeef
mov edx, 0x9e3779b9
mov ecx, 0x9e3779b9
jmp 0x140051f4c
mov rdi, qword [rsp + 0x68]
mov rcx, r13
xor r8d, r8d
mov rdx, rdi
call fcn.140067d70
mov r13, rax
test rdi, rdi
je 0x1400528d2
mov rcx, qword [rsp + 0x68]
call sub.msvcrt.dll_free
mov rcx, qword [r15 + 0x10]
call fcn.140067fd0
mov qword [rsp + 0x68], 0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x140052848
mov rcx, qword [r15 + 0x10]
call fcn.140067fd0
jmp 0x140052486
mov rdx, qword [r15 + 0x38]
mov qword [rax], rdx
jmp 0x14005242f
add rcx, qword [rax + 0x20]
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rax, qword [rbp + 0x18]
test rcx, rcx
je 0x14005295b
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
jmp 0x1400523d0
mov r9, qword [r15 + 0x28]
mov rax, qword [rbp + 0x18]
test r9, r9
je 0x140052aca
mov r8, qword [rax]
mov rax, qword [r8 + 8]
mov rax, qword [rax + 0x18]
cmp rdx, qword [rax + 0x18]
je 0x14005290b
mov qword [r8 + 8], r9
jmp 0x1400523dd
mov r8, qword [rax]
mov r9, qword [r15 + 0x28]
jmp 0x140052952
mov rcx, qword [rsp + 0x80]
lea rdx, str.false
call sub.msvcrt.dll__stricmp_1
mov byte [rsp + 0x7d], 0x62
test eax, eax
je 0x140051d83
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.140036700
mov rcx, qword [rsp + 0x80]
mov r13, rax
mov rax, qword [rsp + 0x88]
cmp rax, rcx
je 0x140052c83
cmp byte [rax], 0
jne 0x140052c83
movabs rax, 0x7fffffffffffffff
add rax, r13
cmp rax, 0xfffffffffffffffd
ja 0x140052c70
mov byte [rsp + 0x7d], 0x64
jmp 0x140051d83
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.140052ca0
mov eax, 2
jmp 0x1400525d4
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 0x140052c66
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 [0x14021acb8]
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 0x140052c66
mov qword [rdi + 8], r15
jmp 0x1400527d0
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 0x140052464
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 0x140052c66
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 0x140052c17
xor r10d, r10d
mov edx, r10d
shl rdx, 4
add rdx, qword [r8]
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140052b9f
jmp 0x140052c0a
mov qword [r8 + 0x18], rdx
mov r8, qword [r15 + 0x18]
mov qword [rax], rdx
test rcx, rcx
je 0x140052c06
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 0x140052be6
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 0x140052be6
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 0x140052b88
mov qword [rax], rdx
mov r8, qword [r15 + 0x18]
test rcx, rcx
jne 0x140052b98
mov eax, dword [r8 + 8]
add r10d, 1
cmp r10d, eax
jb 0x140052b6e
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 0x140052c49
mov esi, dword [rax + 0x30]
add esi, 1
mov dword [rax + 0x30], esi
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0x30], 1
jbe 0x140052848
mov dword [rax + 0x34], 1
jmp 0x140052848
or ecx, 0xffffffff
call sub.msvcrt.dll_exit
nop
call rdi
mov rcx, qword [rsp + 0x80]
cmp dword [rax], 0x22
jne 0x1400529eb
call fcn.140067f20
mov byte [rsp + 0x7d], 0x73
mov r13, rax
jmp 0x140051d83