Function at 0x4093b0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x442773
mov eax, dword fs:[0]
push eax
sub esp, 0x3e4
mov eax, dword [0x45c070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3bc], edx
xor eax, eax
mov dword [ebp - 0x364], 7
mov dword [ebp - 0x368], 0
mov word [ebp - 0x378], ax
mov dword [ebp - 4], eax
mov dword [ebp - 0x330], 7
mov dword [ebp - 0x334], eax
mov word [ebp - 0x344], ax
mov edx, str.Start_unpacking_the_package...
mov byte [ebp - 4], 1
mov ecx, 0x45cfb8
call fcn.0040bbb0
push eax
call fcn.0040be60
add esp, 4
lea ecx, [ebp - 0x398]
cmp dword [0x45e244], 8
mov eax, 0x45e230
cmovae eax, dword [0x45e230]
call fcn.00415ee0
mov edx, ecx
mov ecx, eax
call fcn.00416a70
mov ebx, eax
test ebx, ebx
je 0x4094ba
push 0x10
call fcn.0041ed8c
mov edi, eax
add esp, 4
mov dword [ebp - 0x3b8], edi
test edi, edi
je 0x4094ba
mov edx, edi
mov ecx, ebx
call fcn.00416b00
test eax, eax
je 0x409533
push dword [edi + 4]
mov edx, str.The_number_of_compressed_package_files_is
mov ecx, 0x45cfb8
push dword [edi]
call fcn.0040bbb0
mov ecx, eax
call fcn.00409ca0
push eax
call fcn.0040be60
add esp, 4
push 0x10
push edi
call fcn.0041eb5f
add esp, 8
xor esi, esi
mov eax, dword [ebp - 0x330]
cmp eax, 8
jb 0x4094da
inc eax
lea ecx, [ebp - 0x344]
push eax
push dword [ebp - 0x344]
call fcn.00407820
mov ecx, dword [ebp - 0x364]
xor eax, eax
mov dword [ebp - 0x330], 7
mov dword [ebp - 0x334], 0
mov word [ebp - 0x344], ax
cmp ecx, 8
jb 0x409515
inc ecx
push ecx
push dword [ebp - 0x378]
lea ecx, [ebp - 0x378]
call fcn.00407820
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e8a6
mov esp, ebp
pop ebp
ret
push 0x58
call fcn.0041ed8c
mov esi, eax
add esp, 4
mov dword [ebp - 0x3b4], esi
test esi, esi
je 0x409a2b
push 0x104
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.00421ce0
add esp, 0xc
lea eax, [ebp - 0x220]
push 0x104
push 0
push eax
call fcn.00421ce0
add esp, 0xc
lea eax, [ebp - 0x328]
push 0x104
push 0
push eax
call fcn.00421ce0
add esp, 0xc
mov dword [ebp - 0x3c0], 0
cmp dword [edi + 4], 0
jb 0x409a1b
ja 0x4095b0
cmp dword [edi], 0
jbe 0x409a1b
nop
push ecx
lea eax, [ebp - 0x328]
mov edx, esi
push eax
push ecx
lea eax, [ebp - 0x220]
push eax
push ecx
lea eax, [ebp - 0x118]
mov ecx, ebx
push eax
call fcn.004170b0
test eax, eax
jne 0x409abb
mov edx, str.ZipName:
mov ecx, 0x45cfb8
call fcn.0040bbb0
lea edx, [ebp - 0x118]
mov ecx, eax
call fcn.0040bbb0
mov edx, str.Extra:
mov ecx, eax
call fcn.0040bbb0
lea edx, [ebp - 0x220]
mov ecx, eax
call fcn.0040bbb0
mov edx, str.Comm:
mov ecx, eax
call fcn.0040bbb0
lea edx, [ebp - 0x328]
mov ecx, eax
call fcn.0040bbb0
push eax
call fcn.0040be60
add esp, 4
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0x3d8]
push eax
call fcn.004075c0
lea edx, [ebp - 0x3d8]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3b0]
call fcn.0040e6a0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x3c4]
cmp eax, 0x10
jb 0x409679
inc eax
lea ecx, [ebp - 0x3d8]
push eax
push dword [ebp - 0x3d8]
call fcn.00407730
cmp dword [esi + 0x3c], 0x10
mov dword [ebp - 0x3c4], 0xf
mov dword [ebp - 0x3c8], 0
mov byte [ebp - 0x3d8], 0
je 0x4099a7
push 1
push ecx
lea eax, [ebp - 0x32c]
mov dword [ebp - 0x32c], 0x2f
push eax
lea ecx, [ebp - 0x3b0]
call fcn.0040a870
mov ecx, dword [ebp - 0x3a0]
dec ecx
cmp eax, ecx
je 0x4099a7
xor eax, eax
mov dword [ebp - 0x34c], 7
mov dword [ebp - 0x350], 0
mov word [ebp - 0x360], ax
mov edx, dword [ebp - 0x3bc]
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 5
call fcn.00406450
add esp, 4
lea ecx, [ebp - 0x378]
push eax
call fcn.00405be0
lea ecx, [ebp - 0x390]
call fcn.004078f0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x360]
call fcn.00406f70
push ecx
push 0x453244
lea ecx, [ebp - 0x378]
call fcn.00409c50
push ecx
push 0x452880
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x32c], eax
call fcn.00409c50
mov ecx, dword [ebp - 0x32c]
cmp eax, 0xffffffff
jne 0x40977c
cmp ecx, eax
jne 0x40977c
lea ecx, [ebp - 0x360]
call fcn.004078f0
jmp 0x4099eb
cmp ecx, eax
cmovg eax, ecx
lea ecx, [ebp - 0x378]
inc eax
push eax
push 0
lea eax, [ebp - 0x390]
push eax
call fcn.00405b00
push eax
lea ecx, [ebp - 0x344]
call fcn.00405be0
lea ecx, [ebp - 0x390]
call fcn.004078f0
cmp dword [ebp - 0x330], 8
lea eax, [ebp - 0x344]
cmovae eax, dword [ebp - 0x344]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x409835
push 0x452880
lea ecx, [ebp - 0x390]
call fcn.00405c60
push 0x453244
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 6
call fcn.00405c60
lea eax, [ebp - 0x390]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x3f0]
lea ecx, [ebp - 0x344]
call fcn.0040e950
add esp, 4
lea ecx, [ebp - 0x3f0]
call fcn.004078f0
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 5
call fcn.004078f0
lea ecx, [ebp - 0x344]
call fcn.00407db0
push 0x452880
lea ecx, [ebp - 0x3f0]
call fcn.00405c60
push 0x453244
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 8
call fcn.00405c60
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 9
push eax
lea edx, [ebp - 0x390]
lea ecx, [ebp - 0x360]
call fcn.0040e950
add esp, 4
lea ecx, [ebp - 0x390]
call fcn.004078f0
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 5
call fcn.004078f0
cmp dword [ebp - 0x34c], 8
lea eax, [ebp - 0x360]
push 0
cmovae eax, dword [ebp - 0x360]
push 0x80000000
push 4
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
mov dword [ebp - 0x32c], esi
cmp esi, 0xffffffff
je 0x409a88
mov ecx, ebx
call fcn.00417650
test eax, eax
jne 0x409a81
mov edi, dword [ebp - 0x3b4]
mov edi, dword [edi + 0x20]
push edi
call fcn.004289e4
mov esi, eax
add esp, 4
test esi, esi
je 0x409a5f
nop dword [eax + eax]
push edi
push 0
push esi
call fcn.00421ce0
add esp, 0xc
mov edx, esi
mov ecx, ebx
push edi
call fcn.00417660
test eax, eax
js 0x409941
je 0x40996e
push 0
lea eax, [ebp - 0x348]
mov dword [ebp - 0x348], 0
push eax
push edi
push esi
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x409900
mov ecx, ebx
call fcn.00417900
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x58
push dword [ebp - 0x3b4]
call fcn.0041eb5f
push 0x10
push dword [ebp - 0x3b8]
jmp 0x409a98
mov ecx, ebx
call fcn.00417900
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.00424294
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x360]
call fcn.004078f0
mov edi, dword [ebp - 0x3b8]
mov esi, dword [ebp - 0x3b4]
jmp 0x4099e4
mov edx, dword [ebp - 0x3bc]
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp - 0x390]
call fcn.00406450
add esp, 4
lea ecx, [ebp - 0x344]
push eax
call fcn.00405be0
lea ecx, [ebp - 0x390]
call fcn.004078f0
lea ecx, [ebp - 0x344]
call fcn.00407db0
mov ecx, ebx
call fcn.00417140
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 1
call fcn.004078f0
mov eax, dword [ebp - 0x3c0]
inc eax
mov dword [ebp - 0x3c0], eax
cdq
cmp edx, dword [edi + 4]
ja 0x409a1b
jb 0x4095b0
cmp eax, dword [edi]
jb 0x4095b0
push 0x58
push dword [ebp - 0x3b4]
call fcn.0041eb5f
add esp, 8
push 0x10
push edi
call fcn.0041eb5f
add esp, 8
mov ecx, ebx
call fcn.00416ac0
mov edx, str.End_unpacking_the_package...
mov ecx, 0x45cfb8
call fcn.0040bbb0
push eax
call fcn.0040be60
add esp, 4
mov esi, 1
jmp 0x4094bc
lea ecx, [ebp - 0x360]
call fcn.004078f0
lea ecx, [ebp - 0x3b0]
mov byte [ebp - 4], 1
call fcn.004078f0
mov edi, dword [ebp - 0x3b8]
jmp 0x409a1b
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x58
push dword [ebp - 0x3b4]
call fcn.0041eb5f
push 0x10
push edi
call fcn.0041eb5f
add esp, 0x10
lea ecx, [ebp - 0x360]
call fcn.004078f0
lea ecx, [ebp - 0x3b0]
call fcn.004078f0
jmp 0x4094ba
push 0x58
push esi
call fcn.0041eb5f
push 0x10
push edi
call fcn.0041eb5f
add esp, 0x10
jmp 0x4094ba