Function at 0x470e1c
Capabilities:
Write file on windows

Disassembly:
push 0x304
mov eax, 0x4c06fc
call fcn.0049f5ab
mov ebx, ecx
mov esi, edx
push str.XpiInstaller_UnZipFile
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x168], esi
call fcn.00404bd0
xor edi, edi
push ebx
lea ecx, [ebp - 0x310]
mov dword [ebp - 4], edi
call fcn.0041c01b
xor ebx, ebx
inc ebx
mov byte [ebp - 4], bl
push dword [eax]
lea ecx, [ebp - 0x1a0]
call fcn.00404bd0
push eax
lea eax, [ebp - 0x184]
push eax
mov byte [ebp - 4], 2
call fcn.00401985
pop ecx
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x1a0]
call fcn.004058b3
lea eax, [ebp - 0x30c]
cmp dword [ebp - 0x310], eax
je 0x470ea9
push dword [ebp - 0x310]
call fcn.0049f900
pop ecx
or dword [ebp - 4], 0xffffffff
push edi
push ebx
lea ecx, [ebp - 0x184]
call fcn.004058b3
push str.XpiInstaller_sTargetFolder
lea ecx, [ebp - 0x184]
call fcn.00404bd0
push esi
lea ecx, [ebp - 0x310]
mov dword [ebp - 4], 3
call fcn.0041c01b
mov byte [ebp - 4], 4
push dword [eax]
lea ecx, [ebp - 0x1a0]
call fcn.00404bd0
push eax
lea eax, [ebp - 0x184]
push eax
mov byte [ebp - 4], 5
call fcn.00401985
pop ecx
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x1a0]
call fcn.004058b3
lea eax, [ebp - 0x30c]
cmp dword [ebp - 0x310], eax
je 0x470f28
push dword [ebp - 0x310]
call fcn.0049f900
pop ecx
or dword [ebp - 4], 0xffffffff
push edi
push ebx
lea ecx, [ebp - 0x184]
call fcn.004058b3
push dword [ebp - 0x15c]
call fcn.00478e5c
mov esi, eax
pop ecx
mov dword [ebp - 0x158], esi
call fcn.0047974d
test eax, eax
je 0x470f9e
push str.XpiInstaller__UnZipFile_INSTALLER_ERROR_ZIP_FILENAME__FAILED_
lea ecx, [ebp - 0x184]
call fcn.00404bd0
lea eax, [ebp - 0x184]
push 0xa
push eax
mov dword [ebp - 4], 6
call fcn.004018c5
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push edi
push ebx
lea ecx, [ebp - 0x184]
call fcn.004058b3
mov eax, esi
call fcn.004792c0
push 0xa
pop eax
call fcn.0049f62e
ret
push edi
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x13c], 0xf
call fcn.00405a99
mov dword [ebp - 4], 7
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0x158]
lea ebx, [ebp - 0x20c]
call fcn.004796c6
pop ecx
pop ecx
test eax, eax
jne 0x471154
push dword [ebp - 0x158]
call fcn.00479a2e
pop ecx
cmp eax, edi
jne 0x4711ac
mov ebx, 0x2800
cmp dword [ebp - 0x1f0], ebx
jbe 0x47100f
push ebx
call fcn.0049e091
pop ecx
mov esi, eax
mov dword [ebp - 0x160], ebx
jmp 0x471029
push dword [ebp - 0x1f0]
call fcn.0049e091
mov esi, eax
mov eax, dword [ebp - 0x1f0]
pop ecx
mov dword [ebp - 0x160], eax
push edi
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x120], 0xf
call fcn.00405a99
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x15c], edi
jmp 0x47105e
push ebx
push esi
lea eax, [ebp - 0x138]
call fcn.0041c1cb
add dword [ebp - 0x15c], ebx
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x158]
push esi
call fcn.00479bdc
mov ebx, eax
cmp ebx, edi
pop ecx
jg 0x47104b
jl 0x4711c4
push dword [ebp - 0x168]
lea ecx, [ebp - 0x154]
call fcn.00404e03
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0041c045
push dword [ebp - 0x168]
lea ecx, [ebp - 0x11c]
call fcn.00470ca0
pop ecx
test al, al
je 0x471221
cmp dword [ebp - 0x13c], 0x10
mov eax, dword [ebp - 0x150]
jae 0x4710d0
lea eax, [ebp - 0x150]
push 0x4f7080
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.004a3930
add esp, 0xc
cmp dword [ebp - 0x164], edi
je 0x471124
cmp dword [ebp - 0x120], 0x10
mov eax, dword [ebp - 0x134]
jae 0x471102
lea eax, [ebp - 0x134]
push dword [ebp - 0x164]
push dword [ebp - 0x15c]
push 1
push eax
call fcn.004a276c
push dword [ebp - 0x164]
call fcn.004a069e
add esp, 0x14
push esi
call fcn.0049eec0
pop ecx
push edi
push 1
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 7
call fcn.00404ec6
mov esi, dword [ebp - 0x158]
call fcn.0047979b
test eax, eax
je 0x470fbb
xor ebx, ebx
jmp 0x47118c
push str.XpiInstaller__UnZipFile_INSTALLER_ERROR_ZIP_FILE_INFO__FAILED_
lea ecx, [ebp - 0x184]
call fcn.00404bd0
mov byte [ebp - 4], 8
push 0xb
pop ebx
lea eax, [ebp - 0x184]
push ebx
push eax
call fcn.004018c5
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 7
call fcn.004058b3
mov eax, dword [ebp - 0x158]
call fcn.004792c0
push edi
push 1
lea ecx, [ebp - 0x154]
call fcn.00404ec6
mov eax, ebx
jmp 0x470f98
push str.XpiInstaller__UnZipFile_INSTALLER_ERROR_ZIP_FILE_OPEN__FAILED_
lea ecx, [ebp - 0x184]
call fcn.00404bd0
mov byte [ebp - 4], 9
push 0xc
jmp 0x47116a
push str.XpiInstaller__UnZipFile_INSTALLER_ERROR_ZIP_FILE_READ__FAILED_
lea ecx, [ebp - 0x184]
call fcn.00404bd0
push 0xd
pop ebx
lea eax, [ebp - 0x184]
push ebx
push eax
mov byte [ebp - 4], 0xb
call fcn.004018c5
pop ecx
pop ecx
lea ecx, [ebp - 0x184]
push edi
push 1
mov byte [ebp - 4], 0xa
call fcn.004058b3
mov eax, dword [ebp - 0x158]
call fcn.004792c0
push esi
call fcn.0049eec0
pop ecx
push edi
push 1
lea ecx, [ebp - 0x138]
call fcn.00404ec6
jmp 0x471197
push str.XpiInstaller__UnZipFile_INSTALLER_ERROR_ZIP_FILE_FOLDER__FAILED_
lea ecx, [ebp - 0x1bc]
call fcn.00404bd0
push 0xe
pop ebx
lea eax, [ebp - 0x1bc]
push ebx
push eax
mov byte [ebp - 4], 0xc
call fcn.004018c5
pop ecx
pop ecx
lea ecx, [ebp - 0x1bc]
jmp 0x4711f0