Function at 0x140176f30
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xb0
mov rax, qword [0x140425440]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rbp - 0x31], r9
mov rdi, r8
mov r13, rdx
mov rsi, rcx
mov qword [rbp - 0x29], rcx
mov qword [rbp - 0x21], rdx
mov dword [rbp - 0x6d], 0
mov rdx, qword [r8]
mov qword [rbp - 0x69], rdx
mov eax, dword [rdx - 0x10]
nop
test eax, 0x30000000
jne 0x140176f8c
lock inc dword [rdx - 0x10]
lea rax, [rbp - 0x69]
mov qword [rbp - 0x39], rax
mov rdx, r9
lea rcx, [rbp - 0x69]
call fcn.14017f700
mov rcx, qword [rax]
mov qword [rbp - 0x59], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x140176fb6
lock inc dword [rcx - 0x10]
mov dword [rbp - 0x6d], 8
mov rcx, qword [rbp - 0x69]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
mov r12, 0xffffffffffffffff
test eax, 0x30000000
jne 0x140176fea
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, r12d
jne 0x140176fea
call fcn.1400da0f0
nop
mov rbx, qword [rbp - 0x59]
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call fcn.140177e00
mov dword [rbp - 0x6d], 9
lea rcx, [rbx - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140177024
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140177024
call fcn.1400da0f0
mov rax, qword [r13]
cmp byte [rax], 0
je 0x140177603
mov rdx, r13
lea rcx, [rbp - 0x39]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
je 0x140177603
mov r14d, 1
mov rcx, qword [rdi]
mov qword [rbp - 0x51], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x14017706c
lock inc dword [rcx - 0x10]
mov rsi, qword [rbp - 0x51]
cmp byte [rsi], 0
je 0x1401770e3
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x51]
call fcn.14000e950
mov rdi, qword [rbp - 0x59]
mov rbx, r12
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140177090
add rbx, rdi
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp - 0x59]
call fcn.140166ef0
mov r8, qword [rbp - 0x59]
cmp r8, rdi
ja 0x1401770c4
lea rbx, [0x140379908]
mov qword [rbp - 0x69], rbx
mov rcx, rbx
jmp 0x1401770fe
cmp rsi, rdi
jb 0x1401770ce
cmp r8, rbx
jae 0x1401770e3
mov rdx, rdi
lea rcx, [rbp - 0x69]
call fcn.14016a630
mov rbx, qword [rbp - 0x69]
mov rcx, rbx
jmp 0x1401770fe
mov qword [rbp - 0x69], rsi
mov eax, dword [rsi - 0x10]
nop
test eax, 0x30000000
jne 0x1401770f6
lock inc dword [rsi - 0x10]
mov rcx, qword [rbp - 0x51]
mov rbx, qword [rbp - 0x69]
mov dword [rbp - 0x6d], SafeArrayCopy
cmp byte [rcx], 0
jne 0x14017710f
xor dil, dil
jmp 0x140177149
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x140177112
add rax, rcx
xor edx, edx
dec rax
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x140177135
inc edx
cmp edx, 4
jl 0x140177120
mov qword [rbp - 0x59], rax
lea rcx, [rbp - 0x59]
call fcn.14000e5c0
cmp eax, 0x29
sete dil
lea rcx, [rbx - 0x10]
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14017716a
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14017716a
call fcn.1400da0f0
test dil, dil
je 0x140177386
mov byte [rbp - 0x71], 1
mov edx, 0x28
lea rcx, [rbp - 0x51]
call fcn.140168d50
mov edi, eax
mov edx, 0x29
lea rcx, [rbp - 0x51]
call fcn.140168d50
mov r14d, eax
test edi, edi
jle 0x1401771d7
cmp eax, edi
jle 0x1401771d7
lea r15d, [rdi + 1]
mov r9d, eax
mov r8d, r15d
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x51]
call fcn.1401673a0
mov ebx, 0x1b
mov dword [rbp - 0x6d], ebx
lea rdx, str.0123456789
mov rcx, rax
call fcn.1401662f0
test al, al
je 0x1401771da
mov sil, 1
jmp 0x1401771e1
mov ebx, dword [rbp - 0x6d]
xor sil, sil
lea r15d, [rdi + 1]
test bl, 2
je 0x140177211
and ebx, 0xfffffffd
mov dword [rbp - 0x6d], ebx
mov rcx, qword [rbp - 0x59]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140177211
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140177211
call fcn.1400da0f0
test sil, sil
je 0x140177392
mov r9d, r14d
mov r8d, r15d
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x51]
call fcn.1401673a0
mov rcx, qword [rax]
call fcn.1400eff60
mov r14d, eax
mov rcx, qword [rbp - 0x59]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx]
nop
test edx, 0x30000000
jne 0x14017725e
mov edx, r12d
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x14017725e
call fcn.1400da0f0
mov r9d, edi
xor r8d, r8d
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x51]
call fcn.1401673a0
mov rdx, rax
mov rax, qword [rbp - 0x51]
mov rcx, qword [rdx]
mov qword [rbp - 0x51], rcx
mov qword [rdx], rax
mov rcx, qword [rbp - 0x59]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1401772a7
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1401772a7
call fcn.1400da0f0
mov cl, 1
mov rax, qword [rbp - 0x51]
lea r15, [rax - 0x10]
lea rdx, [rbp - 0x41]
mov qword [rbp - 0x19], rdx
nop dword [rax]
mov qword [rbp - 0x69], rax
mov eax, dword [r15]
nop
test eax, 0x30000000
jne 0x1401772d3
lock inc dword [r15]
test cl, cl
je 0x1401773a1
inc r14d
mov word [rbp - 0x49], 0x28
lea rcx, [rbp - 0x49]
mov rax, r12
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401772f0
test eax, eax
jle 0x140177337
mov rcx, qword [rbp - 0x51]
mov rbx, r12
inc rbx
cmp byte [rcx + rbx], 0
jne 0x140177304
movsxd rdi, eax
lea rdx, [rbx + rdi]
lea rcx, [rbp - 0x69]
call fcn.14016a9f0
movsxd rbx, ebx
add rbx, qword [rbp - 0x69]
mov r8, rdi
lea rdx, [rbp - 0x49]
mov rcx, rbx
call fcn.1402a26b0
mov byte [rbx + rdi], 0
mov edx, r14d
lea rcx, [rbp + 7]
call fcn.14016a2a0
lea r8, [rbp + 7]
mov rdx, rax
lea rcx, [rbp - 0x69]
call fcn.1401691c0
mov word [rbp - 0x61], 0x29
lea rcx, [rbp - 0x61]
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x140177360
lea r8, [rbp - 0x61]
add r8, rax
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x69]
call fcn.1401691c0
mov rbx, qword [rbp - 0x69]
jmp 0x1401774b9
movzx ecx, byte [rbp + 0x7f]
mov byte [rbp - 0x71], cl
jmp 0x1401772a9
mov r14d, 1
movzx ecx, r14b
jmp 0x1401772a9
mov rbx, qword [rbp - 0x51]
cmp byte [rbx], 0
jne 0x1401773ae
xor eax, eax
jmp 0x1401773f7
mov rax, rbx
xor edx, edx
movzx ecx, byte [rax]
inc rax
test cl, cl
jns 0x1401773e3
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
jne 0x1401773e7
nop dword [rax + rax]
inc rax
movzx ecx, byte [rax]
and cl, 0xc0
cmp cl, 0x80
je 0x1401773d0
inc rdx
jmp 0x1401773b3
test ecx, ecx
je 0x1401773ec
inc rdx
jmp 0x1401773b3
dec edx
lea rcx, [rbp - 0x51]
call fcn.14000e780
movzx ecx, ax
call fcn.1400e9f54
test eax, eax
je 0x140177458
mov word [rbp - 0x45], 0x5f
lea rcx, [rbp - 0x45]
mov rax, r12
inc rax
cmp byte [rcx + rax], 0
jne 0x140177410
test eax, eax
jle 0x140177458
mov rdi, r12
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140177420
movsxd rsi, eax
lea rdx, [rdi + rsi]
lea rcx, [rbp - 0x69]
call fcn.14016a9f0
movsxd rdi, edi
mov rbx, qword [rbp - 0x69]
add rdi, rbx
mov r8, rsi
lea rdx, [rbp - 0x45]
mov rcx, rdi
call fcn.1402a26b0
mov byte [rdi + rsi], 0
jmp 0x14017745c
mov rbx, qword [rbp - 0x69]
inc r14d
mov dword [rbp - 0x41], r14d
mov edx, r14d
lea rcx, [rbp + 0x17]
call fcn.14016a2a0
mov r14, rax
lea rcx, [rbp + 0x17]
sub ecx, eax
test ecx, ecx
jle 0x1401774b5
mov rdi, r12
nop
inc rdi
cmp byte [rbx + rdi], 0
jne 0x140177480
movsxd rsi, ecx
lea rdx, [rdi + rsi]
lea rcx, [rbp - 0x69]
call fcn.14016a9f0
movsxd rdi, edi
mov rbx, qword [rbp - 0x69]
add rdi, rbx
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.1402a26b0
mov byte [rdi + rsi], 0
mov r14d, dword [rbp - 0x41]
mov qword [rbp - 0x41], rbx
mov eax, dword [rbx - 0x10]
nop
test eax, 0x30000000
jne 0x1401774cc
lock inc dword [rbx - 0x10]
mov rdx, qword [rbp - 0x31]
lea rcx, [rbp - 0x41]
call fcn.14017f700
mov rcx, qword [rax]
mov qword [rbp - 0x59], rcx
mov eax, dword [rcx - 0x10]
nop
test eax, 0x30000000
jne 0x1401774ef
lock inc dword [rcx - 0x10]
or dword [rbp - 0x6d], 4
mov rcx, qword [rbp - 0x41]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140177519
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140177519
call fcn.1400da0f0
nop
mov r8, qword [rbp - 0x59]
lea rdx, [rbp - 0x39]
mov rcx, qword [rbp - 0x29]
call fcn.140177e00
mov rdx, rax
mov rax, qword [r13]
mov rcx, qword [rdx]
mov qword [r13], rcx
mov qword [rdx], rax
mov rcx, qword [rbp - 0x39]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140177561
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140177561
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x59]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x140177587
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x140177587
call fcn.1400da0f0
nop
mov rcx, qword [rbp - 0x69]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x1401775ac
mov eax, r12d
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x1401775ac
call fcn.1400da0f0
mov rax, qword [r13]
cmp byte [rax], 0
je 0x1401775dd
mov rdx, r13
lea rcx, [rbp - 0x11]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
je 0x1401775dd
mov rax, qword [rbp - 0x51]
movzx ecx, byte [rbp - 0x71]
jmp 0x1401772c0
mov rcx, qword [rbp - 0x51]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx]
nop
test edx, 0x30000000
jne 0x140177603
lock xadd dword [rcx], r12d
dec r12d
cmp r12d, 0xffffffff
jne 0x140177603
call fcn.1400da0f0
mov rax, r13
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400d9d70
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret