Function at 0x140021260
Capabilities:
Clear file content
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x240], xmm6
mov rax, qword [0x140143038]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov rsi, qword [rcx]
mov qword [rcx], 0
test rsi, rsi
je 0x14002138a
cmp byte [rsi + 0x48], 0
je 0x140021310
mov rcx, qword [rsi + 8]
xor edx, edx
xor r8d, r8d
call fcn.140047b85
test rax, rax
je 0x14002141b
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021310
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x215
mov r9d, 2
call fcn.1400616f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_rewind_to_write
mov r8d, 0x19
call fcn.140027259
mov rcx, rdi
call fcn.1400823c0
xorps xmm0, xmm0
lea rax, [rsp + 0x60]
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
je 0x1400213b6
mov rbx, qword [rsi + 0x50]
test rbx, rbx
jne 0x140021b0d
lea rcx, [rsi + 0x30]
call fcn.140044180
lea rcx, [rsi + 0x18]
call fcn.140044180
lea rax, [0x14011df78]
mov qword [rsi], rax
cmp byte [rsi + 0x10], 0
jne 0x140021b68
mov rcx, qword [rsi + 8]
cmp rcx, 0xffffffffffffffff
je 0x140021382
call fcn.140047964
mov rcx, rsi
call fcn.140082ec0
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.1400843b0
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021340
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x146
mov r9d, 2
call fcn.140061d70
lea rcx, [rsp + 0xe0]
lea rdx, [0x140125ab8]
mov r8d, 0xc
call fcn.140027259
mov rcx, rdi
call fcn.140061df0
jmp 0x140021340
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x1400214f4
mov rdi, qword [rsi + 0x50]
mov r14, qword [rsi + 0x58]
mov rbx, r14
sub rbx, rdi
sar rbx, 4
movabs rax, 0x6db6db6db6db6db7
imul rbx, rax
mov dword [rsp + 0xcc], 0
movabs rax, 0x843504144
mov qword [rsp + 0xc0], rax
mov rax, rbx
shr rax, 0x20
jne 0x140021559
mov eax, ebx
lea rdx, [rsp + 0xc0]
mov dword [rdx + 8], eax
mov rcx, qword [rsi + 8]
mov r8d, 0x10
call fcn.140047e3f
test al, al
je 0x1400214a5
cmp r14, rdi
je 0x140021310
jmp 0x140021561
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021310
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x228
mov r9d, 2
call fcn.1400616f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_header
mov r8d, 0x16
jmp 0x140021303
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021310
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x21c
mov r9d, 2
call fcn.140061d70
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_truncate
mov r8d, 0x12
call fcn.140027259
mov rcx, rdi
call fcn.140061df0
jmp 0x140021310
int3
movabs rcx, 0x492492492492492
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
xor eax, eax
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x90], rax
movaps xmmword [rsp + 0x80], xmm6
cmp rbx, rcx
ja 0x140021b03
lea r14, [rsp + 0x98]
lea rdi, [rsp + 0xd0]
mov qword [rdi + 0x20], r14
imul rbx, rbx, 0x38
mov rcx, rbx
call fcn.140082e84
add rbx, rax
mov qword [r14 - 0x18], rax
mov qword [r14 - 0x10], rax
movups xmmword [rdi + 0x10], xmm6
mov qword [r14 - 8], rbx
movups xmmword [rdi], xmm6
mov rcx, rdi
call fcn.14007482c
mov rdi, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x58], rax
cmp rdi, rax
je 0x14002160b
lea r12, [rsi + 0x18]
lea rbx, [rsp + 0xd0]
lea r14, [rsp + 0x60]
movaps xmm6, xmmword [0x14011cbd0]
mov qword [rsp + 0x50], r12
jmp 0x1400217fe
mov r13, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
sub r13, rdx
je 0x140021b3c
mov rcx, qword [rsi + 8]
mov r8, r13
call fcn.140047e3f
test al, al
je 0x1400216af
lea rdx, [rsp + 0xa0]
movzx eax, byte [rdx + 0x17]
mov r8d, eax
and r8d, 0x7f
test al, al
cmovs r8, qword [rdx + 8]
cmovs rdx, qword [rdx]
mov rcx, qword [rsi + 8]
call fcn.140047e3f
test al, al
jne 0x140021702
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021702
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x244
mov r9d, 2
call fcn.1400616f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_string_table
mov r8d, 0x1c
jmp 0x1400216f5
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021702
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x23f
mov r9d, 2
call fcn.1400616f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_records
mov r8d, 0x17
call fcn.140027259
mov rcx, rdi
call fcn.1400823c0
lea rcx, [rsp + 0x80]
call fcn.1400747cc
cmp byte [rsp + 0xb7], 0
jns 0x140021310
mov rcx, qword [rsp + 0xa0]
call fcn.140082ec0
jmp 0x140021310
mov ecx, 2
call fcn.140041fb0
test al, al
je 0x140021702
lea rdx, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
lea rbx, [rsp + 0xd0]
mov rcx, rbx
mov r8d, 0x236
mov r9d, 2
call fcn.1400616f0
lea rcx, [rsp + 0xe0]
mov rdx, r15
call fcn.140062760
lea rdx, str._expected_to_start_with
mov r8d, 0x18
mov rcx, rax
call fcn.140027259
mov rcx, rax
mov rdx, r12
call fcn.140062760
mov rcx, rbx
jmp 0x1400216fd
test r14, r14
je 0x140021ad7
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r14], xmm0
mov dword [r14 + 0x10], ebp
mov dword [r14 + 0x14], r11d
mov qword [r14 + 0x18], rbx
mov qword [r14 + 0x20], r9
mov dword [r14 + 0x28], r8d
mov dword [r14 + 0x2c], eax
mov byte [r14 + 0x30], r15b
xor eax, eax
mov dword [r14 + 0x31], eax
mov dword [r14 + 0x34], eax
add r14, 0x38
mov qword [rsp + 0x88], r14
mov r13, r14
lea rbx, [rsp + 0xd0]
add rdi, 0x70
cmp rdi, qword [rsp + 0x58]
lea r14, [rsp + 0x60]
je 0x140021613
lea r15, [rdi + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.140045020
mov rcx, rbx
mov rdx, r12
call fcn.140062510
mov ebp, eax
mov rcx, rbx
call fcn.140044180
test bpl, bpl
jne 0x14002172f
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x220], xmm0
mov rcx, r15
mov rdx, r14
call fcn.1400456a0
movzx eax, byte [rsp + 0x77]
test al, al
js 0x140021852
and eax, 0x7f
mov rcx, r14
jmp 0x14002185c
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], rax
test rax, rax
js 0x140021b6b
test rcx, rcx
jne 0x140021883
test rax, rax
jne 0x140021b97
mov rcx, rbx
lea rdx, [rsp + 0x210]
call fcn.14003ce80
lea rcx, [rsp + 0xa0]
mov rdx, rbx
call fcn.14007488a
mov ebp, eax
cmp byte [rsp + 0xe7], 0
jns 0x1400218bc
mov rcx, qword [rsp + 0xd0]
call fcn.140082ec0
mov rcx, r14
call fcn.140044180
lea rdx, [rdi + 0x28]
lea rcx, [rsp + 0xa0]
call fcn.14007488a
mov r11d, eax
mov rbx, qword [rdi + 0x40]
mov r9, qword [rdi + 0x50]
mov r8d, dword [rdi + 0x58]
mov r15b, byte [rdi + 0x5c]
add r15b, r15b
or r15b, byte [rdi + 0x48]
mov eax, dword [rdi + 0x68]
mov r14, qword [rsp + 0x88]
mov r10, qword [rsp + 0x90]
cmp r14, r10
jb 0x140021798
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ebp
lea rax, [rsp + 0xd8]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax + 0x10], rcx
movups xmmword [rax], xmm6
mov r12, qword [rsp + 0x80]
mov r13, r14
sub r13, r12
sar r13, 3
movabs rcx, 0x6db6db6db6db6db7
imul r13, rcx
lea rbp, [r13 + 1]
movabs rdx, 0x492492492492492
cmp rbp, rdx
ja 0x140021b03
mov rax, r10
sub rax, r12
sar rax, 3
imul rax, rcx
lea rcx, [rax + rax]
cmp rcx, rbp
cmova rbp, rcx
movabs rcx, 0x249249249249249
cmp rax, rcx
cmovae rbp, rdx
lea rax, [rsp + 0x98]
mov qword [rsp + 0xf0], rax
test rbp, rbp
je 0x1400219e4
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x34], r8d
cmp rbp, rdx
ja 0x140021b08
mov rbx, r10
imul rcx, rbp, 0x38
call fcn.140082e84
mov r10, rbx
mov r8d, dword [rsp + 0x34]
mov r9, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x1400219e6
xor eax, eax
imul r13, r13, 0x38
add r13, rax
je 0x140021ad7
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r13], xmm0
mov ecx, dword [rsp + 0x3c]
mov dword [r13 + 0x10], ecx
mov dword [r13 + 0x14], r11d
mov qword [r13 + 0x18], rbx
mov qword [r13 + 0x20], r9
mov dword [r13 + 0x28], r8d
mov ecx, dword [rsp + 0x38]
mov dword [r13 + 0x2c], ecx
mov byte [r13 + 0x30], r15b
xor ecx, ecx
mov dword [r13 + 0x31], ecx
mov dword [r13 + 0x34], ecx
mov rdx, r13
cmp r14, r12
je 0x140021a72
mov rcx, r13
mov r8, r14
mov rdx, qword [r8 - 8]
mov qword [rcx - 8], rdx
movups xmm0, xmmword [r8 - 0x38]
movups xmm1, xmmword [r8 - 0x28]
movups xmm2, xmmword [r8 - 0x18]
lea r9, [r8 - 0x38]
lea rdx, [rcx - 0x38]
movups xmmword [rcx - 0x18], xmm2
movups xmmword [rcx - 0x28], xmm1
movups xmmword [rcx - 0x38], xmm0
mov rcx, rdx
mov r8, r9
cmp r9, r12
jne 0x140021a3c
imul rcx, rbp, 0x38
add rax, rcx
add r13, 0x38
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xd8], r12
mov qword [rsp + 0x88], r13
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xe8], r10
mov qword [rsp + 0xd0], r12
lea rbx, [rsp + 0xd0]
mov rcx, rbx
call fcn.14007482c
mov qword [rsp + 0x88], r13
mov r12, qword [rsp + 0x50]
jmp 0x1400217ea
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x28
call fcn.1400d3d34
call fcn.1400d0c20
call fcn.1400ccc6f
mov rdi, qword [rsi + 0x58]
mov rcx, rbx
cmp rdi, rbx
je 0x140021b2e
add rdi, 0xffffffffffffff90
mov rcx, rdi
call fcn.14007462e
cmp rdi, rbx
jne 0x140021b19
mov rcx, qword [rsi + 0x50]
mov qword [rsi + 0x58], rbx
call fcn.140082ec0
jmp 0x14002134d
lea rax, str.vector___index_out_of_bounds
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_vector
lea r9, str.__n___size__
mov r8d, 0x601
call fcn.1400d3d34
int3
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.1400d3d34
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.1400d3d34
int3