Function at 0x406ecc
Capabilities:
Delete file
Read file on windows
Write file on windows

Disassembly:
sub esp, 0x328
push ebx
push ebp
push esi
push edi
mov esi, 0x412ae0
xor edi, edi
or ebx, 0xffffffff
push esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
call fcn.004075f2
mov eax, dword [0x4129e8]
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
cmp eax, edi
pop ecx
je 0x4070e9
cmp dword [eax + 0x89c], ebx
je 0x4070e9
lea eax, [esp + 0x234]
push 0x104
push eax
push 0x29
push dword [0x4120b4]
call dword [sym.imp.USER32.dll_LoadStringA]
test eax, eax
jne 0x406f39
push 0x29
call fcn.0040755d
pop ecx
lea eax, [esp + 0x234]
push eax
call fcn.00406e71
push esi
call fcn.00408050
pop ecx
add eax, esi
pop ecx
push eax
push esi
call dword [sym.imp.USER32.dll_CharPrevA]
cmp byte [eax], 0x5c
mov eax, 0x411df4
je 0x406f67
mov eax, 0x410b34
mov ecx, dword [0x4129e8]
add ecx, 0x79c
push ecx
push eax
push esi
lea eax, [esp + 0x38]
push str._s_s_s
push eax
call ebp
add esp, 0x14
lea eax, [esp + 0x2c]
push edi
push edi
push 2
push edi
push edi
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x4070ce
push dword [0x412be4]
mov esi, 0xfffffd66
push edi
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
cmp ebx, edi
je 0x40707c
mov eax, dword [0x4129e8]
push edi
push edi
push edi
mov esi, dword [eax + 0x89c]
push dword [0x4129ec]
add esi, dword [0x4129f0]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [esp + 0x24]
push edi
push eax
push dword [0x412be4]
push ebx
push dword [0x4129ec]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
push dword [0x4129ec]
call fcn.00404a4f
pop ecx
add esi, 4
cmp eax, edi
pop ecx
mov dword [esp + 0x20], eax
jle 0x407049
push edi
push edi
push esi
push dword [0x4129ec]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [esp + 0x28]
push edi
push eax
mov eax, dword [esp + 0x28]
add eax, ebx
push 0x2de
push eax
push dword [0x4129ec]
call dword [sym.imp.KERNEL32.dll_ReadFile]
add esi, 0x2de
lea eax, [esp + 0x24]
push edi
push eax
push dword [0x412be4]
push ebx
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [esp + 0x1c]
push esi
push dword [0x4129ec]
call fcn.00404a8b
add esp, 0xc
mov esi, eax
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [esp + 0x2c]
cmp esi, edi
push eax
jge 0x4070b2
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x2c]
push eax
push esi
push str.error_creating_uninstaller:__d____s__n
push 0x4121e0
call ebp
push edi
call fcn.00407fad
add esp, 0x14
jmp 0x4070c1
push str.created_uninstaller:___s__n
push 0x4121e0
call ebp
add esp, 0xc
push edi
call fcn.00407fad
mov ebx, dword [esp + 0x18]
pop ecx
jmp 0x4070e2
lea eax, [esp + 0x2c]
push eax
push str.error_creating_uninstaller:___s__n
push 0x4121e0
call ebp
add esp, 0xc
push edi
call fcn.00407fad
pop ecx
cmp ebx, edi
jge 0x40712a
push str.Default_Section_n
push 0x4121e0
call ebp
push edi
call fcn.00407fad
mov eax, dword [0x4129e8]
add esp, 0xc
cmp eax, edi
je 0x407116
mov ecx, dword [0x4129e4]
mov ecx, dword [ecx + 0x44]
jmp 0x407122
mov ecx, dword [0x4129e0]
mov ecx, dword [ecx + 0x278]
mov dword [esp + 0x14], ecx
mov ebx, ecx
jmp 0x40712f
mov eax, dword [0x4129e8]
cmp dword [esp + 0x18], ebx
jne 0x4071bc
mov esi, dword [esp + 0x10]
imul esi, esi, 0x4c
inc dword [esp + 0x10]
add esi, 0x4c
cmp eax, edi
je 0x40721a
mov ecx, dword [esp + 0x10]
cmp ecx, dword [eax + 0x8a0]
jge 0x40721a
mov eax, dword [0x4129e4]
add eax, esi
add ebx, dword [eax + 0x44]
test byte [eax + 0x43], 0x80
je 0x407191
push eax
push str.Section:___s__n
push 0x4121e0
call ebp
push edi
call fcn.00407fad
mov eax, dword [0x4129e4]
add esp, 0x10
add eax, esi
cmp dword [eax + 0x44], edi
jne 0x4071bc
push eax
push str.Skipping_Section:___s__n
push 0x4121e0
call ebp
push edi
call fcn.00407fad
mov eax, dword [0x4129e8]
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov dword [esp + 0x18], ebx
cmp ecx, dword [eax + 0x8a0]
jl 0x407140
mov esi, dword [esp + 0x18]
mov ecx, dword [0x411dcc]
lea eax, [esi + esi*2]
lea eax, [ecx + eax*8]
push eax
push dword [0x4129f0]
push dword [0x4129ec]
call fcn.00402de0
add esp, 0xc
test eax, eax
jl 0x407246
cmp dword [esp + 0x33c], edi
push edi
je 0x40720a
push 1
push 0x403
push 0x3ec
push dword [esp + 0x34c]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
mov dword [esp + 0x18], esi
jmp 0x4070e9
cmp dword [esp + 0x33c], edi
je 0x407242
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
push edi
push 0x402
push dword [esp + 0x348]
call dword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
jmp 0x40726e
cmp dword [esp + 0x33c], edi
push 1
pop esi
mov dword [0x411dd8], esi
je 0x40726c
push edi
push esi
push 0x402
push dword [esp + 0x348]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret 4