Function at 0x1d56f50
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, 0x150
mov eax, dword [0x1d8f008]
xor eax, ebp
mov dword [esp + 0x148], eax
mov esi, dword [ecx]
mov dword [ecx], 0
test esi, esi
je 0x1d56fe8
cmp byte [esi + 0x24], 0
jne 0x1d57049
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 [esi + 4]
call dword [sym.imp.KERNEL32.dll_UnlockFileEx]
test eax, eax
je 0x1d56ffe
lea ecx, [esi + 0x28]
call fcn.01d58a00
lea ecx, [esi + 0x18]
call fcn.01d39820
lea ecx, [esi + 0xc]
call fcn.01d39820
mov dword [esi], 0x1d7a374
cmp byte [esi + 8], 0
jne 0x1d5769b
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
je 0x1d56fdf
push eax
call fcn.01d59200
add esp, 4
push esi
call fcn.01cc3180
add esp, 4
mov ecx, dword [esp + 0x148]
xor ecx, ebp
call fcn.01cc3f9d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d56fa6
call fcn.01d37a60
lea edi, [esp + 0x74]
mov ecx, edi
push eax
push 2
push 0x145
push str.crash_report_database_win.cc
call fcn.01d37b90
lea eax, [esp + 0x7c]
push 0xc
push 0x1d87222
push eax
call fcn.01cfbdd0
add esp, 0xc
mov ecx, edi
call fcn.01d37bf0
jmp 0x1d56fa6
xor eax, eax
push eax
push eax
push eax
push dword [esi + 4]
call fcn.01d65ed0
add esp, 0x10
or edx, eax
je 0x1d570a6
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d56f83
lea edi, [esp + 0x74]
mov ecx, edi
push 2
push 0x20d
push str.crash_report_database_win.cc
call fcn.01d37050
lea eax, [esp + 0x7c]
push 0x19
push str.failed_to_rewind_to_write
push eax
call fcn.01cfbdd0
add esp, 0xc
mov ecx, edi
call fcn.01d37400
jmp 0x1d56f83
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x1d57102
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d56f83
call fcn.01d37a60
lea edi, [esp + 0x74]
mov ecx, edi
push eax
push 2
push 0x214
push str.crash_report_database_win.cc
call fcn.01d37b90
lea eax, [esp + 0x7c]
push 0x12
push str.failed_to_truncate
push eax
call fcn.01cfbdd0
add esp, 0xc
mov ecx, edi
call fcn.01d37bf0
jmp 0x1d56f83
mov ebx, dword [esi + 0x28]
mov edi, dword [esi + 0x2c]
mov eax, edi
sub eax, ebx
sar eax, 3
imul ecx, eax, 0xba2e8ba3
lea eax, [esp + 0x40]
mov dword [eax + 0xc], 0
mov dword [eax], 0x43504144
mov dword [eax + 4], 1
mov dword [esp + 4], ecx
mov dword [eax + 8], ecx
push 0x10
push eax
push dword [esi + 4]
call fcn.01d662a0
add esp, 0xc
test al, al
jne 0x1d5717f
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d56f83
lea edi, [esp + 0x74]
mov ecx, edi
push 2
push 0x220
push str.crash_report_database_win.cc
call fcn.01d37050
lea eax, [esp + 0x7c]
push 0x16
push str.failed_to_write_header
jmp 0x1d57091
cmp edi, ebx
je 0x1d56f83
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
cmp dword [esp + 4], 0x4924925
jae 0x1d5769e
lea ebx, [esp + 0x68]
lea eax, [esp + 0x74]
mov dword [eax + 0x10], ebx
imul edi, dword [esp + 4], 0x38
push edi
call fcn.01cc3150
add esp, 4
add edi, eax
mov dword [ebx - 0xc], eax
mov dword [ebx - 8], eax
mov dword [ebx - 4], edi
xorps xmm0, xmm0
lea ecx, [esp + 0x74]
movups xmmword [ecx], xmm0
call fcn.01d58a40
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], ecx
cmp eax, ecx
je 0x1d571f4
lea eax, [esi + 0xc]
mov dword [esp + 0x18], eax
jmp 0x1d573b3
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
je 0x1d57217
sub ecx, eax
push ecx
push eax
push dword [esi + 4]
call fcn.01d662a0
add esp, 0xc
test al, al
je 0x1d572a3
lea eax, [esp + 0x68]
movzx ecx, byte [eax + 0xb]
mov edx, ecx
and edx, 0x7f
test cl, cl
cmovs edx, dword [eax + 4]
cmovs eax, dword [eax]
push edx
push eax
push dword [esi + 4]
call fcn.01d662a0
add esp, 0xc
test al, al
jne 0x1d5727e
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d5727e
lea edi, [esp + 0x74]
mov ecx, edi
push 2
push 0x23d
push str.crash_report_database_win.cc
call fcn.01d37050
lea eax, [esp + 0x7c]
push 0x1c
push str.failed_to_write_string_table
push eax
call fcn.01cfbdd0
add esp, 0xc
mov ecx, edi
call fcn.01d37400
lea ecx, [esp + 0x5c]
call fcn.01d589c0
cmp byte [esp + 0x73], 0
jns 0x1d56f83
push dword [esp + 0x68]
call fcn.01cc3180
add esp, 4
jmp 0x1d56f83
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d5727e
lea edi, [esp + 0x74]
mov ecx, edi
push 2
push 0x238
push str.crash_report_database_win.cc
call fcn.01d37050
lea eax, [esp + 0x7c]
push 0x17
push str.failed_to_write_records
jmp 0x1d5726e
push 2
call fcn.01d36f50
add esp, 4
test al, al
je 0x1d5727e
lea ebx, [esp + 0x74]
mov ecx, ebx
push 2
push 0x22e
push str.crash_report_database_win.cc
call fcn.01d37050
lea eax, [esp + 0x7c]
push edi
push eax
call fcn.01d39b30
add esp, 8
push 0x18
push str._expected_to_start_with
push eax
call fcn.01cfbdd0
add esp, 0xc
push dword [esp + 0x18]
push eax
call fcn.01d39b30
add esp, 8
mov ecx, ebx
jmp 0x1d57279
cmp dword [esp + 8], 0
je 0x1d57680
movaps xmm0, xmmword [esp + 0x130]
mov eax, dword [esp + 8]
movups xmmword [eax], xmm0
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edi
mov cl, byte [esp + 3]
mov byte [eax + 0x30], cl
mov cl, byte [esp + 2]
mov byte [eax + 0x31], cl
mov dword [eax + 0x32], 0
mov word [eax + 0x36], 0
add eax, 0x38
mov dword [esp + 0x60], eax
mov ecx, eax
mov eax, dword [esp + 0xc]
add eax, 0x58
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x3c]
je 0x1d571f8
mov eax, dword [esp + 0xc]
lea edi, [eax + 0x10]
mov ecx, edi
lea ebx, [esp + 0x74]
push ebx
call fcn.01d39e90
mov ecx, ebx
push dword [esp + 0x18]
call fcn.01d39ab0
mov ebx, eax
lea ecx, [esp + 0x74]
call fcn.01d39820
test bl, bl
jne 0x1d572d5
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x130], xmm0
mov ecx, edi
lea eax, [esp + 0x11c]
push eax
call fcn.01d39ff0
movzx eax, byte [esp + 0x127]
test al, al
js 0x1d5741a
and eax, 0x7f
lea edx, [esp + 0x11c]
jmp 0x1d57428
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x11c]
lea ecx, [esp + 0x128]
push eax
push edx
call fcn.01cf1490
push dword [esp + 0x12c]
push dword [esp + 0x12c]
lea edi, [esp + 0x7c]
push edi
call fcn.01d2d440
add esp, 0xc
lea ecx, [esp + 0x68]
mov edx, edi
call fcn.01d58a90
mov dword [esp + 0x34], eax
cmp byte [esp + 0x7f], 0
jns 0x1d57473
push dword [esp + 0x74]
call fcn.01cc3180
add esp, 4
lea ecx, [esp + 0x11c]
call fcn.01d39820
mov edi, dword [esp + 0xc]
lea edx, [edi + 0x1c]
lea ecx, [esp + 0x68]
call fcn.01d58a90
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x30], eax
mov al, byte [edi + 0x44]
add al, al
or al, byte [edi + 0x30]
mov byte [esp + 3], al
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x24], eax
mov al, byte [edi + 0x45]
mov byte [esp + 2], al
mov eax, dword [edi + 0x38]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x40]
mov dword [esp + 0x20], eax
mov edi, dword [edi + 0x50]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0x38], ecx
cmp eax, ecx
jb 0x1d5732c
xor eax, eax
dec eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 8]
mov dword [esp + 4], ecx
sub eax, ecx
sar eax, 3
imul ebx, eax, 0xb6db6db7
lea eax, [ebx + 1]
cmp eax, 0x4924925
jae 0x1d5769e
mov edx, eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 4]
sar eax, 3
imul eax, eax, 0xb6db6db7
lea ecx, [eax + eax]
cmp ecx, edx
cmova edx, ecx
cmp eax, 0x2492492
mov eax, 0x4924924
cmovae edx, eax
mov dword [esp + 0x80], 0
lea eax, [esp + 0x68]
mov dword [esp + 0x84], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
test edx, edx
je 0x1d57586
cmp dword [esp + 0x10], 0x4924925
jae 0x1d576a3
imul eax, dword [esp + 0x10], 0x38
push eax
call fcn.01cc3150
add esp, 4
mov dword [esp + 0x14], eax
imul eax, ebx, 0x38
add eax, dword [esp + 0x14]
je 0x1d57680
movaps xmm0, xmmword [esp + 0x130]
mov edx, eax
movups xmmword [eax], xmm0
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x24], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edi
mov cl, byte [esp + 3]
mov byte [eax + 0x30], cl
mov cl, byte [esp + 2]
mov byte [eax + 0x31], cl
mov dword [eax + 0x32], 0
mov word [eax + 0x36], 0
mov ecx, dword [esp + 4]
cmp dword [esp + 8], ecx
je 0x1d57631
mov ecx, eax
mov ebx, dword [esp + 8]
movsd xmm0, qword [ebx - 8]
movsd qword [ecx - 8], xmm0
movups xmm0, xmmword [ebx - 0x18]
movups xmmword [ecx - 0x18], xmm0
movups xmm0, xmmword [ebx - 0x38]
movups xmm1, xmmword [ebx - 0x28]
lea edi, [ebx - 0x38]
lea edx, [ecx - 0x38]
movups xmmword [ecx - 0x28], xmm1
movups xmmword [ecx - 0x38], xmm0
mov ecx, edx
mov ebx, edi
cmp edi, dword [esp + 4]
jne 0x1d575ff
imul ecx, dword [esp + 0x10], 0x38
mov ebx, dword [esp + 0x14]
add ebx, ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x78], edx
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov edi, eax
add edi, 0x38
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov dword [esp + 0x74], edx
lea ecx, [esp + 0x74]
call fcn.01d58a40
mov ecx, edi
mov dword [esp + 0x60], edi
jmp 0x1d5739e
push str.null_pointer_given_to_construct_at
push str.__location___nullptr
push 0x28
push str....._third_partylibc_srcinclude__memoryconstruct_at.h
push str._s:_d:_assertion__s_failed:__s_n
call fcn.01cfd380
int3
call fcn.01cf2840
call fcn.01cf0bc0
int3