Function at 0x418200
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5513a8
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x5ba6c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x418667
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418250
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x34], edi
mov dword [ebp - 4], 1
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418280
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
mov eax, dword [ebx]
push str.icon
push eax
call fcn.00530a45
add esp, 8
test eax, eax
jne 0x418611
push str.filepath
mov ecx, ebx
call fcn.004100b0
test eax, eax
jne 0x4182bf
xor ecx, ecx
jmp 0x4182cd
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4182c4
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x14]
call fcn.004017f0
mov ecx, dword [ebp - 0x14]
cmp dword [ecx - 0xc], 0
jne 0x418308
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418303
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x418644
lea ecx, [ebp - 0x14]
push ecx
call fcn.00404b50
add esp, 4
mov ecx, ebx
call fcn.0040f4d0
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], ecx
test eax, eax
jle 0x418621
jmp 0x418330
push ecx
mov ecx, ebx
call fcn.0040f4a0
mov edi, eax
test edi, edi
je 0x4185fc
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418246
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 7
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418246
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 9
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418246
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 0xb
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418246
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xd
call fcn.0042e490
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x418246
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xf
push str.folder
mov ecx, edi
call fcn.004100b0
test eax, eax
jne 0x418419
xor ecx, ecx
jmp 0x418429
mov ecx, eax
lea esi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x418420
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.004017f0
push str.name
mov ecx, edi
call fcn.004100b0
test eax, eax
jne 0x418447
xor ecx, ecx
jmp 0x418459
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x418450
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x20]
call fcn.004017f0
push str.type
mov ecx, edi
call fcn.004100b0
test eax, eax
jne 0x418477
xor ecx, ecx
jmp 0x418489
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x418480
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.004017f0
lea ecx, [ebp - 0x1c]
push ecx
call fcn.00417740
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
push ebx
push edx
lea eax, [ebp - 0x24]
push str._s_s.url
push eax
call fcn.004019c0
mov esi, dword [ebp - 0x18]
push str.EXTBUTTON0
push esi
call fcn.00530a45
mov edi, dword [ebp - 0x24]
add esp, 0x1c
test eax, eax
jne 0x4184d6
mov ecx, dword [ebp - 0x10]
push 0
call fcn.004175a0
jmp 0x418553
push str.EXTBUTTON1
push esi
call fcn.00530a45
add esp, 8
test eax, eax
jne 0x4184f4
mov ecx, dword [ebp - 0x10]
push 1
call fcn.004175a0
jmp 0x418553
push str.EXTBUTTON2
push esi
call fcn.00530a45
add esp, 8
test eax, eax
jne 0x418512
mov ecx, dword [ebp - 0x10]
push 2
call fcn.004175a0
jmp 0x418553
push str.EXTBUTTON3
lea ecx, [ebp - 0x18]
call fcn.00402c70
test eax, eax
jne 0x41852f
mov ecx, dword [ebp - 0x10]
push 3
call fcn.004175a0
jmp 0x418553
push str.EXTBUTTON4
lea ecx, [ebp - 0x18]
call fcn.00402c70
test eax, eax
jne 0x41854c
mov ecx, dword [ebp - 0x10]
push 4
call fcn.004175a0
jmp 0x418553
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov byte [ebp - 4], 0xd
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418573
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xb
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418593
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185b6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 7
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4185f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x30]
jl 0x418330
mov edi, dword [ebp - 0x34]
jmp 0x418621
mov eax, dword [ebx]
push 0x565d74
push eax
call fcn.00530a45
add esp, 8
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418644
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418667
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4