Function at 0x40b540
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47239d
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x48f840]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push esi
push edi
mov eax, dword [0x48f840]
xor eax, esp
push eax
lea eax, [esp + 0x170]
mov dword fs:[0], eax
mov esi, dword [0x49645c]
xor edi, edi
mov al, byte [esi + 0x54]
lea ecx, [esi + 0x18]
not al
and al, 1
je 0x40b5aa
sub esp, 0xc
call fcn.004194a0
push ecx
mov ecx, esi
call fcn.00415450
mov esi, dword [0x49645c]
mov ecx, dword [esi + 0xbc]
test ecx, ecx
jne 0x40b5b8
xor eax, eax
jmp 0x40b5c0
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
lea ecx, [esp + 0xdc]
movzx ebx, ax
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
mov dword [esp + 0x178], 0
lea eax, [esp + 0xdc]
push dword [0x496470]
push 0x47f08c
push eax
call dword [sym.imp.DuiLib.dll_public:_int___cdecl_DuiLib::CDuiString::Format_wchar_t_const__]
mov eax, dword [0x496568]
lea ecx, [esp + 0xe8]
add esp, 0xc
mov esi, dword [eax]
call dword [sym.imp.DuiLib.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::operator_wchar_t_const__void_const]
mov ecx, dword [0x496568]
push eax
call dword [esi + 0x2c]
push ebx
push 0
push 0x464
push dword [0x4963d4]
call dword [sym.imp.USER32.dll_PostMessageW]
push 0x98
lea eax, [esp + 0x48]
push 0
push eax
call fcn.00446bf0
add esp, 0xc
lea ecx, [esp + 0x44]
call fcn.00412750
mov byte [esp + 0x178], 1
test ebx, ebx
jle 0x40b7bc
mov edx, dword [0x49645c]
mov ecx, 0xffff
mov al, byte [edx + 0x54]
not al
and al, 1
jne 0x40b7bc
mov edx, dword [edx + 0xbc]
movzx esi, di
mov eax, dword [edx + 4]
sub eax, dword [edx]
sar eax, 2
cmp si, ax
jae 0x40b7bc
cmp si, cx
je 0x40b7bc
mov eax, dword [edx]
mov ecx, esi
push dword [eax + ecx*4]
lea ecx, [esp + 0x48]
call fcn.00413ba0
cmp dword [esp + 0xc4], 0
jne 0x40b6f1
lea ecx, [esp + 0xb8]
call fcn.00412500
push dword [esp + 0xc4]
lea ecx, [esp + 0x48]
call fcn.00413560
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x40b6f1
push eax
call fcn.0043d771
add esp, 4
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
xor eax, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
push 0xffffffffffffffff
push eax
mov byte [esp + 0x180], 2
lea ecx, [esp + 0x34]
push dword [esp + 0xcc]
call fcn.00402ab0
mov byte [esp + 0x178], 3
lea eax, [esp + 0x2c]
cmp dword [esp + 0x40], 8
push 0x80
cmovae eax, dword [esp + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
sub esp, 0x14
push esi
call fcn.00415bd0
test al, al
je 0x40b78a
push ebx
push edi
push 0x464
push dword [0x4963d4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [esp + 0x178], 1
cmp dword [esp + 0x40], 8
jb 0x40b780
push dword [esp + 0x2c]
call fcn.0043d771
add esp, 4
inc edi
cmp edi, ebx
jge 0x40b7bc
jmp 0x40b656
mov byte [esp + 0x178], 1
cmp dword [esp + 0x40], 8
jb 0x40b7a5
push dword [esp + 0x2c]
call fcn.0043d771
add esp, 4
xor eax, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
sub esp, 8
lea eax, [esp + 0x1c]
push eax
call fcn.004156b0
cmp dword [esp + 0x28], 8
jb 0x40b7dc
push dword [esp + 0x14]
call fcn.0043d771
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
push 0x47f074
mov dword [esp + 0x28], 0
mov word [esp + 0x18], ax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
call fcn.0040ae10
push dword [0x496458]
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea ecx, [esp + 0x44]
mov byte [esp + 0x178], 0
call fcn.00412940
lea ecx, [esp + 0xdc]
mov dword [esp + 0x178], 0xffffffff
call dword [sym.imp.DuiLib.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
mov ecx, dword [esp + 0x170]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.0043d762
mov esp, ebp
pop ebp
ret