Function at 0x1400066c0
Capabilities:
Check if file exists
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov qword [rsp + 0x68], 0xfffffffffffffffe
lea r15, [0x1400178c8]
mov qword [rsp + 0xd0], r15
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1400178c8], rax
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1400178d0], rax
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1400178d8], rax
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1400178e0], rax
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [0x1400178e8], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x30], rax
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
lea rdx, str.DataPath
or rbx, 0xffffffffffffffff
test rdx, 0xffffffffffff0000
jne 0x1400067e0
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140005fc0
test rax, rax
je 0x140006800
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.1400060f0
jmp 0x140006800
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0xe8]
call fcn.140006280
nop
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0xd8]
mov rcx, r15
call fcn.140007f50
nop
mov r8d, 0x1c
lea rdx, [rsp + 0xe0]
mov rcx, r15
call fcn.1400076a0
nop
mov rsi, qword [rsp + 0xd8]
xor edi, edi
lea r12d, [rdi + 1]
cmp word [rsi], di
je 0x1400068cd
movzx ecx, word [rsi]
call qword [0x1400121f0]
test eax, eax
je 0x14000685e
test rdi, rdi
jne 0x140006860
mov rdi, rsi
jmp 0x140006860
xor edi, edi
add rsi, 2
cmp word [rsi], 0
jne 0x140006847
test rdi, rdi
je 0x1400068cd
mov rax, qword [rsp + 0xd8]
sub rdi, rax
sar rdi, 1
mov edx, r12d
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x1400068a3
mov edx, edi
lea rcx, [rsp + 0xd8]
call fcn.140005e00
mov rax, qword [rsp + 0xd8]
test edi, edi
js 0x1400068c2
cmp edi, dword [rax - 0xc]
jg 0x1400068c2
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0xd8]
mov word [rax + rcx*2], 0
jmp 0x1400068cd
mov ecx, 0x80070057
call fcn.140005f70
int3
lea rcx, [rsp + 0xd8]
call fcn.140008c90
xor r11d, r11d
lea rdi, [0x1400128bc]
mov rax, qword [rsp + 0xd8]
mov rsi, rax
mov rcx, r12
repe cmpsw word [rsi], word [rdi]
je 0x1400068fe
sbb r11d, r11d
sbb r11d, 0xffffffff
test r11d, r11d
setne cl
test cl, cl
je 0x14000692e
lea rdx, [rsp + 0xd8]
mov rcx, r15
call fcn.1400073b0
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rax, qword [rsp + 0xd8]
xor edx, edx
lea rdi, [0x1400128bc]
mov rsi, rax
mov rcx, r12
repe cmpsw word [rsi], word [rdi]
je 0x140006947
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
sete cl
test cl, cl
jne 0x140006961
mov rcx, rax
call qword [0x140012390]
test eax, eax
jne 0x140006a5f
mov r8d, 0x1c
lea rdx, [rsp + 0x60]
mov rcx, r15
call fcn.1400076a0
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0xd8]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140006a3f
cmp dword [rsi + 0x10], 0
jl 0x140006a2d
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140006a2d
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x1400069c5
cmp rax, qword [rdi]
jne 0x1400069c5
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140006a05
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x1400069e1
call fcn.140005f60
int3
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rbp + 0x18]
call qword [0x1400121d0]
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006a1f
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rbp + 0x18]
mov qword [rsp + 0xd8], rax
jmp 0x140006a3f
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0xd8]
call fcn.140006280
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006a5f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [0x1400177b0]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x28]
call fcn.1400089c0
nop
mov rbp, qword [0x1400177b0]
movsxd r14, dword [rbp - 0x10]
mov rsi, rbp
mov rax, qword [rsp + 0xe0]
sub rsi, rax
sar rsi, 1
mov r13d, dword [rax - 0x10]
lea edi, [r13 + r14]
sub r12d, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, r12d
jge 0x140006ac3
mov edx, edi
lea rcx, [rsp + 0xe0]
call fcn.140005e00
mov rax, qword [rsp + 0xe0]
cmp rsi, r13
ja 0x140006acc
lea rbp, [rax + rsi*2]
mov rdx, r14
add rdx, rdx
lea rcx, [rax + r13*2]
mov r9, rdx
mov r8, rbp
call qword [0x1400121d0]
test edi, edi
js 0x1400071aa
mov rax, qword [rsp + 0xe0]
cmp edi, dword [rax - 0xc]
jg 0x1400071aa
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0xe0]
mov word [rax + rcx*2], 0
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140006b38
cmp rax, qword [rdi - 0x18]
jne 0x140006b38
lea rsi, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x140006b77
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x140006b54
call fcn.140005f60
int3
mov eax, dword [rdi - 0x10]
mov dword [rsi + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rdi
add rdx, rdx
lea rcx, [rsi + 0x18]
call qword [0x1400121d0]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.140008230
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x70], rdx
lea rcx, section..data
mov rax, qword [section..data]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x20], rax
lea rdx, str.Path
test rdx, 0xffffffffffff0000
jne 0x140006be4
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140005fc0
test rax, rax
je 0x140006c01
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.1400060f0
jmp 0x140006c01
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rcx, [rsp + 0x20]
call fcn.140006280
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x48]
mov rcx, r15
call fcn.140007d30
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [0x1400178c8]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140006cd7
cmp dword [rsi + 0x10], 0
jl 0x140006cca
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140006cca
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140006c63
cmp rax, qword [rdi]
jne 0x140006c63
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140006ca3
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x140006c7f
call fcn.140005f60
int3
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rbp + 0x18]
call qword [0x1400121d0]
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006cbd
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rbp + 0x18]
mov qword [0x1400178c8], rax
jmp 0x140006cd7
mov r8d, dword [rdx - 0x10]
mov rcx, r15
call fcn.140006280
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006cf7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x28]
lea rdi, [rdx - 0x18]
mov rsi, qword [0x1400178d0]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140006dbf
cmp dword [rsi + 0x10], 0
jl 0x140006daf
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140006daf
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140006d48
cmp rax, qword [rdi]
jne 0x140006d48
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140006d88
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x140006d64
call fcn.140005f60
int3
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rbp + 0x18]
call qword [0x1400121d0]
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006da2
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rbp + 0x18]
mov qword [0x1400178d0], rax
jmp 0x140006dbf
mov r8d, dword [rdx - 0x10]
lea rcx, [0x1400178d0]
call fcn.140006280
lea r8, [0x1400177b8]
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x38]
call fcn.1400089c0
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [0x1400178e8]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x140006ea0
cmp dword [rsi + 0x10], 0
jl 0x140006e8f
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x140006e8f
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140006e28
cmp rax, qword [rdi]
jne 0x140006e28
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x140006e68
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x140006e44
call fcn.140005f60
int3
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
lea r8, [rdi + 0x18]
add rdx, rdx
lea rcx, [rbp + 0x18]
call qword [0x1400121d0]
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006e82
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 8]
lea rax, [rbp + 0x18]
mov qword [0x1400178e8], rax
jmp 0x140006ea0
mov r8d, dword [rdx - 0x10]
lea rcx, [0x1400178e8]
call fcn.140006280
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140006ec0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, str.Data
mov rdx, r15
lea rcx, [rsp + 0x58]
call fcn.140008b20
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
invalid
invalid
invalid
cmc