Function at 0x401c3f
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc60
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
lea ebx, [esp + 0x20]
xor eax, eax
mov word [ebx + 0x208], ax
mov word [ebx], ax
push esi
push 0x104
push ebx
call fcn.00402adc
add esp, 0xc
test al, al
je 0x401ece
push str.setup.exe
push 0x104
push ebx
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401ece
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x18]
lea ebx, [esp + 0x14]
mov dword [ebx], esi
mov esi, eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], eax
push ebx
push 0x401b4b
push 0x4043fa
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
test eax, eax
je 0x401ee5
push 0x104
push edi
call fcn.00402ab8
add esp, 8
test eax, eax
je 0x401ef9
push 0x104
push esi
call fcn.00402ab8
add esp, 8
mov edi, dword [ebp + 8]
test eax, eax
je 0x401f04
xor eax, eax
lea ecx, [esp + 0x22c]
lea esi, [esp + 8]
mov word [esp + 0xc58], ax
mov word [ecx + 0x208], ax
mov word [esp + 0x438], ax
mov word [ecx], ax
push 0x104
push ecx
push dword [ebp + 0xc]
push esi
call fcn.00401950
add esp, 0x10
mov ebx, dword [esi]
mov eax, dword [esi + 4]
test ebx, ebx
mov dword [esp + 4], eax
jne 0x401e67
lea esi, [esp + 0x438]
push 0x404222
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
lea eax, [esp + 0x22c]
push eax
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push 0x404226
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push str.update_setup_exe
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push 0x404230
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push dword [ebp + 0x1c]
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push 0x404226
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push str.new_setup_exe
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
push 0x404230
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
lea eax, [esp + 0x20]
push eax
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
je 0x401e5a
xor ebx, ebx
push 0x404222
push 0x410
push esi
call fcn.00402b16
add esp, 0xc
test al, al
jne 0x401e67
mov ebx, 0x69
mov dword [esp + 4], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
sub esp, 8
lea esi, [esp + 0x440]
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.00401ac6
add esp, 8
test ebx, ebx
jne 0x401eba
push 0x79
push pe_nt_image_headers32
push 0x77
push esi
lea eax, [esp + 0x23c]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004019c3
add esp, 0x18
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
test ebx, ebx
je 0x401f7a
mov dword [esp + 4], esi
push dword [ebp + 0x1c]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, dword [esp + 4]
mov dword [edi + 4], esi
mov dword [edi], ebx
jmp 0x401edb
mov dword [edi], 0x6c
mov dword [edi + 4], 0
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp + 8]
mov dword [edi], 0x70
mov dword [edi + 4], eax
jmp 0x401edb
mov edi, dword [ebp + 8]
mov dword [edi], 0x70
jmp 0x401ed4
push ebx
push 0x401b4b
push 0x4043f4
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
test eax, eax
je 0x401f69
push 0x104
push esi
call fcn.00402ab8
add esp, 8
test eax, eax
je 0x401fa3
lea ebx, [esp + 0x20]
push ebx
push esi
call fcn.0040121c
add esp, 8
mov byte [esp + 4], al
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [esp + 4], 0
je 0x401fae
mov eax, esi
xor esi, esi
push ebx
push 0x104
push eax
call fcn.00402adc
add esp, 0xc
test al, al
je 0x401fb7
xor eax, eax
jmp 0x401fc3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi], 0x71
jmp 0x401ef4
lea eax, [esp + 0x20]
push eax
push 0x104
push dword [ebp + 0x1c]
call fcn.00402adc
add esp, 0xc
xor ecx, ecx
test al, al
mov ebx, 0x6c
cmovne ebx, ecx
cmove esi, ecx
jmp 0x401ec7
mov dword [edi], 0x74
jmp 0x401ed4
xor esi, esi
mov eax, 0x73
jmp 0x401fc3
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, 0x6c
mov dword [edi], eax
mov dword [edi + 4], esi
jmp 0x401edb