Function at 0x402390
Capabilities:
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x446050]
xor eax, esp
mov dword [esp + 0x128], eax
mov eax, dword [ebp + 8]
push ebx
lea ebx, [eax + 4]
push esi
push edi
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x14], ebx
cmp edi, dword [ebx + 0x10]
jbe 0x4023c4
call fcn.00420164
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x10]
mov esi, edi
mov dword [esp + 0x10], eax
cmp dword [ebx + 0xc], eax
jbe 0x4023dd
call fcn.00420164
mov ecx, dword [ebx]
mov dword [esp + 0x18], ecx
jmp 0x4023e9
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4023f7
cmp eax, dword [esp + 0x18]
je 0x4023fc
call fcn.00420164
cmp esi, dword [esp + 0x10]
je 0x4024b9
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40242a
call fcn.00420164
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x40241f
call fcn.00420164
cmp dword [esi + 0x18], 0x10
jb 0x40242e
mov eax, dword [esi + 4]
jmp 0x402431
mov eax, dword [eax]
jmp 0x402415
lea eax, [esi + 4]
push 0x5c
push eax
call fcn.00420230
mov ebx, eax
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
jne 0x4024b5
call fcn.00420164
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x402457
call fcn.00420164
add esi, 0x1c
test ebx, ebx
je 0x4023e5
inc ebx
push ebx
push str._s___Notepad
lea edx, [esp + 0x30]
push 0x105
push edx
call fcn.0041fe1a
add esp, 0x10
lea eax, [esp + 0x28]
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
jne 0x402494
push ebx
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4023e5
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x4023e5
mov eax, dword [eax]
jmp 0x40244d
mov edi, dword [ebx + 0xc]
cmp edi, dword [ebx + 0x10]
jbe 0x4024c6
call fcn.00420164
mov ebx, dword [ebx]
mov esi, edi
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x10], eax
cmp dword [edi + 0xc], eax
jbe 0x4024df
call fcn.00420164
mov ecx, dword [edi]
mov dword [esp + 0x18], ecx
test ebx, ebx
je 0x4024ef
cmp ebx, dword [esp + 0x18]
je 0x4024f4
call fcn.00420164
cmp esi, dword [esp + 0x10]
je 0x402556
test ebx, ebx
jne 0x40251a
call fcn.00420164
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x40250f
call fcn.00420164
cmp dword [esi + 0x18], 0x10
jb 0x40251e
mov edi, dword [esi + 4]
jmp 0x402521
mov eax, dword [ebx]
jmp 0x402505
lea edi, [esi + 4]
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test ebx, ebx
jne 0x402552
call fcn.00420164
xor eax, eax
cmp esi, dword [eax + 0x10]
jb 0x402549
call fcn.00420164
mov edi, dword [esp + 0x14]
add esi, 0x1c
jmp 0x4024e5
mov eax, dword [ebx]
jmp 0x40253f
mov eax, dword [edi + 0x10]
mov dword [esp + 0x10], eax
cmp dword [edi + 0xc], eax
jbe 0x402567
call fcn.00420164
mov esi, dword [edi + 0xc]
mov ebx, dword [edi]
cmp esi, dword [edi + 0x10]
jbe 0x402576
call fcn.00420164
mov edx, dword [esp + 0x10]
mov eax, dword [edi]
push edx
push ebx
push esi
push eax
lea ebx, [esp + 0x28]
mov esi, edi
call fcn.004099e0
mov ecx, dword [esp + 0x134]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041f826
mov esp, ebp
pop ebp
ret 4