Function at 0x40e690
Capabilities:
Delete file

Disassembly:
sub esp, 0x198
mov eax, dword [0x4630b0]
xor eax, esp
mov dword [esp + 0x194], eax
mov eax, dword [str.All_Files__._]
mov edx, dword [0x4537b0]
mov ecx, dword [0x4537ac]
push ebp
mov ebp, dword [esp + 0x1a0]
push edi
mov dword [esp + 0x18], eax
mov eax, dword [0x4537b4]
push 0x6b
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [0x4537b8]
mov dword [esp + 0x24], edx
mov dl, byte [0x4537bc]
lea eax, [esp + 0x31]
push 0
push eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x34], ecx
mov byte [esp + 0x38], dl
call fcn.0043b0e0
mov eax, dword [esp + 0x1b4]
mov ecx, dword [0x464bc0]
mov edi, eax
imul edi, edi, 0x1008
add ecx, edi
add esp, 0xc
cmp dword [ecx], 0x1a
mov dword [esp + 0xc], ecx
jne 0x40e749
push 0x94
call fcn.0040ae20
add esp, 4
pop edi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x194]
xor ecx, esp
call fcn.0043b3fc
add esp, 0x198
ret
push ebx
push esi
lea esi, [eax + eax*2]
mov eax, dword [0x464bbc]
xor edx, edx
shl esi, 5
cmp dword [esi + eax + 0x50], edx
push 0x400
setne dl
mov dword [esp + 0x1c], edx
call fcn.0043d0fe
mov ecx, dword [0x464bc0]
mov ebx, eax
add esp, 4
mov dword [esp + 0x1c], ebx
lea ecx, [edi + ecx + 4]
mov edx, ebx
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x40e782
mov edx, dword [0x464bc0]
mov eax, dword [edi + edx]
cmp eax, 9
je 0x40e85d
cmp eax, 0x1b
je 0x40e806
cmp eax, 0x1e
jne 0x40e8a3
push 0x80
lea eax, [esp + 0x24]
push 0
push eax
call fcn.0043b0e0
mov eax, dword [0x45379c]
mov ecx, dword [str.JPG__.jpg_]
mov edx, dword [0x453798]
mov dword [esp + 0x34], eax
mov eax, ebx
add esp, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40e7e6
mov ecx, dword [0x453738]
mov dword [eax], ecx
mov dl, byte [0x45373c]
mov byte [eax + 4], dl
jmp 0x40e8a3
push 0x80
lea eax, [esp + 0x24]
push 0
push eax
call fcn.0043b0e0
mov eax, dword [0x453788]
mov ecx, dword [str.SVG__.svg_]
mov edx, dword [0x453784]
mov dword [esp + 0x34], eax
mov eax, ebx
add esp, 0xc
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40e840
mov ecx, dword [0x453778]
mov dword [eax], ecx
mov dl, byte [0x45377c]
mov byte [eax + 4], dl
jmp 0x40e8a3
mov eax, ebx
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x40e862
mov ecx, dword [0x453770]
mov dword [eax], ecx
mov dl, byte [0x453774]
mov byte [eax + 4], dl
mov eax, dword [str.TIFF__.tif_]
mov ecx, dword [0x453760]
mov edx, dword [0x453764]
mov dword [esp + 0x20], eax
mov al, byte [0x453768]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov byte [esp + 0x2c], al
push 0
lea ecx, [esp + 0x24]
push ecx
push 0x460010
push 1
push ebx
push 0x465158
push 0x71
call fcn.00406330
add esp, 8
push eax
push 1
push ebp
call fcn.004073e0
add esp, 0x20
test eax, eax
je 0x40e8de
mov dword [esp + 0x10], 1
jmp 0x40ea7a
push ebx
call fcn.0040a6d0
add esp, 4
test eax, eax
je 0x40e91d
mov edx, dword [section..data]
push 4
push edx
push 0x465158
push 0x72
call fcn.00406330
add esp, 8
push eax
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
je 0x40e91d
mov dword [esp + 0x10], 1
jmp 0x40ea7a
mov eax, dword [0x464bc0]
cmp dword [edi + eax], 0x1e
je 0x40e941
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xa10]
push ebx
push edx
call fcn.0041e9f0
add esp, 8
jmp 0x40eaa9
push 0x1000
push ebx
call fcn.0040a5e0
mov ebp, eax
add esp, 8
test ebp, ebp
jge 0x40e95f
mov eax, 1
jmp 0x40eaa9
push 0x10000
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [esp + 0x14], eax
jne 0x40e988
mov dword [esp + 0x10], 1
jmp 0x40ea46
cmp dword [esp + 0x18], 0
mov eax, dword [0x464bbc]
je 0x40e99e
mov ebx, dword [esi + eax + 0x4c]
mov edi, dword [esi + eax + 0x50]
jmp 0x40e9a5
mov ebx, dword [esi + eax]
mov edi, dword [esi + eax + 4]
mov eax, dword [0x460004]
push 0
push ebx
push eax
call fcn.0040a650
add esp, 0xc
cmp eax, ebx
je 0x40e9c4
mov dword [esp + 0x10], 1
jmp 0x40ea42
push 0x7f02
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
test edi, edi
mov dword [esp + 0x18], eax
je 0x40ea1b
cmp edi, 0x10000
mov esi, edi
jl 0x40e9ef
mov esi, 0x10000
mov ebx, dword [esp + 0x14]
mov ecx, dword [0x460004]
push esi
push ebx
push ecx
call fcn.0040a670
add esp, 0xc
cmp eax, esi
jne 0x40ea2b
push esi
push ebx
push ebp
call fcn.0040a6a0
add esp, 0xc
cmp eax, esi
jne 0x40ea2b
sub edi, esi
jne 0x40e9e0
push ebp
call fcn.0040a630
add esp, 4
or ebp, 0xffffffff
test eax, eax
je 0x40ea33
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40ea42
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ebx, dword [esp + 0x1c]
cmp ebp, 0xffffffff
jle 0x40ea54
push ebp
call fcn.0040a630
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40ea7a
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [esp + 0x14]
push edx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
test ebx, ebx
je 0x40ea87
push ebx
call fcn.0043d021
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x40eaa7
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x73
call fcn.0040ae20
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x1a4]
pop esi
pop ebx
pop edi
pop ebp
xor ecx, esp
call fcn.0043b3fc
add esp, 0x198
ret