Function at 0x461e06
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4f0c28
push 0x4a1450
mov eax, dword fs:[0]
push eax
push ecx
push ecx
mov eax, 0x4760
call fcn.0049dfb0
mov eax, dword [0x4f4284]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, ecx
mov dword [ebp - 0x4144], edi
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4114], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4140], eax
xor esi, esi
mov ebx, esi
mov dword [ebp - 0x40dc], ebx
mov ecx, dword [edi]
test ecx, ecx
jne 0x461e77
push 6
pop eax
jmp 0x4625de
mov eax, esi
mov dword [ebp - 0x40d8], eax
mov dword [ebp - 0x410c], eax
mov dword [ebp - 0x4150], ecx
mov dword [ebp - 0x4158], 0x461d1e
mov dword [ebp - 0x4154], 0x461d82
push esi
lea eax, [ebp - 0x40d4]
push eax
call fcn.004819d0
pop ecx
pop ecx
lea eax, [ebp - 0x4158]
mov dword [ebp - 0x40c4], eax
mov dword [ebp - 0x4138], fcn.00484167
mov dword [ebp - 0x4134], fcn.0048417f
mov dword [ebp - 0x4130], fcn.00484167
mov dword [ebp - 0x412c], fcn.0048417f
call fcn.004818cd
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482ca2
lea eax, [ebp - 0x4130]
push eax
lea eax, [ebp - 0x4138]
push eax
lea eax, [ebp - 0x40d4]
push eax
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482ce6
add esp, 0x14
mov dword [ebp - 0x40f8], eax
test eax, eax
je 0x461f81
push 2
pop esi
push esi
call fcn.00432780
pop ecx
test al, al
je 0x461f65
push esi
push 0xb8
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x4290]
call fcn.00431700
push dword [ebp - 0x40f8]
push str.Error_returned_by_SzArchiveOpen:
add eax, 8
push eax
call fcn.00431db0
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
xor ebx, ebx
inc ebx
test bl, 1
je 0x461f75
lea ecx, [ebp - 0x4290]
call fcn.00431880
mov dword [edi + 0xc], 3
jmp 0x461e6f
mov dword [ebp - 0x40f4], esi
or dword [ebp - 0x4120], 0xffffffff
mov dword [ebp - 0x411c], esi
push dword [ebp - 0x4114]
lea ecx, [ebp - 0xb8]
call fcn.00471d12
mov dword [edi + 0xc], esi
mov ecx, esi
push 2
pop esi
mov dword [ebp - 0x40e0], ecx
cmp ecx, dword [ebp - 0x41a0]
jae 0x4625a4
xor eax, eax
mov dword [ebp - 0x4118], eax
mov dword [ebp - 0x40f0], eax
mov dword [ebp - 0x4110], eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x4130]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x40f0]
push eax
lea eax, [ebp - 0x4118]
push eax
lea eax, [ebp - 0x411c]
push eax
lea eax, [ebp - 0x40f4]
push eax
lea eax, [ebp - 0x4120]
push eax
push ecx
lea eax, [ebp - 0x40d4]
push eax
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482a95
add esp, 0x28
mov dword [ebp - 0x40f8], eax
test eax, eax
je 0x4621ad
push esi
call fcn.00432780
pop ecx
test al, al
je 0x462072
or ebx, esi
mov dword [ebp - 0x40dc], ebx
push esi
push 0xd1
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x4340]
call fcn.00431700
push dword [ebp - 0x40f8]
push str.Error_returned_by_SzExtract:
add eax, 8
push eax
call fcn.00431db0
pop ecx
pop ecx
mov ecx, eax
call fcn.00416422
test bl, 2
je 0x46208b
and ebx, 0xfffffffd
mov dword [ebp - 0x40dc], ebx
lea ecx, [ebp - 0x4340]
call fcn.00431880
push 6
pop eax
mov dword [ebp - 0x40d8], eax
mov dword [ebp - 0x410c], eax
mov dword [edi + 0xc], 4
jmp 0x4621ad
mov dword [ebp - 4], 0xfffffffe
cmp dword [ebp - 0x40d8], 0
jne 0x4625a4
push 0
mov ecx, dword [ebp - 0x40e0]
push ecx
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482c5f
add esp, 0xc
cmp eax, 1
jae 0x462233
push esi
call fcn.00432780
pop ecx
test al, al
je 0x462212
or ebx, 8
push esi
push 0xe4
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x4550]
call fcn.00431700
push str.Couldnt_get_file_name
add eax, 8
push eax
call fcn.00431db0
pop ecx
pop ecx
test bl, 8
je 0x462222
lea ecx, [ebp - 0x4550]
call fcn.00431880
push 6
pop eax
mov dword [ebp - 0x40d8], eax
mov dword [edi + 0xc], eax
jmp 0x4625a4
push eax
lea ecx, [ebp - 0x4104]
call fcn.00461c09
push dword [ebp - 0x4104]
push dword [ebp - 0x40e0]
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482c5f
add esp, 0xc
mov eax, dword [ebp - 0x4100]
add eax, 0xfffffffe
mov dword [ebp - 0x4160], eax
lea ecx, [ebp - 0x40e5]
push ecx
push eax
push dword [ebp - 0x4104]
lea ecx, [ebp - 0x64]
call fcn.00461b56
push ecx
push ecx
mov ecx, esp
push eax
call fcn.00415fd3
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x4114]
call fcn.00437dc0
lea ecx, [ebp - 0x64]
call fcn.00434920
mov ecx, dword [ebp - 0x4140]
test ecx, ecx
je 0x4622b3
lea eax, [ebp - 0x34]
push eax
call fcn.00437b20
mov ecx, dword [ebp - 0x40e0]
and ecx, 7
mov edx, 0x80
sar edx, cl
mov dword [ebp - 0x414c], edx
mov ecx, dword [ebp - 0x40e0]
shr ecx, 3
mov dword [ebp - 0x4128], ecx
mov eax, dword [ebp - 0x4198]
test byte [ecx + eax], dl
je 0x46230d
lea eax, [ebp - 0x34]
push eax
mov ecx, edi
call fcn.00461c7d
lea ecx, [ebp - 0x34]
call fcn.00434920
lea ecx, [ebp - 0x4104]
call fcn.00462819
mov ecx, dword [ebp - 0x40e0]
inc ecx
jmp 0x461fad
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x34]
call fcn.00438610
push eax
mov ecx, edi
call fcn.00461c7d
lea ecx, [ebp - 0x4c]
call fcn.00434920
lea eax, [ebp - 0x34]
cmp dword [ebp - 0x20], 8
cmovae eax, dword [ebp - 0x34]
xor ecx, ecx
push ecx
push 0x80
push esi
push ecx
push ecx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edx, eax
mov dword [ebp - 0x40e4], edx
cmp edx, 0xffffffff
jne 0x4623c1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40d8], eax
push esi
call fcn.00432780
pop ecx
test al, al
je 0x4623a5
or ebx, 0x10
push esi
push 0x100
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x44a0]
call fcn.00431700
push dword [ebp - 0x40d8]
push str.Error_returned_by_CreateFile:
add eax, 8
push eax
call fcn.00431db0
pop ecx
pop ecx
mov ecx, eax
call fcn.0042f288
test bl, 0x10
je 0x4623b5
lea ecx, [ebp - 0x44a0]
call fcn.00431880
mov dword [edi + 0xc], 7
jmp 0x462591
push 0
lea eax, [ebp - 0x413c]
push eax
push dword [ebp - 0x40f0]
mov eax, dword [ebp - 0x40f4]
add eax, dword [ebp - 0x4118]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x462528
mov eax, dword [ebp - 0x413c]
cmp eax, dword [ebp - 0x40f0]
jne 0x462528
mov edx, dword [ebp - 0x4184]
test edx, edx
je 0x4624b3
mov eax, dword [ebp - 0x414c]
mov ecx, dword [ebp - 0x4128]
test byte [ecx + edx], al
je 0x4624b3
mov eax, dword [ebp - 0x4180]
mov ecx, dword [ebp - 0x40e0]
lea eax, [eax + ecx*8]
push eax
push 0
push 0
push dword [ebp - 0x40e4]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x4624b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40d8], eax
push esi
call fcn.00432780
pop ecx
test al, al
je 0x46248b
or ebx, 0x40
call sub.KERNEL32.dll_GetLastError
push eax
push esi
push 0x113
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x4608]
call fcn.00431820
push str.Error_returned_by_SetFileTime
add eax, 0x10
push eax
call fcn.00431db0
pop ecx
pop ecx
test bl, 0x40
je 0x46249b
lea ecx, [ebp - 0x4608]
call fcn.00431af0
push dword [ebp - 0x40e4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0xc], 9
jmp 0x462591
push dword [ebp - 0x40e4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x4622ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40d8], eax
push esi
call fcn.00432780
pop ecx
test al, al
je 0x462510
or ebx, 0x80
call sub.KERNEL32.dll_GetLastError
push eax
push esi
push 0x11b
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x46c0]
call fcn.00431820
push str.Error_returned_by_CloseHandle
add eax, 0x10
push eax
call fcn.00431db0
pop ecx
pop ecx
test bl, bl
jns 0x46251f
lea ecx, [ebp - 0x46c0]
call fcn.00431af0
mov dword [edi + 0xc], 0xa
jmp 0x462591
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x40d8], eax
push esi
call fcn.00432780
pop ecx
test al, al
je 0x46256e
or ebx, 0x20
call sub.KERNEL32.dll_GetLastError
push eax
push esi
push 0x109
push str.c:_bc_bwin_archive_srcchromeinstallerutillzma_util.cc
lea ecx, [ebp - 0x4778]
call fcn.00431820
push str.Error_returned_by_WriteFile
add eax, 0x10
push eax
call fcn.00431db0
pop ecx
pop ecx
test bl, 0x20
je 0x46257e
lea ecx, [ebp - 0x4778]
call fcn.00431af0
push dword [ebp - 0x40e4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0xc], 8
lea ecx, [ebp - 0x34]
call fcn.00434920
lea ecx, [ebp - 0x4104]
call fcn.00462819
push dword [ebp - 0x40f4]
lea eax, [ebp - 0xb8]
push eax
call dword [ebp - 0xb4]
lea eax, [ebp - 0x4138]
push eax
lea eax, [ebp - 0x41e0]
push eax
call fcn.00482beb
add esp, 0x10
lea ecx, [ebp - 0xb8]
call fcn.00471d8a
mov eax, dword [ebp - 0x40d8]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.0049d8a1
mov esp, ebp
pop ebp
ret 8