Function at 0x4083e9
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
push edi
mov al, byte [0x410f90]
mov byte [ebp - 0x108], al
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x107]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and dword [ebp - 0x110], 0
mov dword [ebp - 0x114], 0x410f90
and dword [ebp - 0x124], 0
push 0
push 0
push 0
push 0
push 0x104
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x174]
push eax
push dword [ebp + 8]
call fcn.00405517
add esp, 0x20
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x408466
push str.Could_not_get_file_info._This_archive_is_likely_corrupted.
call fcn.00406228
pop ecx
push 4
push 0x1000
push 0xffff
push 0
call dword [sym.imp.KERNEL32.DLL_VirtualAlloc]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
test eax, eax
je 0x4084c8
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
cmp eax, 0x2f
je 0x4084b5
mov eax, dword [ebp - 4]
movsx eax, byte [eax]
cmp eax, 0x5c
jne 0x4084bf
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
jmp 0x408495
mov eax, dword [ebp - 0x11c]
movsx eax, byte [eax]
test eax, eax
jne 0x408523
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
push str._s_s
lea eax, [ebp - 0x384]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x384]
push eax
call fcn.00407278
pop ecx
push eax
lea eax, [ebp - 0x384]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
lea eax, [ebp - 0x384]
push eax
call fcn.004070e6
pop ecx
xor eax, eax
jmp 0x408770
lea eax, [ebp - 0x108]
push eax
push dword [ebp + 0xc]
push str._s_s
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push dword [ebp + 8]
call fcn.004059f5
pop ecx
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
je 0x408565
push str.Could_not_get_file_info._This_archive_is_likely_corrupted.
call fcn.00406228
pop ecx
push 0
lea eax, [ebp - 0x488]
push eax
push 0x104
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.KERNEL32.DLL_GetFullPathNameA]
lea eax, [ebp - 0x488]
push eax
call fcn.00407278
pop ecx
push eax
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
jne 0x408678
mov eax, dword [ebp - 0x11c]
lea ecx, [ebp - 0x108]
cmp eax, ecx
je 0x408678
lea eax, [ebp - 0x488]
push eax
call fcn.00406942
pop ecx
mov dword [ebp - 0x48c], eax
push 0x40d27c
push dword [ebp - 0x48c]
push 0
call fcn.00406584
add esp, 0xc
mov dword [ebp - 0x490], eax
push dword [ebp - 0x48c]
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
sub eax, dword [ebp - 0x490]
mov dword [ebp - 0x490], eax
push dword [ebp - 0x490]
push dword [ebp - 0x48c]
call fcn.00406942
pop ecx
push eax
call fcn.004064da
pop ecx
pop ecx
mov dword [ebp - 0x48c], eax
push dword [ebp - 0x48c]
call fcn.004070e6
pop ecx
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x488]
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0xffffffff
jne 0x40868c
push str.Could_not_extract_the_current_file.
call fcn.00406228
pop ecx
push 0xffff
push dword [ebp - 0x10c]
push dword [ebp + 8]
call fcn.00405e0a
add esp, 0xc
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jge 0x4086bc
push str.Could_not_get_file_info._This_archive_is_likely_corrupted.
call fcn.00406228
pop ecx
cmp dword [ebp - 0x110], 0
jle 0x4086f5
push 0
lea eax, [ebp - 0x120]
push eax
push dword [ebp - 0x110]
push dword [ebp - 0x10c]
push dword [ebp - 0x118]
call dword [sym.imp.KERNEL32.DLL_WriteFile]
test eax, eax
jne 0x4086f5
push str.Could_not_extract_the_current_file.
call fcn.00406228
pop ecx
cmp dword [ebp - 0x110], 0
jg 0x40868c
lea eax, [ebp - 0x17c]
push eax
push dword [ebp - 0x160]
push dword [ebp - 0x15e]
call dword [sym.imp.KERNEL32.DLL_DosDateTimeToFileTime]
lea eax, [ebp - 0x17c]
push eax
lea eax, [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.DLL_LocalFileTimeToFileTime]
lea eax, [ebp - 0x17c]
push eax
push 0
push 0
push dword [ebp - 0x118]
call dword [sym.imp.KERNEL32.DLL_SetFileTime]
push dword [ebp - 0x118]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 0x4000
push 0
push dword [ebp - 0x10c]
call dword [sym.imp.KERNEL32.DLL_VirtualFree]
push dword [ebp + 8]
call fcn.004060e5
pop ecx
mov eax, dword [ebp - 0x110]
pop edi
leave
ret