Function at 0x10003d494
Capabilities:
Check if file exists

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
xor esi, esi
mov ebx, r9d
mov r12d, r9d
and dword [rsp + 0xa0], esi
mov rdi, r8
mov dword [rsp + 0xa8], ebx
test r8, r8
jne 0x10003d4e2
test r9d, r9d
je 0x10003d4e2
mov ecx, 0x6f8
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x10003d6fa
call sym.spoolsv.exe_PrvWaitForSpoolerInitialization
mov rbp, qword [0x10007f2f0]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
xor eax, eax
xor r14d, r14d
mov dword [rsp + 0x30], eax
test rbp, rbp
je 0x10003d6dd
and dword [r15], 0
mov edx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
and dword [r13], 0
mov r9d, ebx
mov r8, rdi
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r13
call qword [rbp + 0x150]
mov edx, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x10003d5d1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [rsp + 0x98], 2
mov ebx, eax
jne 0x10003d59b
cmp eax, 0x7c
je 0x10003d568
cmp eax, 0x7b
jne 0x10003d59b
mov r9d, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0x90]
mov r8, rdi
mov rcx, rbp
mov qword [rsp + 0x28], r15
xor ebx, ebx
mov qword [rsp + 0x20], r13
call fcn.10003d3a8
test eax, eax
jne 0x10003d5c3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x34]
test ebx, ebx
je 0x10003d5df
and dword [r15], 0
mov esi, ebx
cmp ebx, 0x7a
mov ebx, dword [rsp + 0xa8]
je 0x10003d5e6
and dword [r13], 0
jmp 0x10003d5e6
mov ecx, 1
mov dword [rsp + 0xa0], ecx
jmp 0x10003d5a2
mov ecx, 1
mov dword [rsp + 0xa0], ecx
jmp 0x10003d5e6
mov ebx, dword [rsp + 0xa8]
mov eax, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x98]
add eax, dword [r15]
mov dword [rsp + 0x30], eax
mov eax, r8d
sub eax, 1
je 0x10003d616
cmp eax, 1
jne 0x10003d6a2
mov eax, dword [r15]
shl rax, 5
add rdi, rax
jmp 0x10003d61d
mov eax, dword [r15]
lea rdi, [rdi + rax*8]
cmp dword [r13], ebx
ja 0x10003d629
sub ebx, dword [r13]
jmp 0x10003d62b
xor ebx, ebx
add r14d, dword [r13]
mov dword [rsp + 0xa8], ebx
cmp edx, 2
je 0x10003d648
mov rbp, qword [rbp]
test rbp, rbp
jne 0x10003d510
mov eax, dword [rsp + 0x30]
mov dword [r13], r14d
mov dword [r15], eax
cmp r14d, r12d
jbe 0x10003d6e9
mov ecx, 0x7a
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [0x10007f250]
lea rax, [0x10007f250]
cmp rcx, rax
je 0x10003d4db
test byte [rcx + 0x1c], 1
je 0x10003d4db
mov rcx, qword [rcx + 0x10]
lea r8, [0x100079c10]
mov edx, 0xb
call fcn.10001c090
jmp 0x10003d4db
mov rcx, qword [0x10007f250]
lea rax, [0x10007f250]
cmp rcx, rax
je 0x10003d6d3
test byte [rcx + 0x1c], 1
je 0x10003d6d3
mov rcx, qword [rcx + 0x10]
mov r9d, r8d
lea r8, [0x100079c10]
mov edx, 0xa
call fcn.10001c0b4
mov ecx, 0x7c
jmp 0x10003d4d5
mov ecx, dword [rsp + 0xa0]
jmp 0x10003d64c
test ecx, ecx
je 0x10003d70b
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test esi, esi
je 0x10003d6f5
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, qword [0x10007f250]
lea rax, [0x10007f250]
cmp rcx, rax
je 0x10003d4db
test byte [rcx + 0x1c], 1
je 0x10003d4db
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x10007f250]
lea r8, [0x100079c10]
mov rcx, qword [rcx + 0x10]
mov r9d, eax
mov edx, 0xc
call fcn.10001c0b4
jmp 0x10003d4db