Function at 0x100035584
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.10001e06c
nop
lea rcx, [rsp + 0x38]
call fcn.10001e06c
nop
lea rcx, [rsp + 0x40]
call fcn.10001e06c
nop
lea rcx, [rsp + 0x20]
call fcn.10001e06c
nop
lea rcx, [rsp + 0x90]
call fcn.10003845c
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 0x100035fd1
cmp r12, r14
je 0x100035fd1
mov dword [r12], r14d
mov ecx, 0x7fff
mov rax, rdi
lea edx, [r14 + 1]
cmp word [rax], r14w
je 0x100035642
add rax, 2
sub rcx, rdx
jne 0x100035633
cmp rcx, r14
jne 0x100035692
lea rdx, [0x10000bc50]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
mov ebx, 0xce
jmp 0x100035a2c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.10001e134
nop
xor r8d, r8d
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.10003171c
mov ebx, eax
cmp eax, r14d
je 0x10003570c
mov r9, rdi
lea r8, [0x10000bca0]
mov edx, eax
mov ecx, 3
call fcn.100037ee8
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
jmp 0x100035a2c
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x10003572b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x100035731
shr ebx, 3
and ebx, 2
cmp ebx, r14d
je 0x100035781
mov r9, rdi
lea r8, [0x10000bce8]
mov edx, ebx
mov ecx, 3
call fcn.100037ee8
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
jmp 0x100035a2c
test esi, 0xffffffe0
je 0x1000357d4
lea rdx, [0x10000bd18]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
mov ebx, 0x57
jmp 0x100035a2c
cmp r13, r14
je 0x10003588e
mov rcx, qword [r13]
cmp rcx, r14
je 0x100035843
cmp qword [r13 + 0x10], r14
je 0x100035843
cmp qword [r13 + 0x18], r14
je 0x100035843
cmp qword [r13 + 8], r14
je 0x100035843
lea rbx, [0x100008b20]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100035843
mov rdx, rbx
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100035843
mov rdx, rbx
mov rcx, qword [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
je 0x100035843
mov rdx, rbx
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, r14d
jne 0x10003588e
lea rdx, [0x10000c260]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
mov ebx, 0x57
jmp 0x100035a2c
call fcn.1000305b8
cmp eax, r14d
jne 0x1000358e3
lea rdx, [0x10000bd40]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
mov ebx, 5
jmp 0x100035a2c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x90]
call fcn.1000386e0
mov ebx, eax
cmp eax, r14d
je 0x100035947
mov r9, rdi
lea r8, [0x10000b9e0]
mov edx, eax
mov ecx, 3
call fcn.100037ee8
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
jmp 0x100035a2c
mov ebx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
cmp qword [rsp + 0x98], r14
cmovne ebx, dword [rsp + 0x1e8]
lea rcx, [rsp + 0x90]
call fcn.1000385e0
cmp ebx, 6
je 0x1000359b1
mov r9, r12
mov r8, r13
mov edx, esi
mov rcx, rdi
call fcn.100034b40
mov ebx, eax
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
jmp 0x100035a2c
test sil, 0x10
je 0x1000359c8
lea rdx, [0x10000c7c0]
mov ecx, 2
call fcn.100037e18
mov r15d, esi
and r15d, 4
mov r14d, esi
and r14d, 1
je 0x100035a3d
lea rcx, [rsp + 0x30]
call fcn.1000326d4
test eax, eax
je 0x100035a3d
lea rdx, [0x10000c370]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
mov ebx, 0xd
lea rcx, [rsp + 0x30]
call fcn.10001f3ec
mov eax, ebx
jmp 0x100036021
test sil, 2
je 0x100035a50
xor ecx, ecx
call fcn.100045390
mov dword [rsp + 0x70], eax
jmp 0x100035a5e
mov ecx, 1
call fcn.100045390
mov dword [rsp + 0x70], eax
mov ebx, 0x103
mov r12d, 3
test sil, 8
je 0x100035b79
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.10001e09c
nop
mov rcx, rax
call fcn.100045e1c
test eax, eax
je 0x100035b79
cmp eax, ebx
jne 0x100035b6d
test r15d, r15d
jne 0x100035b79
test r13, r13
je 0x100035b66
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.10001e09c
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1000459a0
test eax, eax
jne 0x100035f8a
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.10001e134
mov rdi, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x50]
call fcn.10001e134
mov rbx, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.10001e09c
nop
lea r9, [rsp + 0x58]
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.10003fe1c
mov ebp, eax
test eax, eax
jne 0x100035b5c
mov ebp, 0x103
jmp 0x100035f8a
mov rbx, qword [rsp + 0x20]
jmp 0x100035de1
mov ebp, ebx
jmp 0x100035f8a
mov ebp, eax
mov rbx, qword [rsp + 0x20]
jmp 0x100035dd9
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x230]
call fcn.10001e09c
nop
lea rdx, [rsp + 0x20]
mov rcx, rax
call fcn.1000459a0
test eax, eax
jne 0x100035bc8
test r14d, r14d
je 0x100035bba
lea ebx, [rax + 0x10]
lea esi, [rax + 2]
lea ecx, [rax + 1]
jmp 0x100035bd9
mov esi, r12d
mov ebx, dword [rsp + 0x50]
mov ecx, 1
jmp 0x100035bd9
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 0x100035bf4
cmp esi, ecx
je 0x100035bf4
mov rbx, qword [rsp + 0x20]
jmp 0x100035c7b
lea rcx, [rsp + 0x30]
call fcn.1000326d4
test eax, eax
je 0x100035c1b
lea rdx, [0x10000c8a0]
mov ecx, r12d
call fcn.100037e18
mov ebp, 0x780
jmp 0x100035f8a
lea rax, [rsp + 0x28]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x28]
call fcn.10001e09c
nop
lea r8, [rsp + 0x20]
mov edx, ebx
mov rcx, rax
call fcn.100045a30
mov ebp, eax
test eax, eax
jne 0x100035d77
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.100037b84
mov ebp, eax
test eax, eax
jne 0x100035d29
mov eax, dword [rsp + 0x230]
lea ecx, [rbp + 1]
cmp esi, ecx
cmove eax, ecx
mov dword [rsp + 0x230], eax
test r13, r13
je 0x100035cf0
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.10001e134
mov rbp, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.10001e134
mov rsi, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.10001e09c
nop
lea r9, [rsp + 0x58]
mov r8, rbp
mov rdx, rsi
mov rcx, rax
call fcn.10003fe1c
mov ebp, eax
test eax, eax
jne 0x100035de1
mov eax, 1
mov dword [rsp + 0x68], eax
mov r8, rdi
lea rdx, [0x10000c940]
mov ecx, eax
call fcn.100037e18
mov r9, qword [rsp + 0x248]
mov r8d, r14d
mov edx, r15d
lea rcx, [rsp + 0x20]
call fcn.100037144
mov ebp, eax
jmp 0x100035dd9
mov r9, rbx
lea r8, [0x10000bf70]
mov edx, eax
mov ecx, r12d
call fcn.100037ee8
lea r11, [rsp + 0x28]
mov qword [rsp + 0x60], r11
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.10001e09c
nop
mov rcx, rax
call fcn.100045b78
test eax, eax
je 0x100035dd9
mov r8, rbx
lea rdx, [0x10000bfc0]
mov ecx, r12d
call fcn.100037e18
jmp 0x100035dd9
mov edx, 0x800b0110
cmp eax, edx
jne 0x100035d94
lea r8, [0x10000c020]
mov ecx, r12d
call fcn.100037ee8
jmp 0x100035f8a
mov edx, 0x800b0100
cmp eax, edx
jne 0x100035db1
lea r8, [0x10000c080]
mov ecx, r12d
call fcn.100037ee8
jmp 0x100035f8a
cmp eax, 2
jne 0x100035dd4
mov ebp, 0xe0000303
mov r8, rdi
lea rdx, [0x10000c0e0]
mov ecx, r12d
call fcn.100037e18
mov rbx, qword [rsp + 0x20]
jmp 0x100035dd9
mov rbx, qword [rsp + 0x20]
test ebp, ebp
je 0x100035f8a
cmp ebp, 0x103
je 0x100035f8a
cmp ebp, 0xe000020b
je 0x100035f8a
cmp ebp, 0xe0000301
je 0x100035f8a
cmp dword [rsp + 0x68], 0
je 0x100035ec7
cmp dword [rsp + 0x58], 0
jne 0x100035ece
test r13, r13
je 0x100035ed5
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.10001e134
mov rsi, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x48]
call fcn.10001e134
mov rdi, rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.10001e09c
nop
lea r9, [rsp + 0x68]
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.100040110
test eax, eax
je 0x100035eab
mov r9, rbx
mov r8, qword [r13]
lea rdx, [0x10000c5e0]
mov ecx, r12d
call fcn.100037e18
mov edi, 1
jmp 0x100035eda
mov r9, rbx
mov r8, qword [r13]
lea rdx, [0x10000c670]
mov edi, 1
mov ecx, edi
call fcn.100037e18
jmp 0x100035eda
mov edi, 1
jmp 0x100035eda
mov edi, 1
jmp 0x100035eda
mov edi, 1
cmp dword [rsp + 0x230], 0
je 0x100035f8a
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x230]
call fcn.10001e09c
nop
mov rcx, rax
call fcn.100045b78
test eax, eax
je 0x100035f28
mov r8, rbx
lea rdx, [0x10000bfc0]
mov ecx, r12d
call fcn.100037e18
jmp 0x100035f39
mov r8, rbx
lea rdx, [0x10000c9a0]
mov ecx, edi
call fcn.100037e18
lea rax, [rsp + 0x230]
mov qword [rsp + 0x60], rax
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x230]
call fcn.10001e09c
nop
mov rcx, rax
call fcn.100040580
test eax, eax
je 0x100035f79
mov r8, rbx
lea rdx, [0x10000ca00]
mov ecx, r12d
call fcn.100037e18
jmp 0x100035f8a
mov r8, rbx
lea rdx, [0x10000ca80]
mov ecx, edi
call fcn.100037e18
mov ecx, dword [rsp + 0x70]
call fcn.100045390
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x30]
call fcn.10001f3ec
mov eax, ebp
jmp 0x100036021
lea rdx, [0x10000b960]
mov ecx, 3
call fcn.100037e18
nop
lea rcx, [rsp + 0x90]
call fcn.10003861c
nop
lea rcx, [rsp + 0x20]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x40]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x38]
call fcn.10001f3ec
nop
lea rcx, [rsp + 0x30]
call fcn.10001f3ec
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