Function at 0x440d8f
Capabilities:
Delete file
Get file size
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x63c
mov eax, dword [0x46a010]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
mov edi, ecx
mov ebx, 0x104
xor ecx, ecx
mov dword [ebp - 0x634], ecx
mov dword [ebp - 0x628], ecx
mov dword [ebp - 0x624], ecx
mov dword [ebp - 0x630], ecx
mov word [ebp - 0x210], cx
lea ecx, [ebp - 0x620]
push ebx
push ecx
push eax
call fcn.0044256a
lea edx, [ebp - 0x418]
mov dword [ebp - 0x638], eax
call fcn.0044bd68
mov esi, eax
test esi, esi
jns 0x440e46
mov eax, dword [0x46a020]
mov ebx, 0x46a020
cmp eax, ebx
je 0x4411b2
test byte [eax + 0x1c], 8
je 0x4411b2
cmp byte [eax + 0x19], 2
jb 0x4411b2
push esi
push 0x407548
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xb
mov edx, 0x4077c4
pop ecx
call fcn.00410eec
jmp 0x4411b2
cmp dword [ebp + 8], 0
mov eax, 0x407570
jne 0x440e56
mov eax, 0x407584
lea ecx, [ebp - 0x620]
push ecx
push eax
lea eax, [ebp - 0x418]
push eax
push 0x40759c
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.004145d2
mov esi, eax
add esp, 0x18
test esi, esi
jns 0x440ec4
mov eax, dword [0x46a020]
mov ebx, 0x46a020
cmp eax, ebx
je 0x4411b2
test byte [eax + 0x1c], 8
je 0x4411b2
cmp byte [eax + 0x19], 2
jb 0x4411b2
push esi
push 0x402bf4
call fcn.00411040
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xc
jmp 0x440e36
mov eax, dword [0x46a020]
mov ebx, 0x46a020
cmp eax, ebx
je 0x440f14
test byte [eax + 0x1c], 1
je 0x440f14
cmp byte [eax + 0x19], 4
jb 0x440f14
cmp dword [ebp + 8], 0
mov eax, 0x4075b8
jne 0x440eee
mov eax, 0x4075c0
lea ecx, [ebp - 0x210]
push ecx
push eax
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xd
pop ecx
call fcn.00426a02
xor eax, eax
push eax
push 0x8000000
push 3
push eax
push eax
push SysReAllocStringLen
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x62c], eax
cmp eax, 0xffffffff
jne 0x440f99
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x440f52
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x4411b2
test byte [eax + 0x1c], 1
je 0x4411b2
cmp byte [eax + 0x19], 2
jb 0x4411b2
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xe
pop ecx
call fcn.00412c68
jmp 0x4411b2
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x440ffb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x440fbf
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x4411a6
test byte [eax + 0x1c], 1
je 0x4411a6
cmp byte [eax + 0x19], 2
jb 0x4411a6
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xf
jmp 0x44115a
lea eax, [ebp - 0x630]
push eax
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, eax
mov dword [ebp - 0x624], ecx
cmp ecx, 0xffffffff
jne 0x441085
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x44107f
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x441061
test byte [eax + 0x1c], 1
je 0x441061
cmp byte [eax + 0x19], 2
jb 0x441061
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
pop ecx
call fcn.00412c68
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x4411a6
movzx esi, si
or esi, 0x80070000
jmp 0x4411a6
mov ecx, dword [ebp - 0x624]
cmp dword [ebp - 0x630], 0
jne 0x441167
cmp ecx, 0x7fffffff
ja 0x441167
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x628], eax
test eax, eax
jne 0x4410f6
mov ecx, dword [0x46a020]
cmp ecx, ebx
je 0x4410ec
test byte [ecx + 0x1c], 8
je 0x4410ec
cmp byte [ecx + 0x19], 2
jb 0x4410ec
push 0x4075cc
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x12
pop ecx
call fcn.0040f9dc
mov esi, 0x8007000e
jmp 0x4411a6
push 0
lea ecx, [ebp - 0x634]
push ecx
push dword [ebp - 0x624]
push eax
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x4411a6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jle 0x44112f
movzx esi, si
or esi, 0x80070000
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x4411a6
test byte [eax + 0x1c], 1
je 0x4411a6
cmp byte [eax + 0x19], 2
jb 0x4411a6
push esi
push ecx
call fcn.00411040
pop ecx
push eax
mov eax, dword [0x46a020]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x13
mov edx, 0x4077c4
pop ecx
call fcn.00412c68
jmp 0x4411a6
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x4411a1
test byte [eax + 0x1c], 1
je 0x4411a1
cmp byte [eax + 0x19], 2
jb 0x4411a1
push ecx
push dword [ebp - 0x630]
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x11
pop ecx
call fcn.004166e3
mov esi, 0x80004005
push dword [ebp - 0x62c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp word [ebp - 0x210], 0
je 0x4411c9
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp + 8], 0
mov ecx, dword [sym.imp.KERNEL32.dll_LocalFree]
je 0x4411f2
and dword [edi + 0x107c], 0
mov eax, dword [edi + 0x1078]
test eax, eax
je 0x44120d
push eax
call ecx
and dword [edi + 0x1078], 0
jmp 0x44120d
and dword [edi + 0x1088], 0
mov eax, dword [edi + 0x1084]
test eax, eax
je 0x44120d
push eax
call ecx
and dword [edi + 0x1084], 0
test esi, esi
js 0x441304
cmp dword [ebp + 8], 0
je 0x441290
lea esi, [edi + 0x107c]
push esi
lea eax, [edi + 0x1078]
push eax
push dword [ebp - 0x624]
push dword [ebp - 0x628]
call fcn.00442874
test eax, eax
js 0x441280
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x441271
test byte [eax + 0x1c], 1
je 0x441271
cmp byte [eax + 0x19], 5
jb 0x441271
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x14
pop ecx
call fcn.004110b1
mov dword [edi + 0x1074], 1
jmp 0x441336
xor eax, eax
mov dword [edi + 0x1074], eax
mov dword [edi + 0x1078], eax
jmp 0x441300
lea esi, [edi + 0x1088]
push esi
lea eax, [edi + 0x1084]
push eax
push dword [ebp - 0x624]
push dword [ebp - 0x628]
call fcn.00442874
test eax, eax
js 0x4412f2
mov eax, dword [0x46a020]
cmp eax, ebx
je 0x4412e6
test byte [eax + 0x1c], 1
je 0x4412e6
cmp byte [eax + 0x19], 5
jb 0x4412e6
call fcn.00411040
push eax
mov eax, dword [0x46a020]
mov edx, 0x4077c4
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x15
pop ecx
call fcn.004110b1
mov dword [edi + 0x1080], 1
jmp 0x441336
xor eax, eax
mov dword [edi + 0x1080], eax
mov dword [edi + 0x1084], eax
mov dword [esi], eax
jmp 0x441336
cmp dword [ebp + 8], 0
je 0x441321
and dword [edi + 0x1074], 0
and dword [edi + 0x1078], 0
and dword [edi + 0x107c], 0
jmp 0x441336
and dword [edi + 0x1080], 0
and dword [edi + 0x1084], 0
and dword [edi + 0x1088], 0
mov eax, dword [ebp - 0x628]
test eax, eax
je 0x441347
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x638]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00468719
mov esp, ebp
pop ebp
ret 8