Function at 0x4257c0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49bb0e
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x4c7050]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x140], 0
test esi, esi
jne 0x425821
push 0x4a2700
mov ecx, ebx
call fcn.00401830
mov eax, ebx
jmp 0x425bcd
call fcn.00403660
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x42583d
push 0x80004005
call fcn.00403040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], 0
call fcn.00403660
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x425870
push 0x80004005
call fcn.00403040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x11c], eax
push dword [esi + 0x3c]
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 1
push dword [esi + 0x38]
push str.Setup__s__s.exe
push eax
call fcn.00403490
mov eax, dword [ebp - 0x11c]
add esp, 0xc
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004031c0
add eax, 0x10
add esp, 4
mov dword [esi], eax
lea eax, [ebp - 0x120]
push eax
call fcn.0042c6d0
add esp, 8
push eax
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 2
call fcn.004024c0
mov edx, dword [ebp - 0x120]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov byte [ebp - 4], 1
mov eax, ebx
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4258fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x11c]
push ecx
mov dword [ebp - 0x12c], esp
mov edi, esp
lea eax, [esi - 0x10]
push eax
mov dword [ebp - 0x134], eax
call fcn.004031c0
add eax, 0x10
mov dword [edi], eax
mov eax, dword [ebp - 0x118]
mov edi, esp
mov byte [ebp - 4], 3
mov eax, dword [eax + 0x40]
sub eax, 0x10
push eax
call fcn.004031c0
add esp, 4
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 1
call fcn.0042e5f0
add esp, 8
test eax, eax
je 0x425b73
call fcn.00403660
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x42596f
push 0x80004005
call fcn.00403040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x118]
mov byte [ebp - 4], 4
push dword [eax + 0x40]
lea eax, [ebp - 0x138]
push str._s.md5
push eax
call fcn.00403490
mov eax, dword [ebp - 0x138]
add esp, 8
add eax, 0xfffffff0
mov edi, esp
mov dword [ebp - 0x12c], eax
push eax
call fcn.004031c0
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea eax, [ebp - 0x124]
push eax
call fcn.0042e700
add esp, 8
push 0x20
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x124]
call fcn.004185b0
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 6
call fcn.00415ff0
mov edx, dword [ebp - 0x118]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425a19
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 3
push dword [ebp - 0x124]
lea eax, [ebp - 0x110]
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x114], eax
call fcn.004183b0
push dword [ebp - 0x114]
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 7
call fcn.00401830
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 9
cmp eax, ecx
je 0x425a6a
push eax
call fcn.00447720
add esp, 4
push ecx
lea eax, [esi - 0x10]
mov edi, esp
push eax
call fcn.004031c0
add eax, 0x10
add esp, 4
mov dword [edi], eax
lea eax, [ebp - 0x130]
push eax
call fcn.0042eb90
add esp, 8
mov eax, dword [ebp - 0x130]
xor ecx, ecx
test eax, eax
mov byte [ebp - 4], 0xa
setne cl
test ecx, ecx
jne 0x425aac
push 0x80004005
call fcn.00403040
push eax
push dword [ebp - 0x120]
call fcn.00452476
add esp, 8
test eax, eax
jne 0x425ad3
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x128]
call fcn.004024c0
jmp 0x425aea
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x4a2700
lea ecx, [ebp - 0x128]
call fcn.004025a0
mov edx, dword [ebp - 0x130]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 9
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425b0d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x120]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425b30
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x124]
mov ecx, ebx
add edx, 0xfffffff0
mov byte [ebp - 4], 4
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425b53
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x12c]
mov ecx, ebx
mov byte [ebp - 4], 1
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425b73
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x128]
add esi, 0xfffffff0
push esi
call fcn.004031c0
mov edi, dword [ebp - 0x13c]
add eax, 0x10
mov edx, dword [ebp - 0x134]
add esp, 4
mov byte [ebp - 4], 0
mov ecx, ebx
mov dword [edi], eax
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x425bb0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x425bcb
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00448352
mov esp, ebp
pop ebp
ret 8