Function at 0x14006653e
Capabilities:
Clear file content

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
mov rax, qword [0x14019c018]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov rsi, qword [rcx]
mov qword [rcx], 0
test rsi, rsi
je 0x14006669d
cmp byte [rsi + 0x48], 0
je 0x1400665e6
mov rcx, qword [rsi + 8]
xor edx, edx
xor r8d, r8d
call fcn.140097d0f
test rax, rax
je 0x1400666c2
mov ecx, 2
call fcn.14006c840
test al, al
je 0x1400665e6
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x202
mov r9d, 2
call fcn.14006c8f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_rewind_to_write
mov r8d, 0x19
call fcn.14001df3c
mov rcx, rdi
call fcn.14006cd80
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
jne 0x140066672
mov ecx, 2
call fcn.14006c840
test al, al
je 0x140066672
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x13a
mov r9d, 2
call fcn.14006d900
lea rcx, [rsp + 0xe0]
lea rdx, [0x14017ed8a]
mov r8d, reloc.WS2_32.dll_inet_ntoa
call fcn.14001df3c
mov rcx, rdi
call fcn.14006d9f0
lea rcx, [rsi + 0x50]
call fcn.140068504
lea rcx, [rsi + 0x30]
call fcn.140050480
lea rcx, [rsi + 0x18]
call fcn.140050480
mov rcx, rsi
call fcn.1400602c2
mov rcx, rsi
call fcn.1401349d4
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.140135280
nop
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsi + 8]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x140066a7a
mov rbx, qword [rsi + 0x58]
sub rbx, qword [rsi + 0x50]
mov rdi, rbx
sar rdi, 4
movabs r15, 0x6db6db6db6db6db7
imul rdi, r15
mov dword [rsp + 0xcc], 0
movabs rax, 0x143504144
mov qword [rsp + 0xc0], rax
mov rax, rdi
shr rax, 0x20
jne 0x140066d1a
mov eax, edi
lea rdx, [rsp + 0xc0]
mov dword [rdx + 8], eax
mov rcx, qword [rsi + 8]
mov r8d, 0x10
call fcn.1400980de
test al, al
je 0x140066adf
test rbx, rbx
je 0x1400665e6
movabs rax, 0x492492492492492
xorps xmm0, xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], 0
cmp rdi, rax
ja 0x140066d2f
imul rdi, rdi, 0x38
mov rcx, rdi
call fcn.140134998
add rdi, rax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], rdi
mov r14, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsp + 0x58], rcx
cmp r14, rcx
mov qword [rsp + 0x38], rsi
je 0x140066b2e
lea r13, [rsi + 0x18]
lea rsi, [rsp + 0xd0]
lea rdi, [rsp + 0x60]
mov r12, rax
mov qword [rsp + 0x40], r13
lea rbp, [r14 + 0x10]
mov rcx, rbp
mov rdx, rsi
call fcn.140050f80
mov rcx, rsi
mov rdx, r13
call fcn.140050720
mov ebx, eax
mov rcx, rsi
call fcn.140050480
test bl, bl
jne 0x140066c19
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x220], xmm0
mov rcx, rbp
mov rdx, rdi
call fcn.140051120
movzx eax, byte [rsp + 0x77]
test al, al
mov rcx, qword [rsp + 0x60]
cmovns rcx, rdi
mov qword [rsp + 0x210], rcx
cmovs rax, qword [rsp + 0x68]
mov qword [rsp + 0x218], rax
mov rcx, rsi
lea rdx, [rsp + 0x210]
call fcn.14004ad60
lea rbx, [rsp + 0xa0]
mov rcx, rbx
mov rdx, rsi
call fcn.140068550
mov dword [rsp + 0x2c], eax
cmp byte [rsp + 0xe7], 0
jns 0x140066874
mov rcx, qword [rsp + 0xd0]
call fcn.1401349d4
mov rcx, rdi
call fcn.140050480
lea rdx, [r14 + 0x28]
mov rcx, rbx
call fcn.140068550
mov ecx, eax
mov rdx, qword [r14 + 0x40]
mov r11, qword [r14 + 0x50]
mov r10d, dword [r14 + 0x58]
mov r9d, dword [r14 + 0x68]
mov bpl, byte [r14 + 0x5c]
add bpl, bpl
or bpl, byte [r14 + 0x48]
mov rax, qword [rsp + 0x98]
cmp r12, rax
jae 0x140066903
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r12], xmm0
mov eax, dword [rsp + 0x2c]
mov dword [r12 + 0x10], eax
mov dword [r12 + 0x14], ecx
mov qword [r12 + 0x18], rdx
mov qword [r12 + 0x20], r11
mov dword [r12 + 0x28], r10d
mov dword [r12 + 0x2c], r9d
mov byte [r12 + 0x30], bpl
xor eax, eax
mov dword [r12 + 0x31], eax
mov dword [r12 + 0x34], eax
add r12, 0x38
mov qword [rsp + 0x90], r12
jmp 0x140066a5e
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x34], ecx
mov r8, qword [rsp + 0x88]
sub r12, r8
mov rdi, r12
sar rdi, 3
imul rdi, r15
lea rbx, [rdi + 1]
movabs rdx, 0x492492492492492
cmp rbx, rdx
ja 0x140066d22
sub rax, r8
sar rax, 3
imul rax, r15
lea rcx, [rax + rax]
cmp rcx, rbx
jb 0x140066950
mov rbx, rcx
movabs rcx, 0x249249249249249
cmp rax, rcx
cmovae rbx, rdx
test rbx, rbx
je 0x14006699d
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x30], r10d
cmp rbx, rdx
ja 0x140066d2f
mov r15d, r9d
mov rsi, r8
imul rcx, rbx, 0x38
call fcn.140134998
mov r13, rax
mov r8, rsi
mov r9d, r15d
mov r10d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x48]
jmp 0x1400669a0
xor r13d, r13d
imul rsi, rdi, 0x38
lea r15, [rsi + r13]
imul rdi, rbx, 0x38
add rdi, r13
movaps xmm0, xmmword [rsp + 0x220]
movups xmmword [r13 + rsi], xmm0
mov eax, dword [rsp + 0x2c]
mov dword [r13 + rsi + 0x10], eax
mov eax, dword [rsp + 0x34]
mov dword [r13 + rsi + 0x14], eax
mov rax, qword [rsp + 0x50]
mov qword [r13 + rsi + 0x18], rax
mov qword [r13 + rsi + 0x20], r11
mov dword [r13 + rsi + 0x28], r10d
mov dword [r13 + rsi + 0x2c], r9d
mov byte [r13 + rsi + 0x30], bpl
xor eax, eax
mov dword [r13 + rsi + 0x31], eax
mov dword [r13 + rsi + 0x34], eax
sub r15, r12
test r12, r12
jle 0x140066a15
mov rcx, r15
mov rdx, r8
mov rbx, r8
mov r8, r12
call fcn.1401379e0
mov r8, rbx
lea r12, [rsi + r13]
add r12, 0x38
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x98], rdi
test r8, r8
je 0x140066a42
mov rcx, r8
call fcn.1401349d4
lea rdi, [rsp + 0x60]
movabs r15, 0x6db6db6db6db6db7
mov r13, qword [rsp + 0x40]
lea rsi, [rsp + 0xd0]
add r14, 0x70
cmp r14, qword [rsp + 0x58]
jne 0x1400667cd
mov rax, qword [rsp + 0x88]
jmp 0x140066b31
mov ecx, 2
call fcn.14006c840
test al, al
je 0x1400665e6
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x209
mov r9d, 2
call fcn.14006d900
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_truncate
mov r8d, 0x12
call fcn.14001df3c
mov rcx, rdi
call fcn.14006d9f0
jmp 0x1400665e6
mov ecx, 2
call fcn.14006c840
test al, al
je 0x1400665e6
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x215
mov r9d, 2
call fcn.14006c8f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_header
mov r8d, 0x16
jmp 0x1400665d9
mov r12, rax
sub r12, rax
mov rsi, qword [rsp + 0x38]
mov rcx, qword [rsi + 8]
mov rdx, rax
mov r8, r12
call fcn.1400980de
test al, al
je 0x140066bc2
lea rdx, [rsp + 0xa0]
movzx r8d, byte [rdx + 0x17]
test r8b, r8b
cmovs r8, qword [rdx + 8]
cmovs rdx, qword [rdx]
mov rcx, qword [rsi + 8]
call fcn.1400980de
test al, al
jne 0x140066ce8
mov ecx, 2
call fcn.14006c840
test al, al
je 0x140066ce8
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x232
mov r9d, 2
call fcn.14006c8f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_string_table
mov r8d, 0x1c
jmp 0x140066c0c
mov ecx, 2
call fcn.14006c840
test al, al
je 0x140066ce8
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rdi, [rsp + 0xd0]
mov rcx, rdi
mov r8d, 0x22d
mov r9d, 2
call fcn.14006c8f0
lea rcx, [rsp + 0xe0]
lea rdx, str.failed_to_write_records
mov r8d, 0x17
call fcn.14001df3c
mov rcx, rdi
jmp 0x140066ce3
mov ecx, 2
call fcn.14006c840
test al, al
mov rsi, qword [rsp + 0x38]
je 0x140066ce8
lea rdx, str..._.._third_party_crashpad_crashpad_client_crash_report_database_win.cc
lea rcx, [rsp + 0xd0]
mov r8d, 0x223
mov r9d, 2
call fcn.14006c8f0
lea rcx, [rsp + 0xe0]
cmp byte [r14 + 0x27], 0
jns 0x140066c63
mov rbp, qword [r14 + 0x10]
mov rdx, rbp
call fcn.14006dab0
lea rdx, str._expected_to_start_with
mov r8d, 0x18
mov rcx, rax
call fcn.14001df3c
movzx ecx, byte [rsi + 0x2f]
test cl, cl
cmovs r13, qword [rsi + 0x18]
mov rbx, rax
lea rdx, [rsp + 0x210]
mov qword [rdx], r13
cmovs rcx, qword [rsi + 0x20]
mov qword [rdx + 8], rcx
mov rcx, rdi
call fcn.14004ad60
movzx r8d, byte [rsp + 0x77]
test r8b, r8b
jns 0x140066cbf
mov r8, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, rdi
call fcn.14001df3c
cmp byte [rsp + 0x77], 0
jns 0x140066cdb
mov rcx, qword [rsp + 0x60]
call fcn.1401349d4
lea rcx, [rsp + 0xd0]
call fcn.14006cd80
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x140066cfa
call fcn.1401349d4
cmp byte [rsp + 0xb7], 0
jns 0x1400665e6
mov rcx, qword [rsp + 0xa0]
call fcn.1401349d4
jmp 0x1400665e6
int3
lea rcx, [rsp + 0x88]
call fcn.14001ba1a
call fcn.140149890
int3