Function at 0x404fc1
Capabilities:
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x3ab0]
mov eax, 0x3b30
call fcn.00406080
mov eax, dword [0x4161a0]
xor eax, ebp
mov dword [ebp + 0x3aac], eax
push ebx
push 0x400
lea eax, [ebp + 0x2ce4]
push eax
xor ebx, ebx
push ebx
call dword [0x412040]
lea eax, [ebp + 0x2ce4]
push eax
lea eax, [ebp + 0x23e4]
push eax
call fcn.00405b30
lea eax, [ebp + 0x23e4]
push 0x5c
push eax
call fcn.00406c20
add esp, 0x10
cmp eax, ebx
je 0x4055cf
lea ecx, [ebp + 0x23e4]
cmp eax, ecx
jbe 0x405037
cmp byte [eax - 1], 0x3a
jne 0x405037
mov byte [eax + 1], bl
jmp 0x405039
mov byte [eax], bl
push esi
lea eax, [ebp + 0x23e4]
push eax
call dword [0x412098]
lea eax, [ebp + 0x23e4]
push eax
call fcn.0040364c
mov esi, 0x13f0
cmp byte [0x419518], bl
jne 0x405087
push 0x10024
push esi
call fcn.004046ec
push eax
push 0x13f3
call fcn.004046ec
push eax
push ebx
call dword [0x4121f0]
cmp eax, 6
jne 0x4055ce
push edi
push 0x412e24
mov edi, str.Uninstall.lst
push edi
call fcn.00406bbe
pop ecx
pop ecx
mov dword [ebp - 0x24], eax
cmp eax, ebx
jne 0x4050db
push edi
push 0x13f4
call fcn.004046ec
push eax
lea eax, [ebp + 0x39e4]
push eax
call fcn.00405fcd
add esp, 0xc
push 0x10010
push esi
call fcn.004046ec
push eax
lea eax, [ebp + 0x39e4]
push eax
push ebx
call dword [0x4121f0]
jmp 0x4055cd
mov edi, 0x100
push edi
push 0x13fa
call fcn.004046ec
push eax
lea eax, [ebp + 0x2be4]
push eax
call fcn.004048e7
push edi
push esi
call fcn.004046ec
push eax
lea eax, [ebp + 0x30e4]
push eax
call fcn.004048e7
call fcn.00404c65
mov ecx, 0x417fe8
call fcn.004045bf
cmp byte [0x419519], bl
jne 0x4055cd
xor edi, edi
push ebx
lea esi, [edi + 0x41617c]
push dword [esi]
call dword [0x41213c]
push dword [esi]
call dword [0x4120a0]
add edi, 4
cmp edi, 8
jb 0x405129
mov byte [ebp - 0x1d], bl
push dword [ebp - 0x24]
lea eax, [ebp + 0xfe4]
push 0x800
push eax
mov dword [ebp - 0x2c], ebx
call fcn.004079bc
add esp, 0xc
test eax, eax
je 0x40538c
lea eax, [ebp + 0xfe4]
push eax
call fcn.004048b5
cmp byte [ebp + 0xfe4], bl
je 0x405356
lea eax, [ebp + 0xfe4]
push eax
lea eax, [ebp + 0x23e4]
push eax
lea eax, [ebp + 0x31e4]
push str._s_s
push eax
call fcn.00405fcd
add esp, 0x10
lea eax, [ebp + 0x31e4]
push eax
call dword [0x412144]
mov dword [ebp - 0x28], eax
push ebx
lea eax, [ebp + 0x31e4]
push eax
call dword [0x41213c]
cmp dword [ebp - 0x28], 0xffffffff
je 0x4051e6
test byte [ebp - 0x28], 0x10
je 0x4051e6
lea eax, [ebp + 0x31e4]
push eax
call dword [0x412094]
add dword [ebp - 0x2c], eax
jmp 0x405356
lea eax, [ebp + 0x31e4]
push eax
call dword [0x4120a0]
add dword [ebp - 0x2c], eax
cmp eax, ebx
jne 0x405356
cmp dword [ebp - 0x28], 0xffffffff
je 0x405356
mov esi, 0x400
push esi
lea eax, [ebp + 0x7e4]
push eax
push ebx
call dword [0x412040]
lea eax, [ebp + 0x31e4]
push eax
call fcn.004035d9
mov edi, eax
lea eax, [ebp + 0x7e4]
push eax
call fcn.004035d9
push eax
push edi
call fcn.00404894
test eax, eax
je 0x405356
push str.Uninstall.lst
push edi
call fcn.00404894
test eax, eax
je 0x405356
mov byte [ebp - 0x1d], 1
xor edi, edi
push edi
lea eax, [ebp + 0x31e4]
push eax
lea eax, [ebp + 0x27e4]
push str._s._d.tmp
push eax
call fcn.00405fcd
add esp, 0x10
lea eax, [ebp + 0x27e4]
push eax
call dword [0x412144]
cmp eax, 0xffffffff
je 0x405295
inc edi
cmp edi, 0x3e8
jl 0x40525e
lea eax, [ebp + 0x27e4]
push eax
lea eax, [ebp + 0x31e4]
push eax
call dword [0x412138]
test eax, eax
jne 0x4052c2
lea eax, [ebp + 0x31e4]
push eax
lea eax, [ebp + 0x27e4]
push eax
call fcn.00405b30
pop ecx
pop ecx
call fcn.0040355c
test eax, eax
je 0x4052dd
push 4
push ebx
lea eax, [ebp + 0x27e4]
push eax
call dword [0x412090]
jmp 0x405356
push esi
lea eax, [ebp + 0x1be4]
push eax
call dword [0x41208c]
lea eax, [ebp + 0x1be4]
push eax
call fcn.0040364c
lea eax, [ebp + 0x1be4]
push str.wininit.ini
push eax
call fcn.00405b40
pop ecx
pop ecx
push esi
lea eax, [ebp + 0xbe4]
push eax
lea eax, [ebp + 0x27e4]
push eax
call dword [0x412088]
test eax, eax
jne 0x405338
lea eax, [ebp + 0x27e4]
push eax
lea eax, [ebp + 0xbe4]
push eax
call fcn.00405b30
pop ecx
pop ecx
lea eax, [ebp + 0x1be4]
push eax
lea eax, [ebp + 0xbe4]
push eax
push 0x412df0
push str.Rename
call dword [0x412084]
push dword [ebp - 0x24]
lea eax, [ebp + 0xfe4]
push 0x800
push eax
call fcn.004079bc
add esp, 0xc
test eax, eax
jne 0x40516d
cmp dword [ebp - 0x2c], ebx
je 0x40538c
push ebx
push ebx
push dword [ebp - 0x24]
call fcn.00407937
add esp, 0xc
jmp 0x40514b
push dword [ebp - 0x24]
call fcn.0040689c
mov dword [esp], str.Uninstall.lst
call dword [0x4120a0]
cmp byte [ebp - 0x1d], bl
je 0x4053c0
push 0x10040
lea eax, [ebp + 0x30e4]
push eax
lea eax, [ebp + 0x2be4]
push eax
push ebx
call dword [0x4121f0]
lea eax, [ebp + 0x1fe4]
push eax
mov esi, 0x400
push esi
call dword [0x412080]
lea eax, [ebp + 0x1fe4]
push str.Uninstall_Rar.Bat
push eax
call fcn.00405b40
lea eax, [ebp + 0x1fe4]
push 0x412994
push eax
call fcn.00406bbe
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp eax, ebx
je 0x4055cd
call fcn.0040355c
test eax, eax
lea eax, [ebp + 0x2ce4]
push eax
lea eax, [ebp + 0x35e4]
je 0x405420
push str.__s___wait_r_n
jmp 0x405425
push str.start__wait___s___wait_r_n
push eax
call fcn.00405fcd
add esp, 0xc
push dword [ebp - 0x24]
lea eax, [ebp + 0x35e4]
push eax
call fcn.00405ea0
pop ecx
push eax
xor edi, edi
inc edi
lea eax, [ebp + 0x35e4]
push edi
push eax
call fcn.00406a78
add esp, 0x10
lea eax, [ebp + 0x3e4]
push eax
push esi
call dword [0x412070]
lea eax, [ebp + 0x2ce4]
push eax
lea eax, [ebp + 0x3e4]
push eax
lea eax, [ebp + 0x2ce4]
push eax
lea eax, [ebp + 0x35e4]
push str.del___s__r_nrd___s__r_nif_not_exist___s__goto_done_r_n
push eax
call fcn.00405fcd
add esp, 0x14
mov dword [ebp - 0x28], 5
push dword [ebp - 0x24]
lea eax, [ebp + 0x35e4]
push eax
call fcn.00405ea0
pop ecx
push eax
lea eax, [ebp + 0x35e4]
push edi
push eax
call fcn.00406a78
add esp, 0x10
dec dword [ebp - 0x28]
jne 0x405490
lea eax, [ebp + 0x1fe4]
push eax
lea eax, [ebp + 0x2ce4]
push eax
push eax
lea eax, [ebp + 0x35e4]
push str.:done_r_nif_exist___s____s___warning_r_ndel___s_
push eax
call fcn.00405fcd
add esp, 0x14
push dword [ebp - 0x24]
lea eax, [ebp + 0x35e4]
push eax
call fcn.00405ea0
pop ecx
push eax
lea eax, [ebp + 0x35e4]
push edi
push eax
call fcn.00406a78
push dword [ebp - 0x24]
call fcn.0040689c
add esp, 0x14
push esi
lea eax, [ebp + 0x17e4]
push eax
push str.COMSPEC
mov byte [ebp + 0x17e4], bl
call dword [0x412078]
lea eax, [ebp + 0x1fe4]
push eax
lea eax, [ebp + 0x17e4]
push eax
lea eax, [ebp - 0x1c]
push str._s__c___s_
push eax
call fcn.00405fcd
push 0x44
pop esi
push esi
lea eax, [ebp - 0x70]
push ebx
push eax
call fcn.004067b0
add esp, 0x1c
mov dword [ebp - 0x70], esi
call fcn.0040355c
test eax, eax
je 0x405562
mov esi, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x44], edi
mov word [ebp - 0x40], ax
jmp 0x40558a
push ebx
push ebx
push 2
push ebx
push edi
push 0x40000000
push 0x412df0
mov dword [ebp - 0x44], 0x100
call dword [0x412164]
mov esi, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
push 0x4122e0
call dword [0x412098]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push ebx
push ebx
call fcn.0040355c
neg eax
sbb eax, eax
and eax, 0xfffffff8
add eax, 8
push eax
push edi
push ebx
push ebx
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [0x41207c]
call fcn.0040355c
test eax, eax
jne 0x4055cd
push esi
call dword [0x412180]
pop edi
pop esi
mov ecx, dword [ebp + 0x3aac]
xor ecx, ebp
pop ebx
call fcn.00405fbe
add ebp, 0x3ab0
leave
ret