Function at 0x1008184d
Capabilities:
Check if file exists
Delete file

Disassembly:
mov eax, 0x100c5d2c
call fcn.100a35ac
sub esp, 0x858
push ebx
push esi
xor ebx, ebx
push edi
mov esi, ecx
mov dword [ebp - 0x10], ebx
push dword [ebp + 0x14]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x2c], ebx
call fcn.10080d26
mov byte [ebp - 0x1a], al
lea eax, [ebp - 0x10]
push eax
push 0x100d00ec
push 0x17
push ebx
push 0x100d052c
mov dword [esi + 0x4c], ebx
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, ebx
mov eax, dword [ebp - 0x10]
jl 0x10081d80
cmp eax, ebx
je 0x10081d80
mov al, byte [ebp - 0x1a]
push ebx
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x19], al
mov byte [ebp - 0x1b], bl
mov dword [ebp - 0x30], 7
call fcn.10002c37
mov byte [ebp - 4], 1
cmp byte [ebp + 0x10], bl
je 0x10081a45
mov edi, dword [ebp + 8]
push edi
lea ecx, [ebp - 0x28]
call fcn.10005f07
mov byte [ebp - 4], 2
cmp byte [ebp - 0x1a], bl
je 0x100819ff
lea eax, [ebp - 0x20]
push eax
call fcn.1003ec4b
mov eax, dword [ebp - 0x20]
push dword [eax - 0xc]
mov byte [ebp - 4], 3
push eax
push edi
call fcn.100a6463
add esp, 0x10
test eax, eax
jne 0x100819f0
push edi
lea ecx, [ebp - 0x14]
mov byte [ebp - 0x1b], 1
call fcn.10005f07
push str..transformed
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.1000d0d1
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x100cb0a0
call fcn.10005f07
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x18], esp
push edi
mov byte [ebp - 4], 5
call fcn.10005f07
mov byte [ebp - 4], 4
call fcn.100400d9
add esp, 8
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x100cb0a0
mov edi, eax
call fcn.10005f07
push ebx
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 6
call fcn.10003561
mov byte [ebp - 4], 4
call fcn.100400d9
add esp, 0xc
cmp edi, ebx
mov dword [ebp - 0x18], eax
jle 0x1008199b
push dword [ebp + 8]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1008199b
xor edi, edi
cmp dword [ebp - 0x18], ebx
jle 0x100819b0
push dword [ebp - 0x14]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100819b0
mov dword [ebp - 0x18], ebx
cmp edi, ebx
je 0x100819e5
cmp edi, dword [ebp - 0x18]
jg 0x100819e5
lea eax, [ebp - 0x24]
push eax
push dword [ebp + 0x14]
mov ecx, esi
mov dword [ebp - 0x24], ebx
call fcn.10080ea1
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x100819e5
cmp eax, dword [ebp - 0x18]
jg 0x100819e5
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x28]
call fcn.10004a20
mov byte [ebp - 0x19], bl
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 2
call fcn.10001d29
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], esp
mov ecx, esp
push eax
call fcn.10003561
lea eax, [ebp - 0x64]
push eax
call fcn.1007fe93
pop ecx
pop ecx
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 7
call fcn.10005455
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.100035a9
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.10001d29
jmp 0x10081a50
push dword [ebp + 8]
lea ecx, [ebp - 0x48]
call fcn.10005a39
cmp dword [ebp - 0x34], ebx
jne 0x10081a7a
xor eax, eax
cmp byte [ebp + 0xc], bl
push ebx
sete al
push 1
lea ecx, [ebp - 0x48]
lea eax, [eax*8 - 0x6e]
mov dword [esi + 0x4c], eax
call fcn.100035a9
mov eax, dword [ebp - 0x10]
jmp 0x10081d87
cmp dword [ebp - 0x30], 8
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x44]
jae 0x10081a89
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x20]
call fcn.100027e0
mov eax, dword [eax]
mov byte [ebp - 4], 8
cmp eax, ebx
je 0x10081aa0
mov eax, dword [eax]
jmp 0x10081aa2
xor eax, eax
mov ecx, dword [edi]
lea edx, [ebp - 0x2c]
push edx
push eax
push edi
call dword [ecx + 0x104]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x10081ac3
call fcn.10003111
cmp dword [ebp - 0x10], ebx
je 0x10081c60
cmp byte [ebp - 0x19], bl
je 0x10081c60
push 0x101185a8
lea ecx, [ebp - 0x14]
call fcn.1005a319
mov byte [ebp - 4], 9
cmp byte [ebp + 0x10], bl
je 0x10081b2a
push dword [ebp + 8]
lea ecx, [ebp - 0x14]
call fcn.10004da9
push 0x5c
lea ecx, [ebp - 0x14]
call fcn.1005a205
inc eax
push eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x14]
call fcn.1003e2ec
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.10004a20
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
mov byte [ebp - 4], 9
call fcn.10001d29
lea eax, [ebp - 0x10]
push eax
push ecx
lea eax, [ebp - 0x14]
mov dword [ebp + 0x10], esp
mov ecx, esp
push eax
call fcn.10003561
push dword [ebp + 0x14]
mov ecx, esi
call fcn.10081020
mov dword [ebp - 0x18], eax
cmp byte [ebp - 0x1b], bl
je 0x10081c55
push dword [ebp + 8]
lea ecx, [ebp + 0x10]
call fcn.10005f07
push str..transformed
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0xb
call fcn.1000d0d1
cmp dword [ebp - 0x18], ebx
jl 0x10081c13
mov dword [ebp + 8], ebx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp + 8]
push edx
push eax
mov byte [ebp - 4], 0xc
call dword [ecx + 0x88]
test eax, eax
jl 0x10081bfa
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x10081bfa
call fcn.1009ea00
push dword [ebp + 8]
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [edi]
push eax
push dword [ebp + 8]
mov ecx, edi
push dword [ebp + 0x10]
call dword [edx + 4]
lea eax, [ebp + 0x14]
push eax
call fcn.100a6015
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x100cb0a0
call fcn.10005f07
push dword [ebp + 0x14]
lea eax, [ebp + 0x10]
push ecx
mov dword [ebp - 0x24], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0xd
call fcn.10003561
mov byte [ebp - 4], 0xc
call fcn.100402b5
add esp, 0xc
jmp 0x10081c01
mov dword [ebp - 0x18], 0x80004005
push dword [ebp + 8]
mov byte [ebp - 4], 0xb
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x18], ebx
jge 0x10081c4a
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push 0x100cb0a0
call fcn.10005f07
push ecx
lea eax, [ebp + 0x10]
mov dword [ebp + 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 0xe
call fcn.10003561
mov byte [ebp - 4], 0xb
call fcn.1003f639
pop ecx
pop ecx
mov ecx, dword [ebp + 0x10]
add ecx, 0xfffffff0
call fcn.10001d29
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.10001d29
push ebx
push 1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], bl
call fcn.100035a9
cmp dword [ebp - 0x18], ebx
jl 0x10081d69
cmp word [ebp - 0x2c], bx
je 0x10081d69
push dword [esi + 0x48]
lea ecx, [ebp + 0x10]
call fcn.10016eca
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edi, [esi + 0x50]
push edi
push dword [ebp + 0x10]
mov byte [ebp - 4], 0xf
push eax
call dword [ecx + 0x94]
cmp eax, ebx
jl 0x10081cac
cmp eax, 1
jne 0x10081cf8
push dword [esi + 0x48]
lea eax, [ebp - 0x864]
push eax
call fcn.100a56ba
lea eax, [ebp - 0x864]
push eax
call fcn.100a62d2
add esp, 0xc
push eax
lea ecx, [ebp + 0x10]
call fcn.10028a40
mov eax, dword [edi]
cmp eax, ebx
je 0x10081cdf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push edi
push dword [ebp + 0x10]
push eax
call dword [ecx + 0x94]
cmp eax, ebx
jl 0x10081d55
cmp eax, 1
je 0x10081d55
mov dword [ebp - 0x38], ebx
mov edi, dword [edi]
mov byte [ebp - 4], 0x10
cmp edi, ebx
je 0x10081d0f
push edi
lea eax, [ebp - 0x38]
push eax
call fcn.100280a1
mov eax, dword [esi + 4]
mov byte [eax + 4], bl
mov edi, dword [esi + 0x24]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 8]
mov dword [ebp - 0x30], ebx
mov byte [ebp - 0x34], 1
call fcn.100814cb
push edi
mov ecx, esi
call fcn.1008153e
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0xf
cmp eax, ebx
je 0x10081d47
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp + 0x10]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x10081a72
xor eax, eax
cmp byte [ebp + 0xc], bl
sete al
dec eax
and eax, 0xfffffff9
add eax, 0xffffff99
mov dword [esi + 0x4c], eax
jmp 0x10081d47
xor eax, eax
cmp byte [ebp + 0xc], bl
sete al
lea eax, [eax*8 - 0x6e]
mov dword [esi + 0x4c], eax
jmp 0x10081a72
mov dword [esi + 0x4c], 0xffffff9b
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x10081d95
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10