Function at 0x4192d0
Capabilities:
Delete directory

Disassembly:
push 0xffffffffffffffff
push 0x4b7a68
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eb86c]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov esi, ecx
push str.CUninstallCtrl::UninstallFilesAndFolders
lea ecx, [esp + 0x18]
call fcn.00405a40
xor edi, edi
mov dword [esp + 0x24], 0
xor ebx, ebx
jmp 0x419320
mov eax, dword [esi + 0x430]
test eax, eax
je 0x4194a3
mov ecx, dword [esi + 0x434]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x4194a3
mov eax, dword [esi + 0x430]
test eax, eax
je 0x419374
mov ecx, dword [esi + 0x434]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x419379
call fcn.00488c34
mov eax, dword [esi + 0x430]
cmp dword [eax + ebx + 8], 0
je 0x4193ef
test eax, eax
je 0x4193a6
mov ecx, dword [esi + 0x434]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4193ab
call fcn.00488c34
mov eax, dword [esi + 0x430]
add eax, ebx
mov eax, dword [eax + 4]
push 0x4ed0f8
push eax
call fcn.004501d0
add esp, 8
test al, al
jne 0x419434
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.00403f90
xor al, al
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test eax, eax
je 0x41940f
mov ecx, dword [esi + 0x434]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x419414
call fcn.00488c34
mov eax, dword [esi + 0x430]
mov ecx, dword [eax + ebx + 4]
add eax, ebx
push ecx
push str.Skipped:_s
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
mov eax, dword [esi + 0x430]
test eax, eax
je 0x419456
mov ecx, dword [esi + 0x434]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, 1
mov edx, edi
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x41946d
fadd qword [0x4c5418]
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x41947f
fadd qword [0x4c5418]
fdivp st(1)
fmul qword [0x4c5410]
call fcn.0048a2f0
mov ecx, 0x1e
sub ecx, eax
push ecx
mov ecx, esi
call fcn.004181d0
add ebx, 0xc
jmp 0x419320
xor edi, edi
xor ebx, ebx
jmp 0x4194b0
mov eax, dword [esi + 0x450]
test eax, eax
je 0x4195b8
mov ecx, dword [esi + 0x454]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x4195b8
mov eax, dword [esi + 0x450]
test eax, eax
je 0x419504
mov ecx, dword [esi + 0x454]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x419509
call fcn.00488c34
mov edx, dword [esi + 0x450]
cmp dword [edx + ebx + 8], 0
mov eax, edx
je 0x419569
test eax, eax
je 0x419538
mov ecx, dword [esi + 0x454]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41953d
call fcn.00488c34
mov eax, dword [esi + 0x450]
add eax, ebx
mov eax, dword [eax + 4]
push 0x4ed0f8
push eax
call fcn.004505d0
add esp, 8
test al, al
je 0x4193c8
add edi, 1
add ebx, 0xc
jmp 0x4194b0
test eax, eax
je 0x419589
mov ecx, dword [esi + 0x454]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41958e
call fcn.00488c34
mov eax, dword [esi + 0x450]
add eax, ebx
mov eax, dword [eax + 4]
push eax
push str.Skipped:_s
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
add edi, 1
add ebx, 0xc
jmp 0x4194b0
mov ebp, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor edi, edi
xor ebx, ebx
mov eax, dword [esi + 0x440]
test eax, eax
je 0x4196b7
mov ecx, dword [esi + 0x444]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jae 0x4196b7
mov eax, dword [esi + 0x440]
test eax, eax
je 0x419616
mov ecx, dword [esi + 0x444]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41961b
call fcn.00488c34
mov ecx, dword [esi + 0x440]
cmp dword [ebx + ecx + 8], 0
mov eax, ecx
je 0x419667
test eax, eax
je 0x41964a
mov ecx, dword [esi + 0x444]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41964f
call fcn.00488c34
mov edx, dword [esi + 0x440]
mov eax, dword [ebx + edx + 4]
push eax
call ebp
add edi, 1
add ebx, 0xc
jmp 0x4195c2
test eax, eax
je 0x419687
mov ecx, dword [esi + 0x444]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x41968c
call fcn.00488c34
mov eax, dword [esi + 0x440]
mov ecx, dword [eax + ebx + 4]
add eax, ebx
push ecx
push str.Skipped:_s
call fcn.0044f300
push eax
call fcn.0044fb20
add esp, 0xc
add edi, 1
add ebx, 0xc
jmp 0x4195c2
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.00403f90
mov al, 1
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret