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

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x270
mov qword [rsp + 0x108], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov r14, r9
mov r13, r8
mov r15d, edx
mov rbx, rcx
mov r12d, 0x643
lea rcx, [rsp + 0x38]
call fcn.100020360
nop
lea rcx, [rsp + 0x110]
call fcn.100055970
nop
lea rcx, [rsp + 0x60]
call fcn.10003cdb4
nop
lea rcx, [rsp + 0x30]
call fcn.100020360
nop
xor edi, edi
mov dword [rsp + 0x2a0], edi
mov dword [rsp + 0x58], 1
lea rcx, [rsp + 0x28]
call fcn.100020360
nop
lea rcx, [rsp + 0x20]
call fcn.100020360
nop
cmp rbx, rdi
je 0x10003ad7c
cmp r14, rdi
je 0x10003ad7c
mov dword [r14], edi
mov ecx, 0x7fff
mov rax, rbx
cmp word [rax], di
je 0x10003a4bf
add rax, 2
sub rcx, 1
jne 0x10003a4b0
cmp rcx, rdi
jne 0x10003a51a
lea rdx, [0x10000c3c0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
mov esi, 0xce
jmp 0x10003a8a3
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.100020428
nop
xor r8d, r8d
lea rdx, [rsp + 0x38]
mov rcx, rax
call fcn.100034be4
mov esi, eax
cmp eax, edi
je 0x10003a59e
mov r9, rbx
lea r8, [0x10000c410]
mov edx, eax
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
jmp 0x10003a8a3
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov esi, eax
cmp eax, 0xffffffff
jne 0x10003a5bd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x10003a5c3
shr esi, 3
and esi, 2
cmp esi, edi
je 0x10003a61d
mov r9, rbx
lea r8, [0x10000c458]
mov edx, esi
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
jmp 0x10003a8a3
test r15d, 0xffffffd9
je 0x10003a67c
lea rdx, [0x10000c488]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
mov esi, 0x57
jmp 0x10003a8a3
cmp r13, rdi
je 0x10003a73d
mov rcx, qword [r13]
cmp rcx, rdi
je 0x10003a6e7
cmp qword [r13 + 0x10], rdi
je 0x10003a6e7
cmp qword [r13 + 0x18], rdi
je 0x10003a6e7
cmp qword [r13 + 8], rdi
je 0x10003a6e7
lea rsi, [0x100005b90]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, edi
je 0x10003a6e7
mov rdx, rsi
mov rcx, qword [r13 + 0x10]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, edi
je 0x10003a6e7
mov rdx, rsi
mov rcx, qword [r13 + 0x18]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, edi
je 0x10003a6e7
mov rdx, rsi
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, edi
jne 0x10003a73d
lea rdx, [0x10000c9d0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
mov esi, 0x57
jmp 0x10003a8a3
call fcn.1000338d4
cmp eax, edi
jne 0x10003a79c
lea rdx, [0x10000c8e0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
mov esi, 5
jmp 0x10003a8a3
lea rax, [rsp + 0x48]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.100020390
nop
lea rdx, [rsp + 0x28]
mov rcx, rax
call fcn.10003bc38
cmp eax, edi
je 0x10003a83a
cmp eax, 0x34
jne 0x10003a7f9
mov r9, qword [rsp + 0x28]
mov r8, rbx
lea rdx, [0x10000c590]
lea ecx, [rax - 0x33]
call fcn.100054fd8
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x38]
call fcn.10001f050
mov rbx, qword [rsp + 0x38]
jmp 0x10003a83a
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
mov esi, 0xe0000302
jmp 0x10003a8a3
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x110]
call fcn.100055f34
mov esi, eax
cmp eax, edi
je 0x10003a8b4
mov r9, rbx
lea r8, [0x10000c150]
mov edx, eax
mov ecx, 3
call fcn.1000550a8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
mov eax, esi
jmp 0x10003add7
test r15b, 2
je 0x10003a8c7
xor ecx, ecx
call fcn.1000634e0
mov dword [rsp + 0x48], eax
jmp 0x10003a8d5
mov ecx, 1
call fcn.1000634e0
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x60]
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [rsp + 0x110]
call fcn.10005d374
mov edi, eax
cmp eax, 0xb7
jne 0x10003ac30
lea rax, [rsp + 0x20]
test rax, rax
jne 0x10003a910
lea ecx, [rdi - 0x60]
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10003a928
lea r8, [rsp + 0x20]
mov edx, 2
lea rcx, [rsp + 0x60]
call fcn.10003d2d8
test eax, eax
jne 0x10003a941
mov r8, rbx
lea rdx, [0x10000d2d0]
mov ecx, 3
call fcn.100054fd8
jmp 0x10003ac93
mov edi, r15d
shr edi, 2
and edi, 1
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x60]
call fcn.10003d268
test eax, eax
jne 0x10003a977
mov r8, rbx
lea rdx, [0x10000d350]
lea ecx, [rax + 3]
call fcn.100054fd8
jmp 0x10003ac93
test edi, edi
jne 0x10003ab0a
lea rcx, [rsp + 0xa8]
call fcn.1000193b8
nop
lea rax, [rsp + 0xa8]
lea esi, [rdi + 0x57]
test rax, rax
jne 0x10003a9a7
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10003a9be
lea r8, [rsp + 0xa8]
mov edx, 9
lea rcx, [rsp + 0x60]
call fcn.10003d658
test r13, r13
je 0x10003aa6e
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x50]
call fcn.100020428
nop
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.10003636c
test eax, eax
jne 0x10003a9fa
and dword [rsp + 0x58], eax
jmp 0x10003aa6e
lea rax, [rsp + 0x50]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0xa0], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x50]
call fcn.100020428
mov rdi, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x40]
call fcn.100020428
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.10003e76c
test eax, eax
jne 0x10003aa6e
mov r8, qword [r13]
lea rdx, [0x10000d3c0]
lea ecx, [rax + 3]
call fcn.100054fd8
nop
lea rcx, [rsp + 0xa8]
call fcn.10001f994
jmp 0x10003ac93
lea rcx, [rsp + 0xd8]
call fcn.1000193b8
nop
lea rax, [rsp + 0xd8]
test rax, rax
jne 0x10003aa93
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10003aaaa
lea r8, [rsp + 0xd8]
mov edx, 9
lea rcx, [rsp + 0x60]
call fcn.10003d658
cmp qword [rsp + 0xe8], 0
je 0x10003aaef
mov r8, rbx
lea rdx, [0x10000d440]
mov ecx, 1
call fcn.100054fd8
mov r12d, 0xe0000300
lea rcx, [rsp + 0xd8]
call fcn.10001f994
nop
lea rcx, [rsp + 0xa8]
call fcn.10001f994
jmp 0x10003ad29
lea rcx, [rsp + 0xd8]
call fcn.10001f994
nop
lea rcx, [rsp + 0xa8]
call fcn.10001f994
mov r8, rbx
lea rdx, [0x10000d4d0]
mov ecx, 1
call fcn.100054fd8
mov edx, dword [rsp + 0x2a0]
cmp edx, 1
je 0x10003aba5
cmp edx, 2
je 0x10003aba5
cmp edx, 3
je 0x10003aba5
cmp edx, 4
je 0x10003aba5
mov esi, 5
cmp edx, esi
je 0x10003ab93
cmp edx, 9
je 0x10003ab93
cmp edx, 0xb
jne 0x10003ab5e
mov rdx, r14
lea rcx, [rsp + 0x60]
call fcn.10004bb8c
mov r12d, eax
jmp 0x10003abb5
cmp edx, 6
jne 0x10003ab77
mov r8, r14
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.100050bb0
mov r12d, eax
jmp 0x10003abb5
cmp edx, 7
je 0x10003ab81
cmp edx, 8
jne 0x10003abba
mov r8, r14
lea rcx, [rsp + 0x60]
call fcn.10004ff00
mov r12d, eax
jmp 0x10003abb5
mov r8, r14
lea rcx, [rsp + 0x60]
call fcn.10004b438
mov r12d, eax
jmp 0x10003abb5
mov r8, r14
lea rcx, [rsp + 0x60]
call fcn.100043818
mov r12d, eax
test r12d, r12d
je 0x10003abd3
mov r8, rbx
lea rdx, [0x10000d520]
mov ecx, 3
call fcn.100054fd8
jmp 0x10003ac6e
test r15b, 0x20
je 0x10003abf4
lea rdx, [0x10000d590]
mov ecx, 1
call fcn.100054fd8
lea rcx, [rsp + 0x20]
call fcn.10003be1c
lea rcx, [rsp + 0x60]
call fcn.10003d1fc
test eax, eax
jne 0x10003ac18
mov r8, qword [rsp + 0x20]
lea rdx, [0x10000d610]
lea ecx, [rax + 1]
call fcn.100054fd8
jmp 0x10003ac73
mov r8, qword [rsp + 0x20]
lea rdx, [0x10000ced0]
mov ecx, 3
call fcn.100054fd8
jmp 0x10003ac73
mov esi, 0xe0000302
cmp eax, esi
jne 0x10003ac54
mov r9, rbx
lea r8, [0x10000c980]
mov edx, esi
mov ecx, 1
call fcn.1000550a8
mov r12d, esi
jmp 0x10003ac93
mov r9, rbx
lea r8, [0x10000d270]
mov edx, r12d
mov ecx, 3
call fcn.1000550a8
mov r12d, edi
test r12d, r12d
jne 0x10003ac86
lea rdx, [0x10000d658]
xor ecx, ecx
call fcn.100054fd8
jmp 0x10003ad29
cmp r12d, 0xe0000300
je 0x10003ad29
test r13, r13
je 0x10003ad29
cmp dword [rsp + 0x58], 0
je 0x10003ad29
lea rax, [rsp + 0x40]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x98], rax
mov rdx, qword [r13 + 8]
lea rcx, [rsp + 0x40]
call fcn.100020428
mov rbx, rax
mov rdx, qword [r13]
lea rcx, [rsp + 0x50]
call fcn.100020428
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.10003e4ac
test eax, eax
jne 0x10003ad0f
mov r9, qword [rsp + 0x30]
mov r8, qword [r13]
lea rdx, [0x10000d690]
lea ecx, [rax + 3]
call fcn.100054fd8
jmp 0x10003ad29
mov r9, qword [rsp + 0x30]
mov r8, qword [r13]
lea rdx, [0x10000d720]
mov ecx, 1
call fcn.100054fd8
mov ecx, dword [rsp + 0x48]
call fcn.1000634e0
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
mov eax, r12d
jmp 0x10003add7
lea rdx, [0x10000c0d0]
mov ecx, 3
call fcn.100054fd8
nop
lea rcx, [rsp + 0x20]
call fcn.10002006c
nop
lea rcx, [rsp + 0x28]
call fcn.10002006c
nop
lea rcx, [rsp + 0x30]
call fcn.10002006c
nop
lea rcx, [rsp + 0x60]
call fcn.10003ce68
nop
lea rcx, [rsp + 0x110]
call fcn.100055cd4
nop
lea rcx, [rsp + 0x38]
call fcn.10002006c
mov eax, 0x57
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret