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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov qword [rsp + 0x88], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r12, r9
mov r13, r8
mov esi, edx
mov rdi, rcx
mov ebp, 0x643
lea rcx, [rsp + 0x30]
call fcn.100020360
nop
lea rcx, [rsp + 0x38]
call fcn.100020360
nop
lea rcx, [rsp + 0x40]
call fcn.100020360
nop
lea rcx, [rsp + 0x20]
call fcn.100020360
nop
lea rcx, [rsp + 0x90]
call fcn.100055970
nop
xor r14d, r14d
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x50], r14d
mov dword [rsp + 0x230], r14d
mov dword [rsp + 0x68], r14d
cmp rdi, r14
je 0x10003a0d1
cmp r12, r14
je 0x10003a0d1
mov dword [r12], r14d
mov ecx, 0x7fff
mov rax, rdi
lea edx, [r14 + 1]
cmp word [rax], r14w
je 0x100039742
add rax, 2
sub rcx, rdx
jne 0x100039733
cmp rcx, r14
jne 0x100039792
lea rdx, [0x10000c3c0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
mov ebx, 0xce
jmp 0x100039b2c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.100020428
nop
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.100034be4
mov ebx, eax
cmp eax, r14d
je 0x10003980c
mov r9, rdi
lea r8, [0x10000c410]
mov edx, eax
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
jmp 0x100039b2c
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x10003982b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x100039831
shr ebx, 3
and ebx, 2
cmp ebx, r14d
je 0x100039881
mov r9, rdi
lea r8, [0x10000c458]
mov edx, ebx
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
jmp 0x100039b2c
test esi, 0xffffffe0
je 0x1000398d4
lea rdx, [0x10000c488]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
mov ebx, 0x57
jmp 0x100039b2c
cmp r13, r14
je 0x10003998e
mov rcx, qword [r13]
cmp rcx, r14
je 0x100039943
cmp qword [r13 + 0x10], r14
je 0x100039943
cmp qword [r13 + 0x18], r14
je 0x100039943
cmp qword [r13 + 8], r14
je 0x100039943
lea rbx, [0x100005b90]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100039943
mov rdx, rbx
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100039943
mov rdx, rbx
mov rcx, qword [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100039943
mov rdx, rbx
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
jne 0x10003998e
lea rdx, [0x10000c9d0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
mov ebx, 0x57
jmp 0x100039b2c
call fcn.1000338d4
cmp eax, r14d
jne 0x1000399e3
lea rdx, [0x10000c4b0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
mov ebx, 5
jmp 0x100039b2c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x90]
call fcn.100055f34
mov ebx, eax
cmp eax, r14d
je 0x100039a47
mov r9, rdi
lea r8, [0x10000c150]
mov edx, eax
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
jmp 0x100039b2c
mov ebx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmp qword [rsp + 0x98], r14
cmovne ebx, dword [rsp + 0x1e8]
lea rcx, [rsp + 0x90]
call fcn.100055c98
cmp ebx, 6
je 0x100039ab1
mov r9, r12
mov r8, r13
mov edx, esi
mov rcx, rdi
call fcn.100038b00
mov ebx, eax
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
jmp 0x100039b2c
test sil, 0x10
je 0x100039ac8
lea rdx, [0x10000cf30]
mov ecx, 2
call fcn.100054fd8
mov r15d, esi
and r15d, 4
mov r14d, esi
and r14d, 1
je 0x100039b3d
lea rcx, [rsp + 0x30]
call fcn.100035e20
test eax, eax
je 0x100039b3d
lea rdx, [0x10000cae0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
mov ebx, 0xd
lea rcx, [rsp + 0x30]
call fcn.10002006c
mov eax, ebx
jmp 0x10003a121
test sil, 2
je 0x100039b50
xor ecx, ecx
call fcn.1000634e0
mov dword [rsp + 0x70], eax
jmp 0x100039b5e
mov ecx, 1
call fcn.1000634e0
mov dword [rsp + 0x70], eax
mov ebx, 0x103
mov r12d, 3
test sil, 8
je 0x100039c79
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.100020390
nop
mov rcx, rax
call fcn.100050360
test eax, eax
je 0x100039c79
cmp eax, ebx
jne 0x100039c6d
test r15d, r15d
jne 0x100039c79
test r13, r13
je 0x100039c66
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.100020390
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.100063bf8
test eax, eax
jne 0x10003a08a
lea rax, [rsp + 0x48]
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x48]
call fcn.100020428
mov rdi, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x50]
call fcn.100020428
mov rbx, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.100020390
nop
lea r9, [rsp + 0x58]
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.10003f3e8
mov ebp, eax
test eax, eax
jne 0x100039c5c
mov ebp, 0x103
jmp 0x10003a08a
mov rbx, qword [rsp + 0x20]
jmp 0x100039ee1
mov ebp, ebx
jmp 0x10003a08a
mov ebp, eax
mov rbx, qword [rsp + 0x20]
jmp 0x100039ed9
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x230]
call fcn.100020390
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.100063bf8
test eax, eax
jne 0x100039cc8
test r14d, r14d
je 0x100039cba
lea ebx, [rax + 0x10]
lea esi, [rax + 2]
lea ecx, [rax + 1]
jmp 0x100039cd9
mov esi, r12d
mov ebx, dword [rsp + 0x50]
mov ecx, 1
jmp 0x100039cd9
xor esi, esi
cmp eax, 0x490
lea ecx, [rsi + 1]
cmove esi, ecx
mov ebx, dword [rsp + 0x50]
and dword [rsp + 0x230], 0
cmp esi, 2
je 0x100039cf4
cmp esi, ecx
je 0x100039cf4
mov rbx, qword [rsp + 0x20]
jmp 0x100039d7b
lea rcx, [rsp + 0x30]
call fcn.100035e20
test eax, eax
je 0x100039d1b
lea rdx, [0x10000d010]
mov ecx, r12d
call fcn.100054fd8
mov ebp, 0x780
jmp 0x10003a08a
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.100020390
nop
lea r8, [rsp + 0x20]
mov edx, ebx
mov rcx, rax
call fcn.100063ce8
mov ebp, eax
test eax, eax
jne 0x100039e77
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.10003c6a8
mov ebp, eax
test eax, eax
jne 0x100039e29
mov eax, dword [rsp + 0x230]
lea ecx, [rbp + 1]
cmp esi, ecx
cmove eax, ecx
mov dword [rsp + 0x230], eax
test r13, r13
je 0x100039df0
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x28]
call fcn.100020428
mov rbp, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.100020428
mov rsi, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.100020390
nop
lea r9, [rsp + 0x58]
mov r8, rbp
mov rdx, rsi
mov rcx, rax
call fcn.10003f3e8
mov ebp, eax
test eax, eax
jne 0x100039ee1
mov eax, 1
mov dword [rsp + 0x68], eax
mov r8, rdi
lea rdx, [0x10000d0b0]
mov ecx, eax
call fcn.100054fd8
mov r9, qword [rsp + 0x248]
mov r8d, r14d
mov edx, r15d
lea rcx, [rsp + 0x20]
call fcn.10003b888
mov ebp, eax
jmp 0x100039ed9
mov r9, rbx
lea r8, [0x10000c6e0]
mov edx, eax
mov ecx, r12d
call fcn.1000550a8
lea r11, [rsp + 0x28]
mov qword [rsp + 0x60], r11
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.100020390
nop
mov rcx, rax
call fcn.100063e58
test eax, eax
je 0x100039ed9
mov r8, rbx
lea rdx, [0x10000c730]
mov ecx, r12d
call fcn.100054fd8
jmp 0x100039ed9
mov edx, 0x800b0110
cmp eax, edx
jne 0x100039e94
lea r8, [0x10000c790]
mov ecx, r12d
call fcn.1000550a8
jmp 0x10003a08a
mov edx, 0x800b0100
cmp eax, edx
jne 0x100039eb1
lea r8, [0x10000c7f0]
mov ecx, r12d
call fcn.1000550a8
jmp 0x10003a08a
cmp eax, 2
jne 0x100039ed4
mov ebp, 0xe0000303
mov r8, rdi
lea rdx, [0x10000c850]
mov ecx, r12d
call fcn.100054fd8
mov rbx, qword [rsp + 0x20]
jmp 0x100039ed9
mov rbx, qword [rsp + 0x20]
test ebp, ebp
je 0x10003a08a
cmp ebp, 0x103
je 0x10003a08a
cmp ebp, 0xe000020b
je 0x10003a08a
cmp ebp, 0xe0000301
je 0x10003a08a
cmp dword [rsp + 0x68], 0
je 0x100039fc7
cmp dword [rsp + 0x58], 0
jne 0x100039fce
test r13, r13
je 0x100039fd5
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x80], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x28]
call fcn.100020428
mov rsi, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.100020428
mov rdi, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.100020390
nop
lea r9, [rsp + 0x68]
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.10003f918
test eax, eax
je 0x100039fab
mov r9, rbx
mov r8, qword [r13]
lea rdx, [0x10000cd50]
mov ecx, r12d
call fcn.100054fd8
mov edi, 1
jmp 0x100039fda
mov r9, rbx
mov r8, qword [r13]
lea rdx, [0x10000cde0]
mov edi, 1
mov ecx, edi
call fcn.100054fd8
jmp 0x100039fda
mov edi, 1
jmp 0x100039fda
mov edi, 1
jmp 0x100039fda
mov edi, 1
cmp dword [rsp + 0x230], 0
je 0x10003a08a
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x230]
call fcn.100020390
nop
mov rcx, rax
call fcn.100063e58
test eax, eax
je 0x10003a028
mov r8, rbx
lea rdx, [0x10000c730]
mov ecx, r12d
call fcn.100054fd8
jmp 0x10003a039
mov r8, rbx
lea rdx, [0x10000d110]
mov ecx, edi
call fcn.100054fd8
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x230]
call fcn.100020390
nop
mov rcx, rax
call fcn.1000400c8
test eax, eax
je 0x10003a079
mov r8, rbx
lea rdx, [0x10000d170]
mov ecx, r12d
call fcn.100054fd8
jmp 0x10003a08a
mov r8, rbx
lea rdx, [0x10000d1f0]
mov ecx, edi
call fcn.100054fd8
mov ecx, dword [rsp + 0x70]
call fcn.1000634e0
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
mov eax, ebp
jmp 0x10003a121
lea rdx, [0x10000c0d0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x90]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x40]
call fcn.10002006c
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
mov eax, 0x57
mov rbx, qword [rsp + 0x238]
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret