Function at 0x1400b779a
Capabilities:
Clear file content

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
mov rax, qword [0x140137040]
xor rax, rsp
mov qword [rsp + 0x220], rax
mov rsi, qword [rcx]
mov qword [rcx], 0
test rsi, rsi
jne 0x1400b77f3
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.140079050
nop
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsi + 0x48], 0
je 0x1400b78d7
mov rcx, qword [rsi + 8]
xor edx, edx
xor r8d, r8d
call fcn.140065336
test rax, rax
jne 0x1400b7884
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1400b79ae
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b78d7
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x21c
mov r9d, 2
call fcn.1400e4c40
lea rcx, [rsp + 0xd0]
lea rdx, str.failed_to_truncate
mov r8d, 0x12
call fcn.14002217e
mov rcx, rdi
call fcn.1400e4cb0
jmp 0x1400b78d7
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b78d7
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x215
mov r9d, 2
call fcn.14005c850
lea rcx, [rsp + 0xd0]
lea rdx, str.failed_to_rewind_to_write
mov r8d, 0x19
call fcn.14002217e
mov rcx, rdi
call fcn.14005ccc0
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax], xmm0
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x20], rax
xor edx, edx
mov r8d, 0xffffffff
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
test eax, eax
jne 0x1400b7963
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b7963
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x146
mov r9d, 2
call fcn.1400e4c40
lea rcx, [rsp + 0xd0]
lea rdx, [0x140118f94]
mov r8d, 0xc
call fcn.14002217e
mov rcx, rdi
call fcn.1400e4cb0
lea rcx, [rsi + 0x50]
call fcn.14006e998
lea rcx, [rsi + 0x30]
call fcn.14003b180
lea rcx, [rsi + 0x18]
call fcn.14003b180
lea rax, [0x14010eee8]
mov qword [rsi], rax
cmp byte [rsi + 0x10], 0
jne 0x1400b800f
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400b79a1
call fcn.140064d8a
mov rcx, rsi
call fcn.140077d00
jmp 0x1400b77ce
mov rbx, qword [rsi + 0x50]
mov r14, qword [rsi + 0x58]
mov rdi, r14
sub rdi, rbx
sar rdi, 4
movabs rax, 0x6db6db6db6db6db7
imul rdi, rax
mov dword [rsp + 0xbc], 0
movabs rax, 0x843504144
mov qword [rsp + 0xb0], rax
mov rax, rdi
shr rax, 0x20
jne 0x1400b7fea
mov eax, edi
lea rdx, [rsp + 0xb0]
mov dword [rdx + 8], eax
mov rcx, qword [rsi + 8]
mov r8d, 0x10
call fcn.140065703
test al, al
jne 0x1400b7a67
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b78d7
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x228
mov r9d, 2
call fcn.14005c850
lea rcx, [rsp + 0xd0]
lea rdx, str.failed_to_write_header
mov r8d, 0x16
jmp 0x1400b78ca
cmp r14, rbx
je 0x1400b78d7
movabs rax, 0x492492492492492
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
movaps xmm0, xmmword [0x14010db00]
movaps xmmword [rsp + 0x70], xmm0
cmp rdi, rax
ja 0x1400b7ff2
imul rdi, rdi, 0x38
mov rcx, rdi
call fcn.140077cc4
add rdi, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdi
mov rdi, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x48], rax
cmp rdi, rax
je 0x1400b7ffc
lea r15, [rsi + 0x18]
lea r14, [rsp + 0xc0]
lea rbx, [rsp + 0x90]
mov qword [rsp + 0x38], r15
jmp 0x1400b7c10
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b7b64
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rbx, [rsp + 0xc0]
mov rcx, rbx
mov r8d, 0x236
mov r9d, 2
call fcn.14005c850
lea rcx, [rsp + 0xd0]
mov rdx, r12
call fcn.14005d570
lea rdx, str._expected_to_start_with
mov r8d, 0x18
mov rcx, rax
call fcn.14002217e
mov rcx, rax
mov rdx, r15
call fcn.14005d570
mov rcx, rbx
call fcn.14005ccc0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400b7b88
mov rax, qword [rsp + 0x78]
cmp rax, rcx
je 0x1400b7b83
add rax, 0xffffffffffffffc8
jne 0x1400b7b73
jmp 0x1400b7e87
call fcn.140077d00
cmp byte [rsp + 0xa7], 0
jns 0x1400b78d7
mov rcx, qword [rsp + 0x90]
call fcn.140077d00
jmp 0x1400b78d7
test r13, r13
je 0x1400b7fd7
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [r13], xmm0
mov eax, dword [rsp + 0x30]
mov dword [r13 + 0x10], eax
mov dword [r13 + 0x14], ebp
mov qword [r13 + 0x18], r14
mov qword [r13 + 0x20], r12
mov dword [r13 + 0x28], r10d
mov dword [r13 + 0x2c], r9d
mov byte [r13 + 0x30], bl
xor eax, eax
mov dword [r13 + 0x31], eax
mov dword [r13 + 0x34], eax
add r13, 0x38
mov qword [rsp + 0x78], r13
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0xc0]
add rdi, 0x70
cmp rdi, qword [rsp + 0x48]
je 0x1400b7eb5
lea r12, [rdi + 0x10]
mov rcx, r12
mov rdx, r14
call fcn.14005f030
mov rcx, r14
mov rdx, r15
call fcn.140076e90
mov ebp, eax
mov rcx, r14
call fcn.14003b180
test bpl, bpl
jne 0x1400b7afb
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x210], xmm0
mov rcx, r12
lea r12, [rsp + 0x50]
mov rdx, r12
call fcn.14003b230
movsx rcx, byte [rsp + 0x67]
test rcx, rcx
jns 0x1400b7c6d
mov rcx, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
mov qword [rsp + 0x1f8], r12
mov qword [rsp + 0x200], rcx
test rcx, rcx
js 0x1400b7fb1
je 0x1400b7c91
test r12, r12
je 0x1400b7fc4
mov rcx, r14
lea rdx, [rsp + 0x1f8]
call fcn.140033d40
mov rcx, rbx
mov rdx, r14
call fcn.1400f57c2
mov dword [rsp + 0x30], eax
cmp byte [rsp + 0xd7], 0
jns 0x1400b7cc7
mov rcx, qword [rsp + 0xc0]
call fcn.140077d00
lea rcx, [rsp + 0x50]
call fcn.14003b180
lea rdx, [rdi + 0x28]
mov rcx, rbx
call fcn.1400f57c2
mov ebp, eax
mov r14, qword [rdi + 0x40]
mov r12, qword [rdi + 0x50]
mov r10d, dword [rdi + 0x58]
mov r9d, dword [rdi + 0x68]
mov bl, byte [rdi + 0x5c]
add bl, bl
or bl, byte [rdi + 0x48]
xor eax, eax
mov dword [rsp + 0x20b], eax
mov dword [rsp + 0x208], eax
mov r13, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
cmp r13, rax
jb 0x1400b7ba8
mov rcx, qword [rsp + 0x70]
sub r13, rcx
sar r13, 3
movabs rdx, 0x6db6db6db6db6db7
imul r13, rdx
lea r15, [r13 + 1]
movabs r8, 0x492492492492492
cmp r15, r8
ja 0x1400b7ff2
sub rax, rcx
sar rax, 3
imul rax, rdx
lea rcx, [rax + rax]
cmp rcx, r15
cmova r15, rcx
movabs rcx, 0x249249249249249
cmp rax, rcx
cmovae r15, r8
test r15, r15
je 0x1400b7e9a
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x34], ebp
cmp r15, r8
ja 0x1400b7ff7
mov ebp, r10d
mov r14d, r9d
imul rcx, r15, 0x38
call fcn.140077cc4
mov r9d, r14d
mov r10d, ebp
mov ebp, dword [rsp + 0x34]
mov r14, qword [rsp + 0x40]
imul r13, r13, 0x38
add r13, rax
je 0x1400b7fd7
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [r13], xmm0
mov ecx, dword [rsp + 0x30]
mov dword [r13 + 0x10], ecx
mov dword [r13 + 0x14], ebp
mov qword [r13 + 0x18], r14
mov qword [r13 + 0x20], r12
mov dword [r13 + 0x28], r10d
mov dword [r13 + 0x2c], r9d
mov byte [r13 + 0x30], bl
mov ecx, dword [rsp + 0x208]
mov edx, dword [rsp + 0x20b]
mov dword [r13 + 0x34], edx
mov dword [r13 + 0x31], ecx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r9, r13
cmp rdx, rcx
je 0x1400b7e4f
mov r8, r13
mov r10, rdx
mov r9, qword [r10 - 8]
mov qword [r8 - 8], r9
movups xmm0, xmmword [r10 - 0x38]
movups xmm1, xmmword [r10 - 0x28]
movups xmm2, xmmword [r10 - 0x18]
lea r11, [r10 - 0x38]
lea r9, [r8 - 0x38]
movups xmmword [r8 - 0x18], xmm2
movups xmmword [r8 - 0x28], xmm1
movups xmmword [r8 - 0x38], xmm0
mov r8, r9
mov r10, r11
cmp r11, rcx
jne 0x1400b7e16
imul r8, r15, 0x38
add rax, r8
add r13, 0x38
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x38]
lea rbx, [rsp + 0x90]
lea r14, [rsp + 0xc0]
cmp rdx, rcx
je 0x1400b7ea1
add rdx, 0xffffffffffffffc8
jne 0x1400b7e7c
lea rcx, [0x140110299]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1400bde54
xor eax, eax
jmp 0x1400b7dae
test rcx, rcx
je 0x1400b7eab
call fcn.140077d00
mov qword [rsp + 0x78], r13
jmp 0x1400b7c01
mov rdx, qword [rsp + 0x70]
sub r13, rdx
je 0x1400b7ffc
mov rcx, qword [rsi + 8]
mov r8, r13
call fcn.140065703
test al, al
je 0x1400b7f5a
movsx r8, byte [rsp + 0xa7]
test r8, r8
cmovs r8, qword [rsp + 0x98]
lea rdx, [rsp + 0x90]
cmovs rdx, qword [rsp + 0x90]
mov rcx, qword [rsi + 8]
call fcn.140065703
test al, al
jne 0x1400b7b64
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b7b64
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x244
mov r9d, 2
call fcn.14005c850
lea rcx, [rsp + 0xd0]
lea rdx, str.failed_to_write_string_table
mov r8d, 0x1c
jmp 0x1400b7fa4
mov ecx, 2
call fcn.140039200
test al, al
je 0x1400b7b64
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0x23f
mov r9d, 2
call fcn.14005c850
lea rcx, [rsp + 0xd0]
lea rdx, str.failed_to_write_records
mov r8d, 0x17
call fcn.14002217e
mov rcx, rdi
jmp 0x1400b7b5f
lea rcx, [0x140110299]
lea rdx, str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
call fcn.1400bde54
lea rcx, [0x140110299]
lea rdx, str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
call fcn.1400bde54
lea rcx, [0x140110299]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:40:_assertion___location___nullptr_failed:_null_pointer_given_to_construct_at_n
call fcn.1400bde54
int3
call fcn.1400bdc50
call fcn.1400bd5bd
lea rcx, [0x140110299]
lea rdx, str....._third_partylibc_srcinclude_vector:1393:_assertion___n___size___failed:_vector___index_out_of_bounds_n
call fcn.1400bde54
int3