Function at 0x40e370
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d0
mov eax, dword [0x43055c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push edi
mov dword [ebp - 0x2c0], ebx
call edx
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00402850
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.sysclosebutton
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e3ec
push str.hAide
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x40ea2e
push 0
push 0
push 0x401
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x40ea2e
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.sysminbutton
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e419
mov edx, dword [esi]
mov eax, dword [edx + 0xa4]
mov ecx, esi
call eax
jmp 0x40ea2e
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.button_start_all
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e43c
mov ecx, esi
call fcn.0040c230
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.taskNumBt
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e462
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push ebx
mov ecx, esi
call eax
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.AllStartNumBt
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e488
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push ebx
mov ecx, esi
call eax
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.Oper_new
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e4d0
mov ecx, dword [esi + 0x18]
push ecx
lea ecx, [ebp - 0x2cc]
mov byte [0x430375], 1
call fcn.00407bf0
lea ecx, [ebp - 0x2cc]
call fcn.00407c40
lea ecx, [ebp - 0x2cc]
call fcn.00407be0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.Oper_old
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e516
mov ecx, dword [esi + 0x18]
push ecx
lea ecx, [ebp - 0x2cc]
mov byte [0x430375], al
call fcn.00407bf0
lea ecx, [ebp - 0x2cc]
call fcn.00409200
lea ecx, [ebp - 0x2cc]
call fcn.00407be0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.task_add
call eax
push eax
call fcn.00416475
mov edi, dword [sym.imp.USER32.dll_FindWindowW]
add esp, 8
test eax, eax
jne 0x40e578
push str.TASKEDIT
push str.TASKEDIT
call edi
test eax, eax
jne 0x40ea2e
push 0x6c
call fcn.004140bb
add esp, 4
test eax, eax
je 0x40e567
mov ecx, dword [esi + 8]
push ecx
mov ecx, eax
call fcn.00410910
jmp 0x40e569
xor eax, eax
mov edx, dword [esi + 8]
push 1
push edx
push 0
mov ecx, eax
call fcn.00410960
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.Task_Edt
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e5ee
push str.TASKEDIT
push str.TASKEDIT
call edi
test eax, eax
je 0x40e5c2
lea ecx, [ebp - 0x2bc]
call fcn.00402680
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004138ed
mov esp, ebp
pop ebp
ret 4
push 0x6c
call fcn.004140bb
add esp, 4
test eax, eax
je 0x40e5dd
mov ecx, dword [esi + 8]
push ecx
mov ecx, eax
call fcn.00410910
jmp 0x40e5df
xor eax, eax
mov edx, dword [esi + 8]
push 2
push edx
push 0
mov ecx, eax
call fcn.00410960
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.Task_Del
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e68d
mov eax, dword [esi + 0xe4]
mov ecx, dword [esi + 0x90]
dec eax
push eax
call fcn.00411440
xor edi, edi
test eax, eax
je 0x40e68f
mov ecx, dword [esi + 0x14c]
mov dword [0x432148], edi
mov dword [0x43214c], edi
mov edx, dword [ecx]
mov eax, dword [edx + 0x1ac]
call eax
mov ecx, esi
call fcn.0040de50
mov ecx, dword [esi + 0xe4]
mov eax, dword [esi + 0xc0]
mov eax, dword [eax]
dec ecx
cmp ecx, edi
jle 0x40e665
lea ecx, [ecx]
dec ecx
mov eax, dword [eax]
jne 0x40e660
cmp eax, dword [esi + 0xc0]
je 0x40e68f
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push eax
mov dword [ecx + 4], edx
call fcn.00413551
add esp, 4
dec dword [esi + 0xc4]
jmp 0x40e68f
xor edi, edi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.Task_YON
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e6b2
mov ecx, esi
call fcn.0040c330
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.start_add
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e725
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push edi
call edx
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push edi
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push 1
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push 1
call edx
push 1
push edi
lea ecx, [esi + 0x40]
call fcn.004121e0
mov dword [0x4341bc], edi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.start_cancle
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e79f
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push 1
call edx
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push 1
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push edi
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push edi
call edx
lea ecx, [esi + 0x40]
call fcn.00412160
mov ecx, 0x43422c
call fcn.0040c170
mov dword [0x432118], edi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push str.start_save
call edx
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e853
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push 1
call edx
mov ecx, dword [esi + 0xe8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push 1
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x118]
push edi
call edx
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10c]
push edi
call edx
cmp dword [0x4341bc], edi
jne 0x40e81d
lea ecx, [esi + 0x40]
call fcn.00412cc0
lea ecx, [esi + 0x40]
call fcn.00412720
cmp dword [0x4341bc], 1
jne 0x40e835
mov eax, dword [esi + 0xf0]
push eax
lea ecx, [esi + 0x40]
call fcn.00412d90
lea ecx, [esi + 0x40]
call fcn.00412160
push 0
push 1
lea ecx, [esi + 0x40]
call fcn.004121e0
mov dword [0x432118], 0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.btn_Start
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e88f
mov ecx, dword [esi + 0xf0]
push ecx
lea ecx, [esi + 0x40]
call fcn.00413030
mov ecx, esi
call fcn.0040c230
mov ecx, 0x43422c
call fcn.0040c170
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.btn_Del
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40e8da
mov ecx, dword [esi + 0xe8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x108]
call eax
test al, al
je 0x40e8da
mov ecx, dword [esi + 0xf0]
push ecx
lea ecx, [esi + 0x40]
call fcn.004129b0
push 0
push 1
lea ecx, [esi + 0x40]
call fcn.004121e0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push str.btn_Edit
call eax
push eax
call fcn.00416475
add esp, 8
test eax, eax
jne 0x40ea26
mov ecx, dword [esi + 0xe8]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x118]
call eax
mov ecx, dword [esi + 0xe8]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10c]
push 0
call eax
mov ecx, dword [esi + 0xec]
mov edx, dword [ecx]
mov eax, dword [edx + 0x118]
push 1
call eax
mov ecx, dword [esi + 0xec]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10c]
push 1
call eax
mov edx, dword [esi + 0xf0]
lea ecx, [esi + 0x40]
push edx
mov dword [0x4341bc], 1
call fcn.00413030
mov eax, dword [0x43422c]
mov edi, dword [eax]
mov dword [0x432118], 0
cmp edi, eax
je 0x40ea1a
mov ecx, dword [edi + 8]
push pe_nt_image_headers32
push 0x2b4
lea eax, [ebp - 0x2b8]
push eax
push 0
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [esi + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1bc]
push 1
push eax
lea eax, [ebp - 0x2d0]
push eax
call edx
push eax
mov ecx, 0x434228
call fcn.00403360
mov eax, dword [ebp - 0x2d0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40e9da
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [edi + 8]
push ecx
mov ecx, esp
push edx
call fcn.00402850
mov eax, dword [0x434228]
push ecx
add eax, 0xfffffff0
mov ebx, esp
push eax
call fcn.00402420
add eax, 0x10
add esp, 4
mov ecx, esi
mov dword [ebx], eax
call fcn.0040d130
mov edi, dword [edi]
cmp edi, dword [0x43422c]
jne 0x40e973
mov ebx, dword [ebp - 0x2c0]
push 1
push 0
lea ecx, [esi + 0x40]
call fcn.004121e0
push ebx
mov ecx, esi
call fcn.00402bd0
mov eax, dword [ebp - 0x2bc]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ea50
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004138ed
mov esp, ebp
pop ebp
ret 4