Function at 0x180039910
Capabilities:
Check if file exists

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x730
mov rax, qword [0x18007f080]
xor rax, rsp
mov qword [rsp + 0x720], rax
mov rsi, r9
mov qword [rsp + 0x60], r9
mov r13, r8
mov r14, rdx
mov r15, rcx
xor eax, eax
mov qword [rsp + 0xa8], rax
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x300]
call sub.ucrtbase.dll_memset
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0xf0]
call sub.ucrtbase.dll_memset
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x80], 1
mov rcx, qword [rsp + 0x768]
cmp qword [r14 + 8], 0
je 0x180039d8c
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [r14]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov rbx, rax
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x768]
test rax, rax
setne r12b
test rax, rax
je 0x180039d97
mov rdi, qword [rsp + 0x768]
mov r8d, 0x104
lea rdx, [rsp + 0x300]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x180039d9c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 0x18
lea r8, [rsp + 0x88]
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_K32GetModuleInformation]
mov rcx, qword [rsp + 0x768]
test eax, eax
je 0x180039da4
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov qword [rsp + 0x38], 0x104
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0x104
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, 2
lea r8, [rsp + 0x300]
xor edx, edx
call qword [sym.imp.dbghelp.dll_SymGetSymbolFileW]
test eax, eax
jne 0x180039c9e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x768]
cmp eax, 2
jne 0x180039da9
xor edx, edx
mov r8d, 0x20a
lea rcx, [rsp + 0x510]
call sub.ucrtbase.dll_memset
mov rdi, qword [rsp + 0x768]
mov r8d, 0x104
lea rdx, [rsp + 0x510]
lea rcx, [0x180000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x180039db0
mov edx, 0x104
lea rcx, [rsp + 0x510]
call qword [sym.imp.api_ms_win_core_path_l1_1_0.dll_PathCchRemoveFileSpec]
mov rcx, qword [rsp + 0x768]
test eax, eax
js 0x180039db8
lea rax, str.SRV_symbolshttp:__msdl.microsoft.com_download_symbols
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x39
lea rax, [rsp + 0x510]
mov qword [rsp + 0x70], rax
movabs rax, 0xb000000000000000
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x40], 1
lea rax, [rsp + 0x68]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xc8]
call fcn.18001fd90
nop
call qword [sym.imp.dbghelp.dll_SymGetOptions]
bts eax, 0x1f
mov ecx, eax
call qword [sym.imp.dbghelp.dll_SymSetOptions]
mov dword [rsp + 0xa0], eax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r15
mov byte [rsp + 0xc0], 1
lea rsi, [r15 + 0x10]
mov rdx, r13
mov rcx, rsi
call fcn.180039fa0
lea rcx, [r15 + 0x50]
mov r8, qword [r14 + 8]
mov rdx, qword [r14]
call fcn.18000aed0
lea rdi, [rsp + 0xc8]
cmp qword [rsp + 0xe0], 7
cmova rdi, qword [rsp + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x38], 0x104
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], 0x104
lea rcx, [rsp + 0xf0]
mov qword [rsp + 0x20], rcx
mov r9d, 2
lea r8, [rsp + 0x300]
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.dbghelp.dll_SymGetSymbolFileW]
mov rcx, qword [rsp + 0x768]
test eax, eax
je 0x180039dc0
mov ecx, dword [rsp + 0xa0]
call qword [sym.imp.dbghelp.dll_SymSetOptions]
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x180039c8c
mov rax, qword [rcx]
cmp rcx, rsi
setne dl
call qword [rax + 0x20]
mov qword [rsi + 0x38], 0
lea rcx, [rsp + 0xc8]
call fcn.18000bb00
mov rsi, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x300]
xor edx, edx
call qword [sym.imp.dbghelp.dll_SymLoadModuleExW]
mov rdi, rax
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x768]
test rax, rax
je 0x180039dc6
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rsp + 0x20], rsi
lea r9, [0x180039de0]
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.dbghelp.dll_SymEnumSymbols]
mov rcx, qword [rsp + 0x768]
test eax, eax
je 0x180039dcb
test r12b, r12b
je 0x180039d3f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop
mov rbx, qword [rsp + 0xa8]
test rbx, rbx
je 0x180039d5e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.dbghelp.dll_SymUnloadModule64]
xor eax, eax
jmp 0x180039d69
mov rcx, qword [rsp + 0x720]
xor rcx, rsp
call fcn.18003efb0
add rsp, 0x730
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov edx, 0x80070057
call fcn.18000baa0
nop
call fcn.18000b570
mov rcx, rdi
call fcn.18000b570
call fcn.18000b570
mov edx, eax
call fcn.180031ae0
mov rcx, rdi
call fcn.18000b570
mov edx, eax
call fcn.18000baa0
nop
call fcn.18000b570
nop
call fcn.18000b570
call fcn.18000b570
int3