Function at 0x403d35
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1028
call fcn.00409230
mov eax, dword [0x42e180]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
cmp dword [ebp + 8], 3
push ebx
push 0xa
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1014], ecx
mov dword [ebp - 0x100c], ecx
mov dword [ebp - 0x1020], ecx
mov dword [ebp - 0x1008], ecx
pop ebx
je 0x403d8f
push ecx
push ecx
push str.Wrong_number_of_args
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x4041c0
push esi
mov esi, dword [eax + 4]
push edi
push 3
mov edi, 0x424244
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x403db0
xor eax, eax
push eax
push eax
push str.2._arg_is_not__u
jmp 0x403fd9
push 0x42422c
push dword [eax + 8]
call fcn.0040a6a2
xor esi, esi
pop ecx
pop ecx
mov dword [ebp - 0x1010], eax
cmp eax, esi
jne 0x403dd8
push esi
push esi
push str.could_not_open_logfile
push esi
jmp 0x403fda
push 0x28
call fcn.00408512
pop ecx
mov dword [ebp - 0x101c], eax
cmp eax, esi
jne 0x403df0
push esi
jmp 0x403f58
push dword [ebp - 0x1010]
lea eax, [ebp - 0x1004]
push 0x1000
push eax
call fcn.0040b2f8
add esp, 0xc
test eax, eax
je 0x403eb4
lea edi, [ebp - 0x1004]
lea eax, [ebp - 0x1004]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403e21
sub eax, edx
mov esi, eax
jmp 0x403e2f
dec esi
movsx eax, byte [edi + esi - 1]
push eax
call fcn.0040ab93
pop ecx
test eax, eax
jne 0x403e2e
lea eax, [ebp - 0x1004]
push eax
mov byte [ebp + esi - 0x1004], 0
call fcn.0041c688
mov edx, dword [ebp - 0x1014]
inc dword [ebp - 0x1014]
pop ecx
mov ecx, dword [ebp - 0x101c]
mov dword [ecx + edx*4], eax
cmp dword [ebp - 0x1014], ebx
jl 0x403e90
add ebx, 0xa
mov eax, ebx
shl eax, 2
push eax
push ecx
call fcn.0040b24b
pop ecx
pop ecx
mov dword [ebp - 0x101c], eax
test eax, eax
je 0x403f56
push dword [ebp - 0x1010]
lea eax, [ebp - 0x1004]
push 0x1000
push eax
call fcn.0040b2f8
add esp, 0xc
test eax, eax
jne 0x403e18
xor esi, esi
push dword [ebp - 0x1010]
call fcn.004093c0
mov dword [esp], 0x4038e4
push 4
push dword [ebp - 0x1014]
push dword [ebp - 0x101c]
call fcn.0040afc0
add esp, 0x10
push 0x24
push str.Please_confirm
push str.Are_you_sure_you_want_to_remove_nthis_package_from_your_computer_
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x4041bc
mov dword [section..data], 0x80000002
mov dword [ebp - 0x1024], 0x423514
mov dword [ebp - 0x1010], esi
cmp dword [ebp - 0x1014], esi
jle 0x404123
push 2
pop ebx
mov eax, dword [ebp - 0x101c]
mov ecx, dword [ebp - 0x1010]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1024]
mov ecx, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x403f68
test dl, dl
je 0x403f52
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x403f68
add eax, ebx
add ecx, ebx
test dl, dl
jne 0x403f38
xor eax, eax
jmp 0x403f6d
push 0
mov edi, str.Out_of_memory
call fcn.00402331
pop ecx
jmp 0x4041be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40410b
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_Root_Key:__s
push esi
mov dword [ebp - 0x1024], esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x403fe8
push 0x12
mov edi, str.HKEY_CURRENT_USER
lea esi, [ebp - 0x1004]
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x403fbe
mov dword [section..data], 0x80000001
jmp 0x40410b
call fcn.00402cf5
test eax, eax
jne 0x40410b
push 0x10
push eax
push str.You_do_not_seem_to_have_sufficient_access_rights_non_this_machine_to_uninstall_this_software
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
inc eax
jmp 0x4041be
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_Made_Dir:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x404022
push esi
call fcn.00403c23
pop ecx
test eax, eax
je 0x4040a0
inc dword [ebp - 0x1020]
jmp 0x40410b
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_File_Copy:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x404058
push esi
call fcn.00403bf4
pop ecx
test eax, eax
je 0x4040a0
inc dword [ebp - 0x100c]
jmp 0x40410b
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_File_Overwrite:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
je 0x404042
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_Reg_DB_Key:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x4040b7
push esi
call fcn.00403a6a
jmp 0x40410a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
je 0x40410b
cmp eax, 3
je 0x40410b
inc dword [ebp - 0x1008]
jmp 0x40410b
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_Reg_DB_Value:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x4040df
push esi
call fcn.00403b2f
jmp 0x40410a
lea eax, [ebp - 0x1004]
push eax
lea eax, [ebp - 0x1018]
push eax
push str._d_Run_Script:__s
push esi
call fcn.004092c9
add esp, 0x10
cmp eax, ebx
jne 0x40410b
push dword [ebp - 0x1024]
call fcn.00403c52
pop ecx
inc dword [ebp - 0x1010]
mov eax, dword [ebp - 0x1014]
cmp dword [ebp - 0x1010], eax
jl 0x403f21
mov esi, dword [ebp - 0x1028]
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x40413e
inc dword [ebp - 0x100c]
jmp 0x404154
inc dword [ebp - 0x1008]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [esi + 8]
push eax
call fcn.00402331
pop ecx
cmp dword [ebp - 0x1008], 0
lea eax, [ebp - 0x1004]
je 0x404186
push dword [ebp - 0x1008]
push dword [ebp - 0x1020]
push dword [ebp - 0x100c]
push str._d_files_and__d_directories_removed_n_d_files_or_directories_could_not_be_removed
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x4041a1
push dword [ebp - 0x1020]
push dword [ebp - 0x100c]
push str._d_files_and__d_directories_removed
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x40
push str.Uninstall_Finished_
lea eax, [ebp - 0x1004]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.00403918
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00407e15
leave
ret