Function at 0x40e2ab
Capabilities:
Delete file

Disassembly:
mov eax, 0x457b86
call fcn.00420870
sub esp, 0xc8
mov eax, dword [0x47018c]
and dword [ebp - 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x24], eax
and dword [ebp - 4], 0
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 1
call fcn.004041c0
push eax
lea ecx, [ebp - 0x18]
call fcn.00444ad0
mov esi, 0x46f3d8
lea ecx, [ebp - 0x18]
push esi
mov byte [ebp - 4], 2
call fcn.0043f549
mov edi, eax
cmp edi, 0xffffffff
je 0x40e313
push esi
call fcn.00420c20
pop ecx
push eax
push edi
lea ecx, [ebp - 0x18]
call fcn.0043f344
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x18]
call fcn.0040dc1e
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp + 0x10]
xor ebx, ebx
mov edi, eax
inc ebx
push ebx
push esi
call fcn.004089d0
test edi, edi
je 0x40e76a
test esi, esi
jne 0x40e496
cmp dword [ebp - 0x14], esi
je 0x40e398
cmp dword [ebp - 0x14], 2
je 0x40e3e1
mov ecx, dword [ebp + 0x10]
call fcn.004082f9
push eax
lea ecx, [ebp + 0x14]
call fcn.00444ad0
push dword [ebp + 0x14]
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp + 0x10]
push ebx
push 0x80
call fcn.00408664
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 2
call fcn.00444a62
jmp 0x40e76a
mov ecx, dword [ebp + 0x10]
call fcn.004082f9
push eax
lea ecx, [ebp - 0x10]
call fcn.00444ad0
push dword [ebp - 0x10]
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp + 0x10]
push ebx
push 0x80
call fcn.00408664
cmp byte [ebp + 0x14], 0
je 0x40e3d5
mov ecx, dword [ebp + 0xc]
push ebx
push 8
call fcn.00406511
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.00444a62
call fcn.0040ce13
mov ebx, eax
test ebx, ebx
je 0x40e3f3
mov ecx, ebx
call fcn.0040fb29
mov eax, dword [0x475c08]
test eax, eax
je 0x40e401
mov edi, dword [eax + 4]
jmp 0x40e403
xor edi, edi
call fcn.004514b2
mov ecx, dword [ebp + 8]
mov esi, dword [eax + 8]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
push eax
push 0
push edi
push 0x1a
push esi
call fcn.0040ce26
add esp, 0x18
cmp eax, 1
push 4
pop edi
jne 0x40e47f
cmp dword [ebp - 0x14], 2
jne 0x40e440
mov ecx, dword [ebp + 0x10]
push eax
push 0x100
call fcn.00408664
cmp byte [ebp + 0x14], 0
je 0x40e454
mov esi, dword [ebp + 8]
push 8
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x24]
jmp 0x40e460
mov ecx, dword [ebp + 8]
push edi
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
call fcn.0040df63
test eax, eax
je 0x40e482
test ebx, ebx
je 0x40e477
mov byte [ebx + 0xcc], 1
mov dword [ebp - 0x10], edi
jmp 0x40e76a
mov esi, dword [ebp + 8]
cmp byte [ebp + 0x14], 0
mov eax, dword [esi]
mov ecx, esi
je 0x40e490
push 8
jmp 0x40e491
push edi
call dword [eax + 0x24]
jmp 0x40e477
push 3
cmp esi, ebx
pop edi
jne 0x40e4a2
cmp dword [ebp - 0x14], edi
jne 0x40e4b4
cmp esi, 2
jne 0x40e5eb
cmp dword [ebp - 0x14], edi
je 0x40e5fc
lea ecx, [ebp - 0x64]
call fcn.00441b60
cmp byte [0x475595], 0
mov byte [ebp - 4], 5
jne 0x40e4e2
mov eax, dword [0x475c08]
test eax, eax
je 0x40e4d7
mov eax, dword [eax + 4]
jmp 0x40e4d9
xor eax, eax
push eax
lea ecx, [ebp - 0x64]
call fcn.00441fc6
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp dword [eax - 8], ecx
jle 0x40e53e
lea edx, [ebp - 0x64]
push edx
xor edx, edx
cmp esi, ebx
setne dl
add edx, 0xc1
dec esi
neg esi
sbb esi, esi
push edx
add esi, 0xbb
push esi
push ecx
push eax
lea eax, [ebp + 0x14]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040c9b6
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 6
call fcn.00446880
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 7
call fcn.00444a62
lea ecx, [ebp - 0xd4]
jmp 0x40e580
lea eax, [ebp - 0x64]
push eax
xor eax, eax
cmp esi, ebx
setne al
add eax, 0xc1
dec esi
neg esi
sbb esi, esi
push eax
add esi, 0xbb
lea eax, [ebp + 0x14]
push esi
push ecx
push eax
lea ecx, [ebp - 0xd0]
call fcn.0040c8c6
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call fcn.00446880
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 5
call fcn.0044655e
lea ecx, [ebp - 0x64]
call fcn.00441fff
mov eax, dword [ebp + 0x14]
cmp eax, 0x403
jne 0x40e5a3
mov dword [ebp - 0x10], edi
jmp 0x40e75e
cmp eax, 0x405
jne 0x40e5b6
mov byte [0x475595], 1
jmp 0x40e757
cmp eax, 0x404
jne 0x40e5e1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040e106
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
push ebx
push 4
call fcn.00406511
mov dword [ebp - 0x10], 5
jmp 0x40e75e
cmp eax, 0x406
jmp 0x40e74c
cmp esi, ebx
jne 0x40e76a
cmp dword [ebp - 0x14], edi
jne 0x40e76a
lea ecx, [ebp - 0x64]
call fcn.00441b60
cmp byte [0x475595], 0
mov byte [ebp - 4], 9
jne 0x40e62a
mov eax, dword [0x475c08]
test eax, eax
je 0x40e61f
mov eax, dword [eax + 4]
jmp 0x40e621
xor eax, eax
push eax
lea ecx, [ebp - 0x64]
call fcn.00441fc6
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 8], 0
jle 0x40e685
lea ecx, [ebp - 0x64]
push ecx
xor ecx, ecx
cmp esi, ebx
setne cl
add ecx, 0xc1
dec esi
neg esi
sbb esi, esi
push ecx
add esi, 0xbb
lea ecx, [ebp - 0xd4]
push esi
push ebx
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.0040c9b6
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xa
call fcn.00446880
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xb
call fcn.00444a62
lea ecx, [ebp - 0xd4]
jmp 0x40e6c7
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0xd0]
push eax
xor eax, eax
cmp esi, ebx
setne al
add eax, 0xc1
dec esi
neg esi
sbb esi, esi
push eax
add esi, 0xbb
lea eax, [ebp + 0x14]
push esi
push ebx
push eax
call fcn.0040c8c6
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
call fcn.00446880
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.0044655e
lea ecx, [ebp - 0x64]
call fcn.00441fff
cmp dword [ebp + 0x14], 0x405
jne 0x40e738
mov ecx, dword [ebp + 0x10]
call fcn.004082f9
push eax
lea ecx, [ebp + 0x10]
call fcn.00444ad0
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 0xd
cmp dword [eax - 8], 0
jle 0x40e706
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040e106
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
push ebx
push 4
pop edi
push edi
call fcn.00406511
lea ecx, [ebp + 0x10]
mov dword [ebp - 0x10], edi
mov byte [0x475595], 1
mov byte [ebp - 4], 9
call fcn.00444a62
jmp 0x40e75e
cmp dword [ebp + 0x14], 0x404
je 0x40e5bd
cmp dword [ebp + 0x14], 0x406
jne 0x40e75e
push dword [ebp + 8]
call fcn.0040e1cc
pop ecx
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.004425f3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.00444a62
and byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00444a62
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00444a62
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x10