Function at 0x140030340
Capabilities:
Clear file content

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm6
mov rax, qword [0x140145040]
xor rax, rsp
mov qword [rsp + 0x218], rax
mov r15, qword [rcx]
mov qword [rcx], 0
test r15, r15
je 0x140030604
cmp byte [r15 + 0x48], 0
je 0x14003052f
mov rcx, qword [r15 + 8]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0x70]
mov qword [r8], rax
xor edx, edx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x140031010
cmp qword [rsp + 0x70], 0
jne 0x140030d6c
mov rcx, qword [r15 + 8]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x140030e82
mov rdi, qword [r15 + 0x50]
mov rbx, qword [r15 + 0x58]
mov rsi, rbx
sub rsi, rdi
sar rsi, 4
movabs rax, 0x6db6db6db6db6db7
imul rsi, rax
mov dword [rsp + 0xbc], 0
movabs rax, 0x143504144
mov qword [rsp + 0xb0], rax
mov rax, rsi
shr rax, 0x20
jne 0x140030ff6
mov eax, esi
lea rdx, [rsp + 0xb0]
mov dword [rdx + 8], eax
mov rcx, qword [r15 + 8]
mov r8d, 0x10
call fcn.14002eb70
test al, al
je 0x140030c66
cmp rbx, rdi
je 0x14003052f
movabs rax, 0x492492492492492
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
cmp rsi, rax
ja 0x140031007
imul r13, rsi, 0x38
mov rcx, r13
call fcn.1400b4d4c
mov rdi, rax
mov r12, qword [r15 + 0x50]
mov rax, qword [r15 + 0x58]
mov qword [rsp + 0x68], rax
cmp r12, rax
je 0x140031004
add r13, rdi
lea rsi, [r15 + 0x18]
xorps xmm6, xmm6
mov rbp, rdi
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x48], rsi
jmp 0x1400306de
sub rbp, rdi
je 0x140031004
mov rcx, qword [r15 + 8]
mov rdx, rdi
mov r8, rbp
call fcn.14002eb70
test al, al
je 0x140030b44
movzx r8d, byte [rsp + 0xa7]
test r8b, r8b
cmovs r8, qword [rsp + 0x98]
lea rdx, [rsp + 0x90]
cmovs rdx, qword [rsp + 0x90]
mov rcx, qword [r15 + 8]
call fcn.14002eb70
test al, al
je 0x140030ee4
test rdi, rdi
je 0x140030518
mov rcx, rdi
call fcn.1400b4d44
cmp byte [rsp + 0xa7], 0
jns 0x14003052f
mov rcx, qword [rsp + 0x90]
call fcn.1400b4d44
xorps xmm0, xmm0
lea rax, [rsp + 0x70]
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax], xmm0
mov rcx, qword [r15 + 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 0x140030630
mov rsi, qword [r15 + 0x50]
test rsi, rsi
je 0x1400305b0
mov rdi, qword [r15 + 0x58]
mov rcx, rsi
cmp rdi, rsi
jne 0x14003059b
jmp 0x1400305a7
mov rcx, qword [rdi - 0x48]
call fcn.1400b4d44
cmp byte [rdi - 0x49], 0
jns 0x140030592
mov rcx, qword [rdi - 0x60]
call fcn.1400b4d44
add rdi, 0xffffffffffffff90
cmp rdi, rsi
je 0x1400305a3
cmp byte [rdi - 0x31], 0
jns 0x140030583
jmp 0x14003057a
mov rcx, qword [r15 + 0x50]
mov qword [r15 + 0x58], rsi
call fcn.1400b4d44
cmp byte [r15 + 0x47], 0
jns 0x1400305c0
mov rcx, qword [r15 + 0x30]
call fcn.1400b4d44
cmp byte [r15 + 0x2f], 0
jns 0x1400305d0
mov rcx, qword [r15 + 0x18]
call fcn.1400b4d44
lea rax, [0x140120038]
mov qword [r15], rax
cmp byte [r15 + 0x10], 0
jne 0x140030ffe
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x1400305fc
call fcn.14002fdc0
test al, al
je 0x140031001
mov rcx, r15
call fcn.1400b4d44
mov rcx, qword [rsp + 0x218]
xor rcx, rsp
call fcn.1400b7310
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.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, 0x13c
mov r9d, 2
call fcn.1401082d0
lea rbx, [rsp + 0xd0]
lea rdx, [0x14012ec2d]
mov r8d, 0xc
mov rcx, rbx
call fcn.1400edbd0
lea rax, [0x140120630]
mov qword [rbx - 0x10], rax
mov rcx, rdi
call fcn.140108350
mov rcx, rdi
call fcn.1400080e0
jmp 0x140030563
movaps xmm0, xmmword [rsp + 0x200]
movups xmmword [rbp], xmm0
mov eax, dword [rsp + 0x34]
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x14], r10d
mov qword [rbp + 0x18], r11
mov qword [rbp + 0x20], r9
mov dword [rbp + 0x28], r8d
mov dword [rbp + 0x2c], edx
mov byte [rbp + 0x30], bl
xor eax, eax
mov dword [rbp + 0x31], eax
mov dword [rbp + 0x34], eax
add rbp, 0x38
add r12, 0x70
cmp r12, qword [rsp + 0x68]
je 0x1400304b4
lea rbx, [r12 + 0x10]
mov rcx, rbx
lea r14, [rsp + 0xc0]
mov rdx, r14
call fcn.140025de0
mov rcx, r14
mov rdx, rsi
call fcn.14005ac70
mov r14d, eax
cmp byte [rsp + 0xd7], 0
jns 0x14003071b
mov rcx, qword [rsp + 0xc0]
call fcn.1400b4d44
test r14b, r14b
jne 0x140030959
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x200], xmm0
mov rcx, rbx
lea rbx, [rsp + 0x70]
mov rdx, rbx
call fcn.140023cb0
movzx edx, byte [rsp + 0x87]
test dl, dl
jns 0x140030757
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
movaps xmmword [rsp + 0xc0], xmm6
mov qword [rsp + 0xd0], 0
mov rcx, rbx
lea rbx, [rsp + 0xc0]
mov r8, rbx
call fcn.14005a000
lea rcx, [rsp + 0x90]
mov rdx, rbx
call fcn.14010c1f0
mov dword [rsp + 0x34], eax
cmp byte [rsp + 0xd7], 0
jns 0x1400307a9
mov rcx, qword [rsp + 0xc0]
call fcn.1400b4d44
cmp byte [rsp + 0x87], 0
jns 0x1400307bd
mov rcx, qword [rsp + 0x70]
call fcn.1400b4d44
lea rdx, [r12 + 0x28]
lea rcx, [rsp + 0x90]
call fcn.14010c1f0
mov r10d, eax
mov r11, qword [r12 + 0x40]
mov r9, qword [r12 + 0x50]
mov r8d, dword [r12 + 0x58]
mov edx, dword [r12 + 0x68]
mov bl, byte [r12 + 0x5c]
add bl, bl
or bl, byte [r12 + 0x48]
cmp rbp, r13
jb 0x14003069a
mov rsi, rbp
sub rsi, rdi
sar rsi, 3
movabs rax, 0x6db6db6db6db6db7
imul rsi, rax
lea r15, [rsi + 1]
movabs rcx, 0x492492492492492
cmp r15, rcx
ja 0x14003100a
sub r13, rdi
sar r13, 3
imul r13, rax
lea rax, [r13*2]
cmp rax, r15
cmova r15, rax
movabs rax, 0x249249249249249
cmp r13, rax
cmovae r15, rcx
test r15, r15
je 0x140030951
mov qword [rsp + 0x50], r11
mov dword [rsp + 0x44], r10d
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x60], rdi
cmp r15, rcx
ja 0x14003100d
mov edi, r8d
mov r14d, edx
imul rcx, r15, 0x38
call fcn.1400b4d4c
mov r13, rax
mov edx, r14d
mov r8d, edi
mov rdi, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov r10d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
imul rax, rsi, 0x38
lea r14, [rax + r13]
movaps xmm0, xmmword [rsp + 0x200]
movups xmmword [r13 + rax], xmm0
mov ecx, dword [rsp + 0x34]
mov dword [r13 + rax + 0x10], ecx
mov dword [r13 + rax + 0x14], r10d
mov qword [r13 + rax + 0x18], r11
mov qword [r13 + rax + 0x20], r9
mov dword [r13 + rax + 0x28], r8d
mov dword [r13 + rax + 0x2c], edx
mov byte [r13 + rax + 0x30], bl
xor ecx, ecx
mov dword [r13 + rax + 0x31], ecx
mov dword [r13 + rax + 0x34], ecx
mov rsi, r14
cmp rbp, rdi
je 0x140030928
mov rax, qword [rbp - 8]
mov qword [rsi - 8], rax
movups xmm0, xmmword [rbp - 0x38]
movups xmm1, xmmword [rbp - 0x28]
movups xmm2, xmmword [rbp - 0x18]
lea rax, [rbp - 0x38]
movups xmmword [rsi - 0x18], xmm2
movups xmmword [rsi - 0x28], xmm1
movups xmmword [rsi - 0x38], xmm0
add rsi, 0xffffffffffffffc8
mov rbp, rax
cmp rax, rdi
jne 0x1400308f8
test rdi, rdi
je 0x140030935
mov rcx, rdi
call fcn.1400b4d44
imul rax, r15, 0x38
add r13, rax
mov rdi, rsi
mov rbp, r14
mov r15, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x48]
jmp 0x1400306cb
xor r13d, r13d
jmp 0x1400308a7
lea rax, [0x140120628]
lea rcx, [rsp + 0x140]
mov qword [rcx - 0x80], rax
mov dword [rcx - 0x78], 2
lea rax, [0x140121520]
mov qword [rcx - 0x70], rax
lea r14, [rsp + 0xd8]
lea rax, [0x140120018]
mov qword [r14 + 0x68], rax
mov rdx, r14
call fcn.1400a74b0
xor esi, esi
mov qword [r14 + 0xf0], rsi
mov dword [r14 + 0xf8], 0xffffffff
mov rax, qword [r14 - 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x14011fe70]
mov qword [rsp + rax + 0xd0], rcx
mov rcx, r14
call fcn.140096b50
lea rax, [0x14011ffa0]
mov qword [r14], rax
xorps xmm6, xmm6
movups xmmword [r14 + 0x40], xmm6
movups xmmword [r14 + 0x50], xmm6
mov dword [r14 + 0x60], 0x10
lea r15, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
mov qword [r14 + 0x108], r15
mov dword [r14 + 0x110], 0x225
call fcn.1400b5430
mov eax, dword [rax]
mov dword [r14 + 0x114], eax
call fcn.1400b5430
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x118], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsp + 0xc0]
mov rdx, r15
mov r8d, 0x225
call fcn.140029400
movzx edx, byte [r12 + 0x27]
test dl, dl
jns 0x140030a5c
mov rdx, qword [r12 + 0x18]
mov rbx, qword [r12 + 0x10]
lea r14, [rsp + 0xd0]
lea r15, [rsp + 0x70]
mov qword [r15 + 0x10], rsi
movaps xmmword [r15], xmm6
mov rcx, rbx
mov r8, r15
call fcn.14005a000
movzx r8d, byte [r15 + 0x17]
test r8b, r8b
jns 0x140030a90
mov r8, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov rcx, r14
mov rdx, r15
call fcn.1400edbd0
mov rbx, rax
cmp byte [rsp + 0x87], 0
mov rsi, qword [rsp + 0x48]
jns 0x140030ab7
mov rcx, qword [rsp + 0x70]
call fcn.1400b4d44
lea rdx, str._expected_to_start_with
mov r8d, 0x18
mov rcx, rbx
call fcn.1400edbd0
mov rbx, rax
mov r15, qword [rsp + 0x38]
movzx edx, byte [r15 + 0x2f]
test dl, dl
jns 0x140030ae5
mov rdx, qword [r15 + 0x20]
mov rsi, qword [r15 + 0x18]
xorps xmm0, xmm0
lea r14, [rsp + 0x70]
movaps xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rcx, rsi
mov r8, r14
call fcn.14005a000
movzx r8d, byte [r14 + 0x17]
test r8b, r8b
jns 0x140030b18
mov r8, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
mov rcx, rbx
mov rdx, r14
call fcn.1400edbd0
cmp byte [rsp + 0x87], 0
jns 0x140030b37
mov rcx, qword [rsp + 0x70]
call fcn.1400b4d44
lea rcx, [rsp + 0xc0]
jmp 0x140030c5c
lea rax, [0x140120628]
lea rbx, [rsp + 0xd0]
mov qword [rbx - 0x10], rax
mov dword [rbx - 8], 2
lea rax, [0x140121520]
mov qword [rbx], rax
lea rcx, [rsp + 0x140]
lea r14, [rsp + 0xd8]
lea rax, [0x140120018]
mov qword [r14 + 0x68], rax
mov rdx, r14
call fcn.1400a74b0
mov qword [r14 + 0xf0], 0
mov dword [r14 + 0xf8], 0xffffffff
mov rax, qword [r14 - 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x14011fe70]
mov qword [rsp + rax + 0xd0], rcx
mov rcx, r14
call fcn.140096b50
lea rax, [0x14011ffa0]
mov qword [r14], rax
xorps xmm0, xmm0
movups xmmword [r14 + 0x40], xmm0
movups xmmword [r14 + 0x50], xmm0
mov dword [r14 + 0x60], 0x10
lea r15, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
mov qword [r14 + 0x108], r15
mov dword [r14 + 0x110], 0x22e
call fcn.1400b5430
mov eax, dword [rax]
mov dword [r14 + 0x114], eax
call fcn.1400b5430
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x118], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r14, [rsp + 0xc0]
mov rcx, r14
mov rdx, r15
mov r15, qword [rsp + 0x38]
mov r8d, 0x22e
call fcn.140029400
lea rdx, str.failed_to_write_records
mov r8d, 0x17
mov rcx, rbx
call fcn.1400edbd0
mov rcx, r14
call fcn.1400080e0
jmp 0x14003050b
lea rax, [0x140120628]
lea rdi, [rsp + 0xd0]
mov qword [rdi - 0x10], rax
mov dword [rdi - 8], 2
lea rax, [0x140121520]
mov qword [rdi], rax
lea rcx, [rsp + 0x140]
lea rbx, [rsp + 0xd8]
lea rax, [0x140120018]
mov qword [rbx + 0x68], rax
mov rdx, rbx
call fcn.1400a74b0
mov qword [rbx + 0xf0], 0
mov dword [rbx + 0xf8], 0xffffffff
mov rax, qword [rbx - 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x14011fe70]
mov qword [rsp + rax + 0xd0], rcx
mov rcx, rbx
call fcn.140096b50
lea rax, [0x14011ffa0]
mov qword [rbx], rax
xorps xmm0, xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
mov dword [rbx + 0x60], 0x10
lea r14, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
mov qword [rbx + 0x108], r14
mov dword [rbx + 0x110], 0x217
call fcn.1400b5430
mov eax, dword [rax]
mov dword [rbx + 0x114], eax
call fcn.1400b5430
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x118], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbx, [rsp + 0xc0]
mov rcx, rbx
mov rdx, r14
mov r8d, 0x217
call fcn.140029400
lea rdx, str.failed_to_write_header
mov r8d, 0x16
jmp 0x140030e6d
lea rax, [0x140120628]
lea rdi, [rsp + 0xd0]
mov qword [rdi - 0x10], rax
mov dword [rdi - 8], 2
lea rax, [0x140121520]
mov qword [rdi], rax
lea rcx, [rsp + 0x140]
lea rbx, [rsp + 0xd8]
lea rax, [0x140120018]
mov qword [rbx + 0x68], rax
mov rdx, rbx
call fcn.1400a74b0
mov qword [rbx + 0xf0], 0
mov dword [rbx + 0xf8], 0xffffffff
mov rax, qword [rbx - 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x14011fe70]
mov qword [rsp + rax + 0xd0], rcx
mov rcx, rbx
call fcn.140096b50
lea rax, [0x14011ffa0]
mov qword [rbx], rax
xorps xmm0, xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
mov dword [rbx + 0x60], 0x10
lea r14, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
mov qword [rbx + 0x108], r14
mov dword [rbx + 0x110], 0x204
call fcn.1400b5430
mov eax, dword [rax]
mov dword [rbx + 0x114], eax
call fcn.1400b5430
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x118], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rbx, [rsp + 0xc0]
mov rcx, rbx
mov rdx, r14
mov r8d, 0x204
call fcn.140029400
lea rdx, str.failed_to_rewind_to_write
mov r8d, 0x19
mov rcx, rdi
call fcn.1400edbd0
mov rcx, rbx
call fcn.1400080e0
jmp 0x14003052f
call qword [sym.imp.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, 0x20b
mov r9d, 2
call fcn.1401082d0
lea rbx, [rsp + 0xd0]
lea rdx, str.failed_to_truncate
mov r8d, 0x12
mov rcx, rbx
call fcn.1400edbd0
lea rax, [0x140120630]
mov qword [rbx - 0x10], rax
mov rcx, rdi
call fcn.140108350
mov rcx, rdi
jmp 0x140030e78
lea rax, [0x140120628]
lea rbx, [rsp + 0xd0]
mov qword [rbx - 0x10], rax
mov dword [rbx - 8], 2
lea rax, [0x140121520]
mov qword [rbx], rax
lea rcx, [rsp + 0x140]
lea r14, [rsp + 0xd8]
lea rax, [0x140120018]
mov qword [r14 + 0x68], rax
mov rdx, r14
call fcn.1400a74b0
mov qword [r14 + 0xf0], 0
mov dword [r14 + 0xf8], 0xffffffff
mov rax, qword [r14 - 8]
movsxd rax, dword [rax + 4]
lea rcx, [0x14011fe70]
mov qword [rsp + rax + 0xd0], rcx
mov rcx, r14
call fcn.140096b50
lea rax, [0x14011ffa0]
mov qword [r14], rax
xorps xmm0, xmm0
movups xmmword [r14 + 0x40], xmm0
movups xmmword [r14 + 0x50], xmm0
mov dword [r14 + 0x60], 0x10
lea r15, str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
mov qword [r14 + 0x108], r15
mov dword [r14 + 0x110], 0x233
call fcn.1400b5430
mov eax, dword [rax]
mov dword [r14 + 0x114], eax
call fcn.1400b5430
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x118], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r14, [rsp + 0xc0]
mov rcx, r14
mov rdx, r15
mov r15, qword [rsp + 0x38]
mov r8d, 0x233
call fcn.140029400
lea rdx, str.failed_to_write_string_table
mov r8d, 0x1c
jmp 0x140030c51
int3
int3
int3
int3
int3
int3
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x20], eax
lea rdx, str....._third_partycrashpadcrashpadutil_file_file_io_win.cc
lea rdi, [rsp + 0xc0]
mov rcx, rdi
mov r8d, 0xf2
mov r9d, 2
call fcn.1401082d0
lea rbx, [rsp + 0xd0]
lea rdx, [0x14012ebfe]
mov r8d, 0x10
mov rcx, rbx
call fcn.1400edbd0
lea rax, [0x140120630]
mov qword [rbx - 0x10], rax
mov rcx, rdi
call fcn.140108350
mov rcx, rdi
call fcn.1400080e0
jmp 0x140030d6c