Function at 0x412968
Capabilities:
Write file on windows

Disassembly:
push 0x120
mov eax, 0x4468ef
call fcn.00429d79
mov eax, dword [ebp + 8]
mov dword [ebp - 0x118], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x11c], ecx
mov ecx, dword [ebp + 0x14]
mov edi, edx
xor esi, esi
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x120], esi
lea edx, [ebp - 0x120]
push edx
push esi
push esi
mov dword [ebp - 4], esi
mov eax, dword [eax]
mov ecx, dword [eax]
push esi
push dword [edi]
push eax
call dword [ecx + 0x10]
cmp eax, esi
jge 0x4129ff
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 1
lea eax, [ebp - 0x2c]
lea esi, [ebp - 0x70]
call fcn.00416a20
push 0x455268
mov eax, esi
push eax
call fcn.0042a64b
push dword [ebp - 0x118]
lea esi, [ebp - 0xc4]
call fcn.00409c54
push 0x44c80c
mov eax, esi
push eax
mov byte [ebp - 4], 2
call fcn.00410ec1
push dword [edi]
mov eax, esi
push eax
call fcn.00410ec1
push 0xf
pop esi
xor edi, edi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x98], edi
mov byte [ebp - 0xa8], 0
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 3
call fcn.00407f46
pop ecx
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x7c], edi
mov byte [ebp - 0x8c], 0
lea eax, [ebp - 0x110]
push eax
lea edi, [ebp - 0x8c]
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 4
call fcn.00413c81
pop ecx
test al, al
jne 0x412ab0
and dword [ebp - 0x1c], 0
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x2c], al
call fcn.0040366e
mov byte [ebp - 4], 5
jmp 0x4129e7
mov edi, dword [ebp - 0x11c]
push 1
lea ecx, [ebp - 0xa8]
call fcn.00404461
xor esi, esi
push esi
push esi
push esi
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov eax, dword [ebp - 0x114]
mov ecx, 0xa00000
cmp dword [eax + 0xc], esi
ja 0x412af5
cmp dword [eax + 8], ecx
jbe 0x412b3d
mov dword [ebp - 0x114], ecx
push dword [ebp - 0x114]
call fcn.0042824d
mov edi, eax
pop ecx
mov dword [ebp - 0x118], edi
mov byte [ebp - 4], 7
cmp edi, esi
jne 0x412b93
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 8
jmp 0x4129e7
mov eax, dword [eax + 8]
mov dword [ebp - 0x114], eax
cmp eax, esi
jne 0x412afb
mov dword [ebp - 0x50], vtable.TUnpackingUpdateRequest.0
mov eax, dword [ebp - 0x128]
mov byte [ebp - 4], 6
inc dword [eax]
mov eax, dword [eax]
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x50]
push eax
call fcn.0041139b
jmp 0x412d83
mov eax, dword [ebp - 0x120]
lea edx, [ebp - 0x10c]
push edx
push dword [ebp - 0x114]
mov dword [ebp - 0x10c], esi
push edi
mov dword [ebp - 0x12c], esi
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0x11c], eax
cmp eax, esi
jge 0x412be9
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 9
jmp 0x4129e7
push esi
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x10c]
push edi
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x412c41
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edi, [ebp - 0x8c]
call fcn.00413b8b
pop ecx
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 0xa
jmp 0x4129e7
mov eax, dword [ebp - 0x10c]
add dword [ebx], eax
mov dword [ebp - 0x50], vtable.TUnpackingUpdateRequest.0
adc dword [ebx + 4], esi
mov esi, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
mov byte [ebp - 4], 0xb
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x50]
push eax
call fcn.0041139b
jmp 0x412d2f
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
lea edx, [ebp - 0x10c]
push edx
push dword [ebp - 0x114]
push dword [ebp - 0x118]
push eax
call dword [ecx + 0xc]
mov dword [ebp - 0x11c], eax
test eax, eax
js 0x412e00
push 0
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 0x10c]
push dword [ebp - 0x118]
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x412dc9
mov eax, dword [ebp - 0x10c]
add dword [ebx], eax
mov dword [ebp - 0x30], vtable.TUnpackingUpdateRequest.0
adc dword [ebx + 4], 0
mov byte [ebp - 4], 0xe
mov eax, dword [esi]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x30]
push eax
call fcn.0041139b
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x11c], 0
je 0x412c93
push dword [ebp - 0x110]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc dword [esi]
mov eax, dword [ebp + 0x18]
mov esi, dword [esi]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x48], esi
call fcn.0041139b
push dword [ebp - 0x118]
call fcn.00428258
pop ecx
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x8c]
call fcn.00403a1b
push esi
push 1
lea ecx, [ebp - 0xa8]
call fcn.00403a1b
push esi
push 1
lea ecx, [ebp - 0xc4]
call fcn.00409b07
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x120]
cmp eax, esi
je 0x412dc1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call fcn.00429dfc
ret 0x1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea edi, [ebp - 0x8c]
call fcn.00413b8b
and dword [ebp - 0x1c], 0
pop ecx
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 0xd
jmp 0x412e22
and dword [ebp - 0x1c], 0
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040366e
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x2c]
lea esi, [ebp - 0x108]
call fcn.00416a20
push 0x455268
mov eax, esi
jmp 0x4129f9