Function at 0x401570
Capabilities:
Check if file exists
Delete file
Get file attributes
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x49b82c
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x4be0a0]
xor eax, esp
mov dword [esp + 0x124], eax
push esi
push edi
mov eax, dword [0x4be0a0]
xor eax, esp
push eax
lea eax, [esp + 0x134]
mov dword fs:[0], eax
mov esi, dword [esp + 0x144]
mov edi, ecx
mov ecx, dword [esi + 0x108]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
lea edx, [esp + 0xac]
push edx
call eax
mov dword [esp + 0x13c], 0
mov esi, dword [esi]
mov ecx, str.click
mov eax, esi
jmp 0x4015e0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x401606
test dx, dx
je 0x401602
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x401606
add eax, 4
add ecx, 4
test dx, dx
jne 0x4015e0
xor eax, eax
jmp 0x40160b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401801
mov edx, dword [esp + 0xac]
mov ecx, str.btnClose
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x401647
test si, si
je 0x401643
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x401647
add eax, 4
add ecx, 4
test si, si
jne 0x401621
xor eax, eax
jmp 0x40164c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4016cd
mov eax, dword [edi + 0x494]
add eax, 0x5c
cmp dword [eax + 0x18], 8
jb 0x401664
mov esi, dword [eax + 4]
jmp 0x401667
lea esi, [eax + 4]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40167d
push 2
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x401693
test al, 1
je 0x40168c
and eax, 0xfffffffe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [edi - 0xc]
push 1
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov edx, dword [edi - 0xc]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40195d
mov eax, dword [edi - 0xc]
push 0
push 2
push 0x10
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x40195d
mov ecx, str.btnToolPath
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x4016fa
test si, si
je 0x4016f6
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x4016fa
add eax, 4
add ecx, 4
test si, si
jne 0x4016d4
xor eax, eax
jmp 0x4016ff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401745
lea ecx, [esp + 0xc]
push ecx
lea ecx, [edi - 0x10]
call fcn.00401ba0
push 0xffffffffffffffff
push 0
push eax
mov byte [esp + 0x148], 1
mov eax, dword [edi + 0x494]
add eax, 0x40
call fcn.00402830
cmp dword [esp + 0x24], 8
jb 0x40195d
mov edx, dword [esp + 0x10]
push edx
call fcn.0047d710
jmp 0x40195a
mov ecx, str.btnToolImage
mov eax, edx
lea esp, [esp]
mov si, word [eax]
cmp si, word [ecx]
jne 0x401776
test si, si
je 0x401772
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x401776
add eax, 4
add ecx, 4
test si, si
jne 0x401750
xor eax, eax
jmp 0x40177b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4017b6
push edx
lea eax, [esp + 0x10]
push eax
lea ecx, [edi - 0x10]
call fcn.004019a0
push 0xffffffffffffffff
push 0
push eax
mov byte [esp + 0x148], 2
mov eax, dword [edi + 0x494]
add eax, 0x5c
call fcn.00402830
lea esi, [esp + 0xc]
call fcn.00405980
jmp 0x40195d
mov ecx, str.btnAddTool
mov eax, edx
lea ecx, [ecx]
mov si, word [eax]
cmp si, word [ecx]
jne 0x4017e6
test si, si
je 0x4017e2
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x4017e6
add eax, 4
add ecx, 4
test si, si
jne 0x4017c0
xor eax, eax
jmp 0x4017eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401964
add edi, 0xfffffff0
push edi
call fcn.00402070
jmp 0x40195d
mov ecx, str.itemselect
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40182e
test dx, dx
je 0x40182a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40182e
add eax, 4
add ecx, 4
test dx, dx
jne 0x401808
xor eax, eax
jmp 0x401833
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401885
mov edx, dword [esp + 0xac]
mov ecx, str.combToolType
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x40186b
test si, si
je 0x401867
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x40186b
add eax, 4
add ecx, 4
test si, si
jne 0x401845
xor eax, eax
jmp 0x401870
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401964
lea esi, [edi - 0x10]
call fcn.00402600
jmp 0x40195d
mov ecx, str.textchanged
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4018b6
test dx, dx
je 0x4018b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4018b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x401890
xor eax, eax
jmp 0x4018bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40195d
mov edx, dword [esp + 0xac]
mov ecx, str.edtWebToolUrl
mov eax, edx
mov si, word [eax]
cmp si, word [ecx]
jne 0x4018f7
test si, si
je 0x4018f3
mov si, word [eax + 2]
cmp si, word [ecx + 2]
jne 0x4018f7
add eax, 4
add ecx, 4
test si, si
jne 0x4018d1
xor eax, eax
jmp 0x4018fc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x401964
push 1
push edx
lea esi, [edi + 0x34c]
push esi
call fcn.004235d1
mov ecx, dword [esp + 0xac]
push 1
push ecx
push esi
mov edi, eax
call fcn.004235d1
mov edx, dword [edi]
mov edx, dword [edx + 0x38]
mov esi, eax
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call edx
mov byte [esp + 0x13c], 3
mov edx, dword [esi]
mov eax, dword [eax]
mov edx, dword [edx + 0xb0]
push eax
mov ecx, esi
call edx
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x40195d
push eax
call fcn.0047db14
add esp, 4
mov edx, dword [esp + 0xac]
lea eax, [esp + 0xb0]
cmp edx, eax
je 0x401978
push edx
call fcn.0047db14
add esp, 4
mov ecx, dword [esp + 0x134]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0047d444
add esp, 0x134
ret 4