Function at 0x40de40
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4743a0
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x48c0d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x24]
mov esi, ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], eax
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x18]
push edx
lea eax, [esi + 0x2b4]
push eax
mov dword [ebp - 4], 0
call fcn.00411980
mov edi, dword [ebp - 0x18]
mov ebx, dword [esi + 0x2d0]
mov eax, dword [esi + 0x2bc]
test edi, edi
je 0x40dea8
cmp edi, eax
je 0x40dead
call fcn.0045808d
cmp dword [ebp - 0x14], ebx
je 0x40dfa7
test edi, edi
jne 0x40df7d
call fcn.0045808d
xor eax, eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + 0x14]
jne 0x40ded2
call fcn.0045808d
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x60], 0
je 0x40dfa7
test edi, edi
jne 0x40df84
call fcn.0045808d
mov eax, dword [ebp - 0x14]
cmp eax, dword [edi + 0x14]
jne 0x40def9
call fcn.0045808d
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebp - 0x1c]
add ecx, 0xc08
lea edi, [eax + 2]
jmp 0x40df10
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x40df10
mov edx, dword [ebp - 0x1c]
sub eax, edi
sar eax, 1
mov edi, eax
mov eax, dword [ecx + 0x14]
push edx
call fcn.00411600
test eax, eax
jge 0x40df8b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0xffffffffffffffff
push 0
lea eax, [ebp + 8]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.00403e10
add esi, 0x2b0
push esi
call fcn.00416920
cmp dword [ebp + 0x20], 0x10
jb 0x40df76
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00457a6e
add esp, 4
xor eax, eax
jmp 0x40e23e
mov eax, dword [edi]
jmp 0x40dec5
mov edi, dword [edi]
jmp 0x40deec
cmp dword [ebp + 0x20], 0x10
jb 0x40df9d
mov edx, dword [ebp + 0xc]
push edx
call fcn.00457a6e
add esp, 4
mov eax, 2
jmp 0x40e23e
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
push ecx
lea edx, [esi + 0x2fc]
push edx
call fcn.00411db0
mov eax, dword [ebp - 0x18]
mov edi, dword [esi + 0x318]
mov esi, dword [esi + 0x304]
test eax, eax
je 0x40dfd2
cmp eax, esi
je 0x40dfd7
call fcn.0045808d
mov ebx, dword [ebp - 0x14]
cmp ebx, edi
je 0x40e227
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40e04a
call fcn.0045808d
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x40dffa
call fcn.0045808d
mov edi, dword [ebp - 0x1c]
mov eax, edi
lea ecx, [ebx + 0x78]
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x40e005
sub eax, esi
sar eax, 1
push edi
mov edi, eax
mov eax, dword [ecx + 0x14]
call fcn.00411600
test eax, eax
jge 0x40e20a
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40e04e
call fcn.0045808d
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x40e03f
call fcn.0045808d
cmp dword [ebx + 0x3c], 0x10
jb 0x40e052
mov edi, dword [ebx + 0x28]
jmp 0x40e055
mov eax, dword [eax]
jmp 0x40dff0
mov eax, dword [eax]
jmp 0x40e035
lea edi, [ebx + 0x28]
test edi, edi
jne 0x40e05d
xor esi, esi
jmp 0x40e08c
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
cmp esi, 0x3fffffff
jle 0x40e073
xor esi, esi
jmp 0x40e08c
lea eax, [esi + esi]
call fcn.0045dfe0
mov ecx, esp
mov edx, esi
push 3
mov eax, edi
mov esi, ecx
call fcn.004151d0
mov esi, eax
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40e0c4
call fcn.0045808d
xor eax, eax
cmp ebx, dword [eax + 0x14]
jne 0x40e0a4
call fcn.0045808d
add ebx, 0x5c
push ebx
mov ebx, esi
lea esi, [ebp - 0x3c]
call fcn.00409790
mov esi, 8
add esp, 4
cmp dword [eax + 0x18], esi
jb 0x40e0c8
mov eax, dword [eax + 4]
jmp 0x40e0cb
mov eax, dword [eax]
jmp 0x40e09a
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x24], esi
jb 0x40e0e3
mov eax, dword [ebp - 0x38]
push eax
call fcn.00457a6e
add esp, 4
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x40e109
call fcn.0045808d
xor eax, eax
mov esi, dword [ebp - 0x14]
cmp esi, dword [eax + 0x14]
jne 0x40e0fe
call fcn.0045808d
cmp dword [esi + 0x3c], 0x10
jb 0x40e10d
mov esi, dword [esi + 0x28]
jmp 0x40e110
mov eax, dword [eax]
jmp 0x40e0f1
add esi, 0x28
test esi, esi
jne 0x40e118
xor edi, edi
jmp 0x40e147
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
inc ebx
cmp ebx, 0x3fffffff
jle 0x40e12e
xor edi, edi
jmp 0x40e147
lea eax, [ebx + ebx]
call fcn.0045dfe0
mov ecx, esp
mov eax, esi
push 3
mov edx, ebx
mov esi, ecx
call fcn.004151d0
mov edi, eax
mov ecx, dword [ebp - 0x20]
add ecx, 0x270
push ecx
mov ebx, str.cache_
lea esi, [ebp - 0x58]
call fcn.00409790
push eax
mov ebx, edi
lea esi, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.00409790
add esp, 8
cmp dword [eax + 0x18], 8
jb 0x40e17b
mov eax, dword [eax + 4]
jmp 0x40e17e
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, 8
cmp dword [ebp - 0x24], esi
jb 0x40e19b
mov edx, dword [ebp - 0x38]
push edx
call fcn.00457a6e
add esp, 4
xor ebx, ebx
xor eax, eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x24], 7
mov dword [ebp - 0x28], ebx
mov word [ebp - 0x38], ax
cmp dword [ebp - 0x40], esi
jb 0x40e1c1
mov ecx, dword [ebp - 0x54]
push ecx
call fcn.00457a6e
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x1c], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp + 8]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00403e10
mov ecx, dword [ebp - 0x20]
add ecx, 0x2b0
call fcn.004169b0
cmp dword [ebp + 0x20], 0x10
jb 0x40df76
mov eax, dword [ebp + 0xc]
push eax
call fcn.00457a6e
add esp, 4
xor eax, eax
jmp 0x40e23e
cmp dword [ebp + 0x20], 0x10
jb 0x40df9d
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00457a6e
add esp, 4
mov eax, 2
jmp 0x40e23e
cmp dword [ebp + 0x20], 0x10
jb 0x40e239
mov edx, dword [ebp + 0xc]
push edx
call fcn.00457a6e
add esp, 4
mov eax, 3
lea esp, [ebp - 0x68]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00457a79
mov esp, ebp
pop ebp
ret 0x20