Function at 0x40dba0
Capabilities:
Delete file
Read file on windows
Set current directory
Write file on windows

Disassembly:
sub esp, 8
push ebp
push esi
push 0x4afd80
xor ebp, ebp
mov dword [0x4aa234], 1
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 0xb
push eax
push str.purebasic.c
lea edx, [esp + 0x10]
mov dword [esp + 0x10], 0x208
mov ecx, 0x488df0
call fcn.004317d0
add esp, 8
test eax, eax
jne 0x40dc02
mov eax, dword [esp + 8]
shr eax, 1
xor ecx, ecx
mov word [eax*2 + 0x488df0], cx
mov eax, 0x488df0
jmp 0x40dc07
mov eax, 0x479868
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x40de07
test esi, esi
je 0x40de07
push ebx
push edi
push str.ReAssembling_source_code..._n
call fcn.00412ad0
add esp, 4
push 0x800
push 0
push dword [0x49184c]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0
mov edi, eax
lea eax, [esp + 0x18]
push eax
push 0x800
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [edi]
cmp al, 0x3b
je 0x40dc80
cmp al, 0x2f
jne 0x40ddd7
mov ebx, edi
cmp al, 0xa
je 0x40dc92
cmp al, 0xd
je 0x40dc92
mov al, byte [edi + 1]
inc edi
cmp al, 0xa
jne 0x40dc86
mov byte [edi], 0
inc edi
mov al, byte [edi]
cmp al, 0xa
je 0x40dca0
cmp al, 0xd
jne 0x40dca1
inc edi
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dca6
sub ecx, edx
cmp ecx, 3
jbe 0x40dc72
add ebx, 3
mov ecx, str.:DLL
mov eax, ebx
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40dce0
test dl, dl
je 0x40dcdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40dce0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40dcc0
xor eax, eax
jmp 0x40dce5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40dcf8
mov dword [0x4b021c], 1
jmp 0x40dc72
mov ecx, str.:System
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40dd20
test dl, dl
je 0x40dd1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40dd20
add eax, 2
add ecx, 2
test dl, dl
jne 0x40dd00
xor eax, eax
jmp 0x40dd25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40dd31
lea ebp, [eax + 1]
jmp 0x40dc72
mov ecx, str.:Import
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40dd58
test dl, dl
je 0x40dd54
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40dd58
add eax, 2
add ecx, 2
test dl, dl
jne 0x40dd38
xor eax, eax
jmp 0x40dd5d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40dd69
lea ebp, [eax + 2]
jmp 0x40dc72
cmp ebp, 1
jne 0x40ddbc
mov eax, dword [0x49216c]
mov dword [eax], 0
lea esp, [esp]
mov eax, dword [0x49216c]
mov esi, dword [eax]
test esi, esi
je 0x40dd99
mov esi, dword [esi]
test esi, esi
je 0x40dd95
mov dword [eax], esi
jmp 0x40dda6
xor esi, esi
jmp 0x40dd9e
mov esi, dword [eax + 4]
mov dword [eax], esi
test esi, esi
je 0x40dc72
push dword [esi + 8]
push ebx
call fcn.0044e716
add esp, 8
test eax, eax
jne 0x40dd80
mov byte [esi + 0xc], 1
jmp 0x40dd80
mov ecx, ebx
cmp ebp, 2
jne 0x40ddcd
call fcn.00414aa0
jmp 0x40dc72
call fcn.00427e60
jmp 0x40dc72
call fcn.00447880
call fcn.0040c630
call fcn.0040eb50
push 0x4afd80
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, 0x4b1580
call fcn.00447020
pop edi
pop ebx
pop esi
pop ebp
add esp, 8
jmp fcn.00412e30
push str.The_file_purebasic.c_isnt_found_or_cant_be_opened___n
call fcn.0040abc0
add esp, 4
mov ecx, 1
pop esi
pop ebp
add esp, 8
jmp fcn.00412bb0