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

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x268
mov qword [rsp + 0xf0], 0xfffffffffffffffe
mov rdi, r9
mov r13, r8
mov r15d, edx
mov rbx, rcx
mov r12d, 0x643
lea rcx, [rsp + 0x38]
call fcn.10001fee0
nop
lea rcx, [rsp + 0x100]
call fcn.10003cea0
nop
lea rcx, [rsp + 0x70]
call fcn.100044f88
nop
lea rcx, [rsp + 0x20]
call fcn.10001fee0
nop
xor ebp, ebp
mov dword [rsp + 0x2b0], ebp
mov dword [rsp + 0x50], ebp
lea rcx, [rsp + 0x28]
call fcn.10001fee0
nop
cmp rbx, rbp
je 0x1000392c8
cmp rdi, rbp
je 0x1000392c8
mov dword [rdi], ebp
mov ecx, 0x7fff
mov rax, rbx
cmp word [rax], bp
je 0x100038808
add rax, 2
sub rcx, 1
jne 0x1000387f9
cmp rcx, rbp
jne 0x100038858
lea rdx, [0x10000c0b0]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0xce
jmp 0x1000392ba
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.10001ff98
nop
xor r8d, r8d
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.1000349f8
mov esi, eax
cmp eax, ebp
je 0x1000388d1
mov r9, rbx
lea r8, [0x10000c100]
mov edx, eax
mov ecx, 3
call fcn.10003c494
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
jmp 0x1000392ba
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp eax, 0xffffffff
jne 0x1000388f0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x1000388f6
shr esi, 3
and esi, 2
cmp esi, ebp
je 0x100038945
mov r9, rbx
lea r8, [0x10000c148]
mov edx, esi
mov ecx, 3
call fcn.10003c494
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
jmp 0x1000392ba
test r15d, 0xffffffe0
je 0x100038999
lea rdx, [0x10000c178]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0x57
jmp 0x1000392ba
cmp r13, rbp
je 0x100038a4f
mov rcx, qword [r13]
cmp rcx, rbp
je 0x100038a04
cmp qword [r13 + 0x10], rbp
je 0x100038a04
cmp qword [r13 + 0x18], rbp
je 0x100038a04
cmp qword [r13 + 8], rbp
je 0x100038a04
lea rdi, [0x100005b10]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebp
je 0x100038a04
mov rdx, rdi
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebp
je 0x100038a04
mov rdx, rdi
mov rcx, qword [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebp
je 0x100038a04
mov rdx, rdi
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebp
jne 0x100038a4f
lea rdx, [0x10000c610]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0x57
jmp 0x1000392ba
call fcn.100033614
cmp eax, ebp
jne 0x100038aa3
lea rdx, [0x10000c520]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 5
jmp 0x1000392ba
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x58]
call fcn.10001ff10
nop
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.10003ba88
cmp eax, ebp
je 0x100038b8e
cmp eax, 0x34
jne 0x100038b55
test r15b, 1
je 0x100038b26
lea rdx, [0x10000c720]
lea ecx, [rax - 0x31]
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0x780
jmp 0x1000392ba
mov r9, qword [rsp + 0x28]
mov r8, rbx
lea rdx, [0x10000c280]
mov ecx, 1
call fcn.10003c3c0
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x38]
call fcn.10001ecdc
mov rbx, qword [rsp + 0x38]
jmp 0x100038b8e
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0x780
jmp 0x1000392ba
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x100]
call fcn.10003d47c
mov esi, eax
cmp eax, ebp
je 0x100038bf1
mov r9, rbx
lea r8, [0x10000be40]
mov edx, eax
mov ecx, 3
call fcn.10003c494
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
jmp 0x1000392ba
mov edi, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov eax, edi
mov rcx, qword [rsp + 0x108]
cmp rcx, rbp
cmovne eax, dword [rsp + 0x258]
cmp eax, 9
je 0x100039271
mov eax, edi
cmp rcx, rbp
cmovne eax, dword [rsp + 0x258]
cmp eax, 0xb
je 0x100039271
test r15b, 2
je 0x100038c3d
xor ecx, ecx
call fcn.10004e368
mov dword [rsp + 0x54], eax
jmp 0x100038c4b
mov ecx, 1
call fcn.10004e368
mov dword [rsp + 0x54], eax
mov ebx, r15d
and ebx, 4
mov dword [rsp + 0x58], ebx
mov r14d, r15d
and r14d, 1
mov ebp, 3
test r15b, 8
je 0x100038ccf
cmp qword [rsp + 0x108], 0
cmovne edi, dword [rsp + 0x258]
cmp edi, 6
jne 0x100038cc4
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0xb0]
call fcn.10001ff10
nop
mov rcx, rax
call fcn.10004f010
test eax, eax
je 0x100038ccf
cmp eax, 0x103
jne 0x100038cbc
test ebx, ebx
jne 0x100038ccf
mov r12d, eax
jmp 0x100039215
mov r12d, eax
jmp 0x100039103
mov r12d, 1
jmp 0x10003913e
test r15b, 0x10
mov r8d, 0
cmove r8d, ebp
test r14d, r14d
je 0x100038cfb
lea r9, [rsp + 0x70]
mov edx, 6
lea rcx, [rsp + 0x100]
call fcn.1000484c0
jmp 0x100038d12
lea r9, [rsp + 0x70]
mov edx, 4
lea rcx, [rsp + 0x100]
call fcn.1000484c0
test eax, eax
jne 0x100038d24
lea r15d, [rax + 1]
mov dword [rsp + 0x2b0], r15d
jmp 0x100038d37
cmp eax, 0xb7
jne 0x100039100
mov r15d, dword [rsp + 0x2b0]
mov esi, 0x57
test r13, r13
je 0x100038eb9
lea rax, [rsp + 0x68]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x68]
call fcn.10001ff98
mov rdi, rax
mov rdx, qword [r13 + 0x18]
lea rcx, [rsp + 0x48]
call fcn.10001ff98
mov rbx, rax
mov rdx, qword [r13 + 0x10]
lea rcx, [rsp + 0x30]
call fcn.10001ff98
nop
mov r9, rdi
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.100046c7c
test eax, eax
jne 0x100038dbf
lea rdx, [0x10000c7f0]
mov ecx, ebp
call fcn.10003c3c0
lea rcx, [rsp + 0xc0]
call fcn.100019218
nop
lea rax, [rsp + 0xc0]
test rax, rax
jne 0x100038de4
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x100038dfb
lea r8, [rsp + 0xc0]
mov edx, 9
lea rcx, [rsp + 0x70]
call fcn.10004584c
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x30]
call fcn.10001ff98
nop
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.100036084
test eax, eax
je 0x100038e32
mov dword [rsp + 0x50], 1
jmp 0x100038ea7
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xa8], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x30]
call fcn.10001ff98
mov rbx, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.10001ff98
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.10004665c
test eax, eax
jne 0x100038ea7
mov r9, qword [rsp + 0x20]
mov r8, qword [r13]
lea rdx, [0x10000c880]
mov ecx, ebp
call fcn.10003c3c0
nop
lea rcx, [rsp + 0xc0]
call fcn.10001f53c
jmp 0x10003913e
lea rcx, [rsp + 0xc0]
call fcn.10001f53c
jmp 0x100038f3c
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0xb8], rax
lea rdx, [0x10000c920]
lea rcx, [rsp + 0x30]
call fcn.10001ff98
mov rdi, rax
lea rdx, [0x10000c950]
lea rcx, [rsp + 0x48]
call fcn.10001ff98
mov rbx, rax
lea rdx, [0x10000c980]
lea rcx, [rsp + 0x68]
call fcn.10001ff98
nop
mov r9, rdi
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.100046c7c
test eax, eax
jne 0x100038f3c
lea rdx, [0x10000c7f0]
mov ecx, ebp
call fcn.10003c3c0
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x70]
call fcn.10004545c
test eax, eax
jne 0x100038f62
lea rdx, [0x10000c9a0]
mov ecx, ebp
call fcn.10003c3c0
jmp 0x100039133
mov eax, dword [rsp + 0x40]
test eax, eax
jle 0x1000390ea
cmp eax, 4
jle 0x1000390ce
cmp eax, 5
je 0x1000390b2
cmp eax, 6
je 0x10003903a
cmp eax, 6
jle 0x1000390ea
cmp eax, 8
jle 0x100039009
cmp eax, 9
je 0x1000390b2
cmp eax, 0xa
je 0x100038fdd
cmp eax, 0xb
jne 0x1000390ea
test r15d, r15d
jne 0x100038fc0
test r14d, r14d
jne 0x100038fc0
xor r12d, r12d
jmp 0x100039215
mov r8, qword [rsp + 0x2c8]
mov edx, r14d
lea rcx, [rsp + 0x70]
call fcn.10005d194
mov r12d, eax
jmp 0x100039103
test r15d, r15d
jne 0x100038fef
test r14d, r14d
jne 0x100038fef
xor r12d, r12d
jmp 0x100039215
mov rdx, qword [rsp + 0x2c8]
lea rcx, [rsp + 0x70]
call fcn.100055f70
mov r12d, eax
jmp 0x100039103
test r15d, r15d
jne 0x10003901b
test r14d, r14d
jne 0x10003901b
xor r12d, r12d
jmp 0x100039215
mov r9, qword [rsp + 0x2c8]
mov r8d, r14d
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.10006162c
mov r12d, eax
jmp 0x100039103
lea rax, [rsp + 0x20]
test rax, rax
jne 0x10003904e
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x100039066
lea r8, [rsp + 0x20]
mov edx, 2
lea rcx, [rsp + 0x70]
call fcn.1000454bc
test eax, eax
jne 0x100039079
lea rdx, [0x10000ca00]
mov ecx, ebp
call fcn.10003c3c0
jmp 0x100039133
mov r9d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x20]
lea rdx, [0x10000ca50]
mov ecx, 1
call fcn.10003c3c0
mov r9, qword [rsp + 0x2c8]
mov r8d, r14d
mov edx, dword [rsp + 0x58]
lea rcx, [rsp + 0x20]
call fcn.10003b6d8
mov r12d, eax
jmp 0x100039103
mov r9, qword [rsp + 0x2c8]
mov r8d, r14d
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.10005c944
mov r12d, eax
jmp 0x100039103
mov r9, qword [rsp + 0x2c8]
mov r8d, r14d
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.100055b9c
mov r12d, eax
jmp 0x100039103
mov r8d, eax
lea rdx, [0x10000caa0]
mov ecx, 1
call fcn.10003c3c0
jmp 0x100039133
mov r12d, eax
test r12d, r12d
je 0x100039215
cmp r12d, 0x103
je 0x100039215
cmp r12d, 0xe000020b
je 0x100039215
cmp r12d, 0xe0000301
je 0x100039215
cmp dword [rsp + 0x50], 0
jne 0x1000391c1
test r13, r13
je 0x1000391c1
lea rax, [rsp + 0x30]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0xa8], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x30]
call fcn.10001ff98
mov rbx, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.10001ff98
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.10004691c
test eax, eax
jne 0x1000391a7
mov r9, qword [rsp + 0x20]
mov r8, qword [r13]
lea rdx, [0x10000cb40]
mov ecx, ebp
call fcn.10003c3c0
jmp 0x1000391c1
mov r9, qword [rsp + 0x20]
mov r8, qword [r13]
lea rdx, [0x10000cbd0]
mov ecx, 1
call fcn.10003c3c0
cmp dword [rsp + 0x2b0], 0
je 0x100039226
cmp dword [rsp + 0x40], 6
jne 0x1000391dc
lea rcx, [rsp + 0x20]
call fcn.1000500f4
lea rcx, [rsp + 0x70]
call fcn.1000453ec
test eax, eax
jne 0x100039200
mov r8, qword [rsp + 0x20]
lea rdx, [0x10000cc70]
lea ecx, [rax + 1]
call fcn.10003c3c0
jmp 0x100039226
mov r8, qword [rsp + 0x20]
lea rdx, [0x10000ccc0]
mov ecx, ebp
call fcn.10003c3c0
jmp 0x100039226
mov r8d, r12d
lea rdx, [0x10000caf0]
xor ecx, ecx
call fcn.10003c3c0
mov ecx, dword [rsp + 0x54]
call fcn.10004e368
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
lea rcx, [rsp + 0x38]
call fcn.10001fba0
mov eax, r12d
jmp 0x100039318
mov r8, rbx
lea rdx, [0x10000c790]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
mov esi, 0xd
lea rcx, [rsp + 0x38]
call fcn.10001fba0
mov eax, esi
jmp 0x100039318
lea rdx, [0x10000bdc0]
mov ecx, 3
call fcn.10003c3c0
nop
lea rcx, [rsp + 0x28]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x20]
call fcn.10001fba0
nop
lea rcx, [rsp + 0x70]
call fcn.10004504c
nop
lea rcx, [rsp + 0x100]
call fcn.10003d21c
nop
lea rcx, [rsp + 0x38]
call fcn.10001fba0
mov eax, 0x57
add rsp, 0x268
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret