Function at 0x489b30
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x28f8
call fcn.004df2e0
mov eax, dword [0x50fb70]
xor eax, esp
mov dword [esp + 0x28f4], eax
push ebx
push esi
mov esi, ecx
push esi
lea eax, [esp + 0x900]
push str._sShellNew
push eax
mov edx, 0x800
mov byte [0x50eac0], 0x52
mov byte [0x50eaa8], 0x50
call fcn.00493540
add esp, 0xc
cmp byte [esp + 0x2904], 0
push esi
je 0x489e4a
call fcn.00488fd0
test al, al
jne 0x489cc1
push 0x200
push 0x4f9a98
lea ecx, [esp + 0x504]
push ecx
push 0x4f9a98
push esi
push SysReAllocString
call fcn.00495ee0
push 0x200
push 0x4f9a98
lea edx, [esp + 0x104]
push edx
push str.Content_Type
push esi
push SysReAllocString
call fcn.00495ee0
push 0x800
push 0x4f9a98
lea eax, [esp + 0x1904]
push eax
push str.FileName
lea ecx, [esp + 0x90c]
push ecx
push SysReAllocString
call fcn.00495ee0
push 0xa
push 0x4f9a98
lea edx, [esp + 0xf0]
push edx
push str.NullFile
lea eax, [esp + 0x90c]
push eax
push SysReAllocString
call fcn.00495ee0
push esi
lea ecx, [esp + 0x4c]
push str.Setup_s
push ecx
mov edx, 0x50
mov bl, al
call fcn.00493540
add esp, 0xc
push esi
push SysReAllocString
call fcn.00495c10
movzx edx, al
push edx
push str.Exist
lea eax, [esp + 0x50]
push eax
call fcn.00496440
lea ecx, [esp + 0x4fc]
push ecx
push str.Type
lea edx, [esp + 0x50]
push edx
call fcn.00496420
lea eax, [esp + 0xfc]
push eax
push str.Content
lea ecx, [esp + 0x50]
push ecx
call fcn.00496420
cmp word [esp + 0x18fc], 0
jne 0x489caa
test bl, bl
je 0x489caa
push 0x4fa890
push str.ShellNew
lea edx, [esp + 0x50]
push edx
jmp 0x489cbc
lea eax, [esp + 0x18fc]
push eax
push str.ShellNew
lea ecx, [esp + 0x50]
push ecx
call fcn.00496420
cmp byte [esp + 0x2910], 0
mov eax, str.WinRAR.ZIP
jne 0x489cd5
mov eax, 0x4fafa0
push eax
push 0x4f9a98
push esi
push SysReAllocString
call fcn.00495e70
push str.Content_Type
push esi
push SysReAllocString
call fcn.00495af0
mov bl, byte [esp + 0x290c]
test bl, bl
je 0x489d6b
push edi
call fcn.00445d60
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xffffffba
add edi, 0x64
xor esi, esi
test edi, edi
jle 0x489d6a
lea esp, [esp]
push esi
lea edx, [esp + 0x10]
push str..r_02d
push edx
mov edx, 0x20
call fcn.00493540
add esp, 0xc
push 0x4fafa0
push 0x4f9a98
lea eax, [esp + 0x14]
push eax
push SysReAllocString
call fcn.00495e70
push str.Content_Type
lea ecx, [esp + 0x10]
push ecx
push SysReAllocString
call fcn.00495af0
inc esi
cmp esi, edi
jl 0x489d20
pop edi
cmp byte [esp + 0x2908], 0
je 0x48a0a5
cmp byte [esp + 0x2910], 0
jne 0x489d8b
test bl, bl
je 0x48a0a5
lea edx, [esp + 0x8fc]
push edx
push SysReAllocString
call fcn.00495a40
push 0x800
lea eax, [esp + 0x1900]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, str.rarnew.dat
test bl, bl
jne 0x489dc0
mov eax, str.zipnew.dat
push 0x800
push eax
lea ecx, [esp + 0x1904]
push ecx
call fcn.004510f0
lea edx, [esp + 0x18fc]
push edx
call fcn.004432f0
test al, al
jne 0x489e26
push 0x4fb9fc
lea eax, [esp + 0x1900]
push eax
call fcn.00443120
mov esi, eax
test esi, esi
je 0x489e26
push esi
test bl, bl
je 0x489e0c
push 0x14
push 1
push 0x50eac0
jmp 0x489e15
push 0x16
push 1
push 0x50eaa8
call fcn.004e3fae
add esp, 0x10
push esi
call fcn.004e0841
add esp, 4
lea ecx, [esp + 0x18fc]
push ecx
push str.FileName
lea edx, [esp + 0x904]
push edx
push SysReAllocString
call fcn.00495e70
jmp 0x48a0a5
lea eax, [esp + 0x4c]
push str.Setup_s
push eax
mov edx, 0x50
call fcn.00493540
add esp, 0xc
push esi
call fcn.00488fd0
test al, al
je 0x48a0a5
push 1
push str.Exist
lea ecx, [esp + 0x50]
push ecx
call fcn.00496520
push 0x200
push 0x4f9a98
lea edx, [esp + 0x104]
push edx
test eax, eax
push str.Type
lea eax, [esp + 0x58]
push eax
setne bl
call fcn.004964f0
push 0x4fafa0
lea ecx, [esp + 0x100]
push ecx
call fcn.00469c20
test eax, eax
je 0x489ed2
push str.WinRAR.ZIP
lea edx, [esp + 0x100]
push edx
call fcn.00469c20
test eax, eax
jne 0x489edc
xor eax, eax
mov word [esp + 0xfc], ax
push 0x200
push 0x4f9a98
lea ecx, [esp + 0x504]
push ecx
push str.Content
lea edx, [esp + 0x58]
push edx
call fcn.004964f0
test bl, bl
je 0x489fdc
lea eax, [esp + 0xfc]
push eax
push 0x4f9a98
push esi
push SysReAllocString
call fcn.00495e70
cmp word [esp + 0x4fc], 0
je 0x489f42
lea ecx, [esp + 0x4fc]
push ecx
push str.Content_Type
push esi
push SysReAllocString
call fcn.00495e70
jmp 0x489f52
push str.Content_Type
push esi
push SysReAllocString
call fcn.00495af0
push 0x800
push 0x4f9a98
lea edx, [esp + 0x1904]
push edx
push str.ShellNew
lea eax, [esp + 0x58]
push eax
call fcn.004964f0
push str.FileName
lea ecx, [esp + 0x900]
push ecx
push SysReAllocString
call fcn.00495af0
mov ax, word [esp + 0x18fc]
test ax, ax
je 0x48a00e
cmp ax, 0x2a
jne 0x489fbb
push 0x4f9a98
push str.NullFile
lea edx, [esp + 0x904]
push edx
push SysReAllocString
call fcn.00495e70
jmp 0x48a00e
lea eax, [esp + 0x18fc]
push eax
push str.FileName
lea ecx, [esp + 0x904]
push ecx
push SysReAllocString
call fcn.00495e70
jmp 0x48a00e
lea edx, [esp + 0x8fc]
push edx
push SysReAllocString
call fcn.00495a40
push 0x4f9a98
push 0x4f9a98
push esi
push SysReAllocString
call fcn.00495e70
push esi
push SysReAllocString
call fcn.00495a40
cmp byte [esp + 0x290c], 0
je 0x48a0a5
xor esi, esi
mov edi, edi
push esi
lea eax, [esp + 0xc]
push str..r_02d
push eax
mov edx, 0x20
call fcn.00493540
add esp, 0xc
test bl, bl
je 0x48a08c
cmp word [esp + 0xfc], 0
je 0x48a08c
lea ecx, [esp + 0xfc]
push ecx
push 0x4f9a98
lea edx, [esp + 0x10]
push edx
push SysReAllocString
call fcn.00495e70
cmp word [esp + 0x4fc], 0
je 0x48a09b
lea eax, [esp + 0x4fc]
push eax
push str.Content_Type
lea ecx, [esp + 0x10]
push ecx
push SysReAllocString
call fcn.00495e70
jmp 0x48a09b
lea edx, [esp + 8]
push edx
push SysReAllocString
call fcn.00495a40
inc esi
cmp esi, 0x64
jl 0x48a020
mov ecx, dword [esp + 0x28fc]
pop esi
pop ebx
xor ecx, esp
call fcn.004df2c4
add esp, 0x28f8
ret 0x10