Function at 0x40192c
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x421018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x2c], esi
call fcn.00401ec4
test al, al
jne 0x401960
mov ecx, esi
call fcn.00401f9a
test al, al
jne 0x401960
or eax, 0xffffffff
jmp 0x401c31
mov ecx, esi
call fcn.00402017
mov edi, eax
lea eax, [edi + 1]
neg eax
sbb eax, eax
and eax, fcn.004014a3
jne 0x40197f
or esi, 0xffffffff
jmp 0x401c23
mov ecx, dword [esi + 0x1c]
sub ecx, 0x10
call fcn.0040308f
add eax, 0x10
mov dword [ebp - 0x4c], edi
xor ebx, ebx
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x48], 1
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], 0x40237a
mov dword [ebp - 0x34], esi
mov byte [ebp - 0x21], bl
lea eax, [ebp - 0x21]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040368b
test al, al
je 0x401bf4
cmp byte [ebp - 0x21], bl
je 0x4019af
mov ecx, esi
call fcn.00402125
test al, al
je 0x401bf4
lea eax, [esi + 0xc]
or ecx, 0xffffffff
or dword [eax], 0xffffffff
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x20], ecx
cmp dword [eax - 0xc], ebx
je 0x401aad
lea ecx, [eax - 0x10]
call fcn.0040308f
or dword [ebp - 0x54], 0xffffffff
add eax, 0x10
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push 0x104
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.00402c18
push eax
mov dword [ebp - 0x58], eax
call dword [sym.imp.SHLWAPI.dll_PathQuoteSpacesW]
lea ecx, [ebp - 0x5c]
call fcn.00402bf2
mov ecx, dword [esi]
call fcn.00401669
mov esi, eax
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], bl
mov edx, ebx
mov dword [ebp - 0xc], edx
test esi, esi
je 0x401a5f
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401a49
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x1c]
call fcn.00402c9a
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
cmp dword [eax - 0xc], ebx
jne 0x401ad7
test edx, edx
jne 0x401ab5
mov ecx, 0x80040750
mov dword [ebp - 0x20], ecx
call fcn.004025eb
mov eax, dword [ebp - 8]
cmp eax, 0x10
jb 0x401a8d
inc eax
push eax
push dword [ebp - 0x1c]
call fcn.00402d2b
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], bl
test esi, esi
je 0x401aa5
push esi
call fcn.004167ea
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00402fdf
mov esi, dword [ebp - 0x20]
jmp 0x401bf7
push str.install
push str.taggedmi
push str.installsource
lea eax, [ebp - 0x28]
push str.___s__s___s
push eax
call fcn.00401500
add esp, 0x14
jmp 0x401af5
push eax
lea eax, [ebp - 0x28]
push 0x41ee30
push eax
call fcn.00401500
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
add esp, 0xc
push eax
call fcn.00401c46
push ecx
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0040296e
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
je 0x401b63
lea ecx, [eax + 1]
push ecx
push 0x26
lea ecx, [ebp - 0x1c]
call fcn.00402932
mov edx, dword [ebp - 0xc]
mov ecx, eax
cmp ecx, 0xffffffff
jne 0x401b21
mov ecx, edx
mov eax, dword [ebp - 0x20]
cmp edx, eax
jb 0x401c40
sub ecx, eax
mov dword [ebp - 0x20], edx
sub dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], ecx
jb 0x401b3c
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 8], 0x10
lea ecx, [ebp - 0x1c]
jb 0x401b48
mov ecx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
add ecx, eax
mov dword [ebp - 0xc], edx
sub edx, eax
mov eax, dword [ebp - 0x20]
inc edx
push edx
add eax, ecx
push eax
push ecx
call fcn.004083f0
add esp, 0xc
lea eax, [ebp - 0x28]
push eax
call fcn.00401d5b
test al, al
jne 0x401ba5
cmp dword [ebp - 0xc], ebx
je 0x401ba5
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
jb 0x401b81
mov eax, dword [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x20]
call fcn.00402b7d
push dword [eax]
lea eax, [ebp - 0x28]
push str.___s_
push eax
call fcn.00401500
add esp, 0xc
lea ecx, [ebp - 0x20]
call fcn.00402fdf
mov edx, dword [ebp - 0x30]
push ecx
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403908
mov eax, dword [ebp - 8]
pop ecx
pop ecx
cmp eax, 0x10
jb 0x401bc6
inc eax
push eax
push dword [ebp - 0x1c]
call fcn.00402d2b
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], bl
test esi, esi
je 0x401bde
push esi
call fcn.004167ea
pop ecx
lea ecx, [ebp - 0x28]
call fcn.00402fdf
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x20], ecx
jmp 0x401aad
or esi, 0xffffffff
cmp dword [ebp - 0x40], ebx
je 0x401c13
push ebx
lea ecx, [ebp - 0x44]
call fcn.004027fe
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc ebx
cmp ebx, dword [ebp - 0x40]
jne 0x401bfc
lea ecx, [ebp - 0x44]
call fcn.00402823
lea ecx, [ebp - 0x50]
call fcn.00402fdf
cmp edi, 0xffffffff
je 0x401c2f
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00405e9e
leave
ret
call fcn.00403084
int3