Function at 0x415490
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x473538
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x4b700c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x20], ebx
sub esp, 0x18
mov dword [ebp - 0x2c], esp
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
xor eax, eax
mov word [ecx], ax
push 9
push str.stemp.bat
call fcn.004029c0
mov dword [ebp - 4], 0
sub esp, 0x18
mov dword [ebp - 0x28], esp
mov ecx, esp
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
xor eax, eax
mov word [ecx], ax
push 6
push 0x487a74
call fcn.004029c0
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
mov edx, 0x76
lea ecx, [ebp - 0x24]
call fcn.00401370
add esp, 0x30
mov dword [ebp - 4], 2
call fcn.00403a70
mov ecx, eax
test ecx, ecx
je 0x415a39
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
mov byte [ebp - 4], 5
push 0x4878b4
lea ecx, [ebp - 0x28]
call fcn.0045d100
mov byte [ebp - 4], 6
mov byte [ebp - 0x11], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
lea eax, [ebp - 0x28]
push eax
lea edx, [ebp - 0x24]
call fcn.0045c7c0
add esp, 4
mov byte [ebp - 4], 7
mov byte [ebp - 4], 6
mov dl, byte [ebp - 0x11]
lea ecx, [ebp - 0x1c]
call fcn.00460ee0
add esp, 4
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
or edi, 0xffffffff
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4155be
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
push ecx
push str.error
lea ecx, [ebp - 0x1c]
call fcn.0045cc50
test eax, eax
jns 0x41563b
push ecx
push 0x4882dc
lea ecx, [ebp - 0x1c]
call fcn.0045cc50
test eax, eax
jns 0x41563b
push ecx
push str.denied
lea ecx, [ebp - 0x1c]
call fcn.0045cc50
test eax, eax
jns 0x41563b
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.Necessary_changes_have_been_done.
call fcn.0045d100
mov byte [ebp - 4], 0x13
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Success
call fcn.0045d100
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 9
mov ecx, ebx
jmp 0x41575c
push str.Error_occurred_during_code_execution
lea ecx, [ebp - 0x18]
call fcn.0045d070
push ecx
mov dword [ebp - 0x30], esp
mov dword [ebp - 0x2c], esp
mov esi, dword [ebp - 0x18]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi - 4]
cmp dword [eax], 0
jl 0x415671
cmp ecx, dword [esi - 0x10]
jne 0x415671
lea ebx, [esi - 0x10]
lock inc dword [eax]
jmp 0x41569b
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x415a43
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [esi - 0xc]
inc edx
push edx
push esi
lea ecx, [ebx + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.failedToStartSelectionTree_KB_11066
call fcn.0045d100
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 9
or ecx, 0xffffffff
call fcn.0045f800
add esp, 4
mov ecx, esp
mov dword [ebp - 0x30], esp
push 0x48780e
call fcn.0045d100
mov byte [ebp - 4], 0xe
push ecx
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x2c], esp
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
lea eax, [esi - 4]
cmp dword [eax], 0
jl 0x415707
cmp ecx, dword [esi - 0x10]
jne 0x415707
lea ebx, [esi - 0x10]
lock inc dword [eax]
jmp 0x415731
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov ebx, eax
test ebx, ebx
je 0x415a48
mov eax, dword [esi - 0xc]
mov dword [ebx + 4], eax
mov edx, dword [esi - 0xc]
inc edx
push edx
push esi
lea ecx, [ebx + 0x10]
call fcn.004031c0
add esp, 8
lea eax, [ebx + 0x10]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.Failure
call fcn.0045d100
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x20]
call fcn.0045fd10
add esp, 0xc
mov byte [ebp - 4], 0x15
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x415786
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 4], 4
jmp 0x415873
call fcn.00403a70
mov ecx, eax
test ecx, ecx
je 0x415a52
jmp 0x41595f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x23
push 0x4878b4
lea ecx, [ebp - 0x1c]
call fcn.00402f20
test al, al
jne 0x41598c
push 0x4878b4
lea ecx, [ebp - 0x1c]
call fcn.0045d070
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x2c]
call fcn.0045c7c0
add esp, 4
mov byte [ebp - 4], 0x25
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4159cc
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4159ea
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x415a08
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x415a27
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403850
call fcn.004031b0
call fcn.004031b0
call fcn.004031b0
push 0x80004005
call fcn.00403850
call fcn.004031b0
int3