Function at 0x431586
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
mov eax, 0x1244
call fcn.004d7290
sub esp, eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4f2995
lea eax, [ebp - 0x119]
mov dword [esp], eax
call sym.__jailfile
test eax, eax
jns 0x431655
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Invalid_file_name
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x8d
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Invalid_file_name
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x431643
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x8e
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
jmp 0x431af3
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x4f2995
lea eax, [ebp - 0x21e]
mov dword [esp], eax
call sym.__jailfile
test eax, eax
jns 0x431714
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Invalid_file_name
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x93
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Invalid_file_name
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x431702
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x94
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
jmp 0x431af3
mov dword [esp + 4], 0x4f2a46
lea eax, [ebp - 0x119]
mov dword [esp], eax
call sym._gzopen
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x4317db
lea eax, [ebp - 0x119]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Unable_to_open__s
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x99
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Unable_to_open_source
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x4317c9
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0x9a
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
jmp 0x431af3
mov dword [esp + 4], 0x4f2a8e
lea eax, [ebp - 0x21e]
mov dword [esp], eax
call sym._fopen
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x431994
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._gzclose
lea eax, [ebp - 0x21e]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Unable_to_open__s
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xa0
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Unable_to_open_target
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x43189b
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xa1
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
jmp 0x431af3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 1
lea eax, [ebp - 0x121e]
mov dword [esp], eax
call sym._fwrite
cmp dword [ebp - 0x14], eax
je 0x431994
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._gzclose
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._fclose
lea eax, [ebp - 0x21e]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Unable_to_write__s
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xa9
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Unable_to_write_target
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x431982
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xaa
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
jmp 0x431af3
mov dword [esp + 8], 0x1000
lea eax, [ebp - 0x121e]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._gzread
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jg 0x4318ad
cmp dword [ebp - 0x14], 0
jns 0x431a5e
lea eax, [ebp - 0x119]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.At_WCOM_uncompress:_Unable_to_read__s
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xb0
mov dword [esp], str.os_execd_wcom.c
call dbg._merror
mov dword [esp], str.err_Unable_to_read_source
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x431ad0
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xb1
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
lea eax, [ebp - 0x119]
mov dword [esp], eax
call sym._unlink
mov dword [esp], 0x4f28c8
call sym._strdup
mov edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jne 0x431ad0
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp], eax
call sym._strerror
mov ebx, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov eax, dword [eax]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x4f27c0
mov dword [esp + 8], global___func__.268
mov dword [esp + 4], 0xb4
mov dword [esp], str.os_execd_wcom.c
call dbg._merror_exit
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._gzclose
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call sym._fclose
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [esp], eax
call sym._strlen
mov ebx, dword [ebp - 4]
leave
ret