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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov eax, dword [0x674014]
xor eax, ebp
mov dword [esp + 0x128], eax
mov ebx, dword [ecx]
mov dword [ecx], 0
test ebx, ebx
je 0x4f61a6
cmp byte [ebx + 0x24], 0
je 0x4f610f
xor eax, eax
push eax
push eax
push eax
push dword [ebx + 4]
call fcn.00546814
add esp, 0x10
or edx, eax
je 0x4f61bc
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f610f
lea edi, [esp + 0x80]
mov ecx, edi
push 2
push 0x202
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b6940
lea eax, [esp + 0x88]
push 0x19
push str.failed_to_rewind_to_write
push eax
call fcn.0041482a
add esp, 0xc
mov ecx, edi
call fcn.004b6d50
xor eax, eax
lea ecx, [esp + 0x40]
mov dword [ecx + 0x10], eax
xorps xmm0, xmm0
movaps xmmword [ecx], xmm0
xor edx, edx
dec edx
push ecx
push edx
push edx
push eax
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_UnlockFileEx]
test eax, eax
jne 0x4f617e
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f617e
call fcn.004b7210
lea edi, [esp + 0x80]
mov ecx, edi
push eax
push 2
push 0x13a
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b73b0
lea eax, [esp + 0x88]
push 0xc
push 0x6289c6
push eax
call fcn.0041482a
add esp, 0xc
mov ecx, edi
call fcn.004b7460
lea ecx, [ebx + 0x28]
call fcn.004f7a6a
lea ecx, [ebx + 0x18]
call fcn.004b3910
lea ecx, [ebx + 0xc]
call fcn.004b3910
mov ecx, ebx
call fcn.004f3dac
push ebx
call fcn.005dc756
add esp, 4
mov ecx, dword [esp + 0x128]
xor ecx, ebp
call fcn.005dd6f3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x4f64d8
mov edi, dword [ebx + 0x28]
mov ecx, ebx
mov ebx, dword [ebx + 0x2c]
mov eax, ebx
sub eax, edi
sar eax, 3
imul esi, eax, 0xba2e8ba3
lea eax, [esp + 0x40]
mov dword [eax + 0xc], 0
mov dword [eax], 0x43504144
mov dword [eax + 4], 1
mov dword [eax + 8], esi
push 0x10
push eax
mov dword [esp + 0x14], ecx
push dword [ecx + 4]
call fcn.00546bc9
add esp, 0xc
test al, al
je 0x4f652d
cmp ebx, edi
mov ebx, dword [esp + 0xc]
je 0x4f610f
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], eax
cmp esi, 0x4924925
jae 0x4f6732
imul esi, esi, 0x38
push esi
call fcn.005dc726
add esp, 4
mov edi, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x3c], ecx
cmp edi, ecx
je 0x4f6570
add esi, eax
mov dword [esp + 0x1c], esi
lea ecx, [ebx + 0xc]
mov dword [esp + 0x18], ecx
mov esi, eax
mov dword [esp + 8], eax
lea ebx, [edi + 0x10]
mov ecx, ebx
lea eax, [esp + 0x80]
push eax
call fcn.004b3f90
lea ecx, [esp + 0x80]
push dword [esp + 0x18]
call fcn.004b3b10
mov byte [esp + 4], al
lea ecx, [esp + 0x80]
call fcn.004b3910
cmp byte [esp + 4], 0
jne 0x4f663c
mov dword [esp + 4], edi
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x80], xmm0
mov ecx, ebx
lea edi, [esp + 0x68]
push edi
call fcn.004b40a0
movzx eax, byte [esp + 0x73]
mov ecx, edi
test al, al
jns 0x4f62d9
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
push eax
push ecx
lea edi, [esp + 0x7c]
push edi
call fcn.004c17a0
add esp, 0xc
lea ebx, [esp + 0x58]
mov ecx, ebx
mov edx, edi
call fcn.004f7aa4
mov dword [esp + 0x10], eax
cmp byte [esp + 0x7f], 0
jns 0x4f630c
push dword [esp + 0x74]
call fcn.005dc756
add esp, 4
lea ecx, [esp + 0x68]
call fcn.004b3910
mov edi, dword [esp + 4]
lea edx, [edi + 0x1c]
mov ecx, ebx
call fcn.004f7aa4
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x14], ecx
mov bl, byte [edi + 0x44]
add bl, bl
or bl, byte [edi + 0x30]
mov edx, dword [edi + 0x38]
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x20], ecx
mov ecx, dword [edi + 0x50]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
jae 0x4f63aa
movaps xmm0, xmmword [esp + 0x80]
movups xmmword [esi], xmm0
mov ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ecx
mov eax, dword [esp + 0x28]
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], edx
mov eax, dword [esp + 0x14]
mov dword [esi + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x2c], eax
mov byte [esi + 0x30], bl
xor eax, eax
mov dword [esi + 0x31], eax
mov dword [esi + 0x34], eax
mov eax, dword [esp + 8]
jmp 0x4f64c3
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
mov edx, dword [esp + 8]
sub esi, edx
mov eax, esi
sar eax, 3
imul eax, eax, 0xb6db6db7
mov dword [esp + 0x30], eax
lea edi, [eax + 1]
cmp edi, 0x4924925
jae 0x4f6732
sub ecx, edx
sar ecx, 3
imul eax, ecx, 0xb6db6db7
lea ecx, [eax + eax]
cmp ecx, edi
cmova edi, ecx
cmp eax, 0x2492492
mov eax, 0x4924924
cmovae edi, eax
test edi, edi
je 0x4f6414
cmp edi, 0x4924925
jae 0x4f6737
imul eax, edi, 0x38
push eax
call fcn.005dc726
add esp, 4
jmp 0x4f6416
xor eax, eax
imul ecx, dword [esp + 0x30], 0x38
movaps xmm0, xmmword [esp + 0x80]
movups xmmword [eax + ecx], xmm0
mov edx, dword [esp + 0x10]
mov dword [eax + ecx + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx + 0x14], edx
mov edx, dword [esp + 0x28]
mov dword [eax + ecx + 0x1c], edx
mov edx, dword [esp + 0x38]
mov dword [eax + ecx + 0x18], edx
mov edx, dword [esp + 0x14]
mov dword [eax + ecx + 0x24], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx + 0x20], edx
mov edx, dword [esp + 0x20]
mov dword [eax + ecx + 0x28], edx
mov edx, dword [esp + 0x24]
mov dword [eax + ecx + 0x2c], edx
mov byte [eax + ecx + 0x30], bl
lea edx, [eax + ecx]
imul edi, edi, 0x38
mov dword [esp + 0x14], edi
mov ebx, eax
xor eax, eax
mov dword [ebx + ecx + 0x31], eax
mov dword [ebx + ecx + 0x34], eax
mov eax, ebx
mov dword [esp + 0x10], edx
mov edi, edx
sub edi, esi
test esi, esi
mov ecx, dword [esp + 8]
jle 0x4f64a4
push esi
push ecx
push edi
call fcn.005df8f0
mov eax, ebx
mov ecx, dword [esp + 0x14]
add esp, 0xc
add eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x4f64b9
push ecx
call fcn.005dc756
add esp, 4
mov eax, edi
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 4]
add esi, 0x38
add edi, 0x58
cmp edi, dword [esp + 0x3c]
jne 0x4f626a
jmp 0x4f6572
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f610f
call fcn.004b7210
lea edi, [esp + 0x80]
mov ecx, edi
push eax
push 2
push 0x209
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b73b0
lea eax, [esp + 0x88]
push 0x12
push str.failed_to_truncate
push eax
call fcn.0041482a
add esp, 0xc
mov ecx, edi
call fcn.004b7460
jmp 0x4f610f
push 2
call fcn.004b68d0
add esp, 4
test al, al
mov ebx, dword [esp + 0xc]
je 0x4f610f
lea edi, [esp + 0x80]
mov ecx, edi
push 2
push 0x215
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b6940
lea eax, [esp + 0x88]
push 0x16
push str.failed_to_write_header
jmp 0x4f60ff
mov esi, eax
sub esi, eax
push esi
mov esi, eax
push eax
mov ebx, dword [esp + 0x14]
push dword [ebx + 4]
call fcn.00546bc9
add esp, 0xc
test al, al
je 0x4f65ed
lea ecx, [esp + 0x58]
movzx eax, byte [ecx + 0xb]
test al, al
cmovs eax, dword [ecx + 4]
cmovs ecx, dword [ecx]
push eax
push ecx
push dword [ebx + 4]
call fcn.00546bc9
add esp, 0xc
test al, al
jne 0x4f6709
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f6709
lea edi, [esp + 0x80]
mov ecx, edi
push 2
push 0x232
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b6940
lea eax, [esp + 0x88]
push 0x1c
push str.failed_to_write_string_table
jmp 0x4f6627
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f6709
lea edi, [esp + 0x80]
mov ecx, edi
push 2
push 0x22d
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b6940
lea eax, [esp + 0x88]
push 0x17
push str.failed_to_write_records
push eax
call fcn.0041482a
add esp, 0xc
mov ecx, edi
call fcn.004b6d50
jmp 0x4f6709
mov dword [esp + 4], ebx
push 2
call fcn.004b68d0
add esp, 4
test al, al
je 0x4f6681
lea ecx, [esp + 0x80]
push 2
push 0x223
push str....._third_partycrashpadcrashpadclientcrash_report_database_win.cc
call fcn.004b6940
lea eax, [esp + 0x88]
cmp byte [edi + 0x1b], 0
mov ebx, dword [esp + 0xc]
js 0x4f6687
lea esi, [esp + 0x74]
mov ecx, dword [esp + 4]
jmp 0x4f668e
mov ebx, dword [esp + 0xc]
jmp 0x4f6705
mov ecx, dword [edi + 0x10]
lea esi, [esp + 0x74]
push ecx
push eax
call fcn.004b7500
add esp, 8
push 0x18
push str._expected_to_start_with
push eax
call fcn.0041482a
add esp, 0xc
mov edi, eax
movzx eax, byte [ebx + 0x17]
test al, al
jns 0x4f66bc
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x10]
push eax
push dword [esp + 0x1c]
push esi
call fcn.004c17a0
add esp, 0xc
movzx eax, byte [esp + 0x7f]
test al, al
jns 0x4f66db
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
push eax
push esi
push edi
call fcn.0041482a
add esp, 0xc
cmp byte [esp + 0x7f], 0
jns 0x4f66f9
push dword [esp + 0x74]
call fcn.005dc756
add esp, 4
lea ecx, [esp + 0x80]
call fcn.004b6d50
mov esi, dword [esp + 8]
test esi, esi
je 0x4f6716
push esi
call fcn.005dc756
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x4f610f
push dword [esp + 0x58]
call fcn.005dc756
add esp, 4
jmp 0x4f610f
call fcn.00415df0
call fcn.00415df0
int3