Function at 0x140148876
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x358
movaps xmmword [rsp + 0x340], xmm7
movaps xmmword [rsp + 0x330], xmm6
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x14028f028]
xor rax, rsp
mov qword [rsp + 0x328], rax
add rbx, 8
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x80]
mov qword [rdi + 0x10], r15
movaps xmm6, xmmword [0x140257270]
movaps xmmword [rdi], xmm6
lea rax, str.metadata
lea r8, [rsp + 0x70]
mov qword [r8], rax
mov qword [r8 + 8], 8
mov rcx, rbx
mov rdx, rdi
call fcn.14000b920
lea rax, str.reports
lea r8, [rsp + 0x48]
mov qword [r8], rax
mov qword [r8 + 8], 7
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14000b920
cmp byte [rdi + 0x17], 0
jns 0x140148929
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov rcx, rdi
mov edx, 0xc0000000
mov r8d, 3
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x140148aca
mov rbx, rax
xorps xmm7, xmm7
lea rax, [rsp + 0x1e0]
movaps xmmword [rax + 0x10], xmm7
movaps xmmword [rax], xmm7
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xffffffff
mov rcx, rbx
mov edx, 2
xor r8d, r8d
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_LockFileEx]
test eax, eax
je 0x140148a6d
mov ecx, 0x50
call fcn.1400c9cbc
mov rdi, rax
lea rax, [0x1402536d8]
mov qword [rdi], rax
mov qword [rdi + 8], rbx
xor ebp, ebp
mov byte [rdi + 0x10], bpl
lea rbx, [rdi + 0x18]
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14009d860
mov byte [rdi + 0x30], bpl
movups xmmword [rdi + 0x38], xmm7
mov qword [rdi + 0x48], 0
mov qword [rsp + 0x98], rdi
mov rcx, qword [rdi + 8]
xor edx, edx
mov r8d, 2
call fcn.14013b0ed
test rax, rax
jg 0x140148ad6
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x140148aca
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xa0]
mov rcx, rdi
mov r8d, 0x154
mov r9d, 2
call fcn.14014efd0
lea rcx, [rsp + 0xb0]
lea rdx, [0x14025f3d5]
mov r8d, 0xa
call fcn.1400a7acb
mov rcx, rdi
call fcn.1401412f0
mov qword [rsi], 0
jmp 0x140148a1f
mov rcx, qword [rdi + 8]
xor edx, edx
xor r8d, r8d
call fcn.14013b0ed
test rax, rax
je 0x140148b45
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x140148a08
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1c0
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.failed_to_rewind_to_read
mov r8d, 0x18
call fcn.1400a7acb
mov rcx, rbx
call fcn.140001c60
jmp 0x140148a08
lea rdx, [rsp + 0x280]
movaps xmmword [rdx], xmm6
mov rcx, qword [rdi + 8]
mov r8d, 0x10
call fcn.140138441
test al, al
je 0x140148be1
cmp dword [rsp + 0x280], 0x43504144
jne 0x140148c30
cmp dword [rsp + 0x284], 1
jne 0x140148c30
mov ecx, dword [rsp + 0x288]
mov edx, 0x38
mov eax, ecx
mul edx
jno 0x140148c7f
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x140148a08
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1d3
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.record_size_out_of_range
jmp 0x140148b2d
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x140148a08
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1c6
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.failed_to_read_header
mov r8d, 0x15
jmp 0x140148b33
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x140148a08
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1cb
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.unexpected_header
mov r8d, 0x11
jmp 0x140148b33
xorps xmm0, xmm0
movaps xmmword [rsp + 0x260], xmm0
mov qword [rsp + 0x270], 0
test rcx, rcx
jne 0x140148ce3
xor eax, eax
xor ecx, ecx
xor edx, edx
mov ebp, eax
imul rcx, rcx, 0x38
mov qword [rsp + 0x40], rcx
call fcn.1400c9cbc
mov r14, rax
mov r8d, ebp
mov rcx, qword [rdi + 8]
mov rdx, rax
call fcn.140138441
test al, al
je 0x140148dee
mov qword [rsp + 0x250], r15
movaps xmmword [rsp + 0x240], xmm6
mov r12, qword [rdi + 8]
mov rcx, r12
xor edx, edx
mov r8d, 1
call fcn.14013b0ed
mov rbp, rax
mov rcx, r12
xor edx, edx
mov r8d, 2
call fcn.14013b0ed
mov r13, rax
mov rcx, r12
mov rdx, rbp
xor r8d, r8d
call fcn.14013b0ed
cmp rbp, 0xffffffffffffffff
je 0x140148e4f
cmp r13, 0xffffffffffffffff
je 0x140148e4f
cmp rax, 0xffffffffffffffff
je 0x140148e4f
sub r13, rbp
je 0x140148e4f
lea rbp, [rsp + 0xa0]
mov qword [rbp + 0x10], r15
movaps xmmword [rbp], xmm6
mov rcx, rbp
mov rdx, r13
xor r8d, r8d
call fcn.1400bd454
cmp byte [rbp + 0x17], 0
jns 0x140148da8
mov rbp, qword [rsp + 0xa0]
mov rcx, r12
mov rdx, rbp
mov r8, r13
call fcn.140138441
test al, al
je 0x140148e6c
cmp byte [rsp + 0xb7], 0
jns 0x14014926f
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
lea rcx, [rsp + 0x240]
call fcn.14008821c
jmp 0x140148e83
mov ecx, 2
call fcn.1400ac390
mov ebp, 1
test al, al
je 0x140148f2a
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1dc
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.failed_to_read_records
mov r8d, 0x16
call fcn.1400a7acb
mov rcx, rbx
call fcn.140001c60
jmp 0x140148f2a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x250], 0
xor edx, edx
xor ecx, ecx
jmp 0x140148ea9
xorps xmm0, xmm0
movaps xmmword [rsp + 0x240], xmm0
mov qword [rsp + 0x250], 0
cmp byte [rsp + 0xb7], 0
jns 0x140148e9a
mov rcx, qword [rsp + 0xa0]
call fcn.1400c9cac
mov cl, byte [rsp + 0x257]
mov rdx, qword [rsp + 0x248]
test cl, cl
movzx eax, cl
cmovs rax, rdx
test rax, rax
jne 0x140148f5c
mov ecx, 2
call fcn.1400ac390
mov ebp, 1
test cl, cl
jns 0x140148f6a
mov rcx, qword [rsp + 0x240]
jmp 0x140148f72
lea rcx, [rsp + 0x240]
cmp byte [rcx + rax - 1], 0
jne 0x140148ebb
mov rcx, qword [rsp + 0x40]
add rcx, r14
xor ebp, ebp
cmp rcx, r14
je 0x140148f13
mov ecx, dword [r14 + 0x10]
cmp rax, rcx
jbe 0x140149294
mov r12d, 0x38
lea r13, [rsp + 0x200]
lea rbp, [rsp + 0xa0]
mov ecx, dword [r14 + r12 - 0x24]
cmp rax, rcx
jbe 0x140149294
movaps xmmword [rsp + 0x310], xmm6
movaps xmmword [rsp + 0x300], xmm6
movaps xmmword [rsp + 0x2f0], xmm6
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2d0], xmm6
movaps xmmword [rsp + 0x2c0], xmm6
movaps xmmword [rsp + 0x2b0], xmm6
lea rcx, [rsp + 0x2b0]
call fcn.1401b0f1c
movups xmm0, xmmword [r14 + r12 - 0x38]
movaps xmmword [rsp + 0x2b0], xmm0
cmp byte [rsp + 0x257], 0
lea rax, [rsp + 0x240]
jns 0x14014902a
mov rax, qword [rsp + 0x240]
mov ecx, dword [r14 + r12 - 0x28]
add rcx, rax
mov qword [rsp + 0x290], rcx
jne 0x140149040
xor eax, eax
jmp 0x140149045
call fcn.1400ed270
mov qword [rsp + 0x298], rax
mov rcx, r13
lea rdx, [rsp + 0x290]
call fcn.14009ccc0
movzx eax, byte [rsp + 0x217]
test al, al
mov rcx, qword [rsp + 0x200]
cmovns rcx, r13
mov qword [rsp + 0x2a0], rcx
cmovs rax, qword [rsp + 0x208]
mov qword [rsp + 0x2a8], rax
mov rcx, rbx
mov rdx, rbp
lea r8, [rsp + 0x2a0]
call fcn.14000b920
lea rcx, [rsp + 0x2c0]
mov rdx, rbp
call fcn.1400b4d80
mov rcx, rbp
call fcn.14007cab0
cmp byte [rsp + 0x217], 0
jns 0x1401490ce
mov rcx, qword [rsp + 0x200]
call fcn.1400c9cac
mov edx, dword [r14 + r12 - 0x24]
cmp byte [rsp + 0x257], 0
lea rax, [rsp + 0x240]
jns 0x1401490ed
mov rax, qword [rsp + 0x240]
add rdx, rax
lea rcx, [rsp + 0x2d8]
call fcn.1400a7e24
mov rax, qword [r14 + r12 - 0x20]
mov qword [rsp + 0x2f0], rax
mov rax, qword [r14 + r12 - 0x18]
mov qword [rsp + 0x300], rax
mov eax, dword [r14 + r12 - 0x10]
mov dword [rsp + 0x308], eax
mov eax, dword [r14 + r12 - 0xc]
mov dword [rsp + 0x318], eax
mov al, byte [r14 + r12 - 8]
mov ecx, eax
and cl, 1
mov byte [rsp + 0x2f8], cl
shr al, 1
and al, 1
mov byte [rsp + 0x30c], al
mov qword [rsp + 0x230], r15
movaps xmmword [rsp + 0x220], xmm6
movaps xmmword [rsp + 0x210], xmm6
movaps xmmword [rsp + 0x200], xmm6
cmp byte [rsp + 0x2d7], 0
lea rcx, [rsp + 0x2c0]
jns 0x140149185
mov rcx, qword [rsp + 0x2c0]
mov rdx, r13
call fcn.1400cbd88
test eax, eax
jne 0x140149210
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x310], rax
lea rcx, [rsp + 0x260]
lea rdx, [rsp + 0x2b0]
call fcn.1401b0f66
cmp byte [rsp + 0x2ef], 0
jns 0x1401491cd
mov rcx, qword [rsp + 0x2d8]
call fcn.1400c9cac
lea rcx, [rsp + 0x2c0]
call fcn.14007cab0
cmp qword [rsp + 0x40], r12
je 0x1401492e8
movzx eax, byte [rsp + 0x257]
test al, al
jns 0x1401491f9
mov rax, qword [rsp + 0x248]
mov ecx, dword [r14 + r12 + 0x10]
add r12, 0x38
cmp rax, rcx
ja 0x140148faf
jmp 0x140149294
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x1401491a1
mov ecx, 2
call fcn.1400ac390
test al, al
je 0x1401491a1
mov rcx, rbp
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
mov r8d, 0x1f7
mov r9d, 2
call fcn.140122230
mov r8d, 0x15
lea rcx, [rsp + 0xb0]
lea rdx, str.failed_to_stat_report
call fcn.1400a7acb
mov rcx, rbp
call fcn.140001c60
jmp 0x1401491a1
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x250], rax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x240], xmm0
jmp 0x140148e9a
mov ecx, 2
call fcn.1400ac390
mov ebp, 1
test al, al
je 0x140148f13
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov r8d, 0x1e9
mov r9d, 2
call fcn.140122230
lea rcx, [rsp + 0xb0]
lea rdx, str.invalid_string_table_index
mov r8d, 0x1a
jmp 0x140148f06
xor ebp, ebp
jmp 0x140148f13