Function at 0x4068e0
Capabilities:
Delete file
Read .ini file
Read file on windows

Disassembly:
sub esp, 0xe20
push ebx
push ebp
push esi
push edi
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x631]
mov byte [esp + 0x630], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1b6
push 0x8302
push 0x448b10
mov dword [esp + 0x20], 0
stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll__open]
mov ebp, eax
add esp, 0xc
cmp ebp, 0xffffffff
je 0x4069b7
mov ebx, dword [esp + 0xe34]
mov edi, 0xb9
push edi
push ebx
push ebp
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x40696d
call dword [sym.imp.MSVCRT.dll__errno]
cmp dword [eax], 4
jne 0x40696d
push edi
push ebx
push ebp
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x40694f
test esi, esi
jl 0x4069a2
je 0x40697b
sub edi, esi
add ebx, esi
test edi, edi
jg 0x40693c
test edi, edi
jne 0x4069a2
push 0x1b6
push 0x8000
push 0x448afc
call dword [sym.imp.MSVCRT.dll__open]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x4069c5
push ebp
call dword [sym.imp.MSVCRT.dll__close]
push 0x448b10
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 8
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xe20
ret
mov ebx, dword [sym.imp.MSVCRT.dll__read]
lea eax, [esp + 0x230]
push 0x400
push eax
push esi
call ebx
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
jne 0x406a0a
call dword [sym.imp.MSVCRT.dll__errno]
cmp dword [eax], 4
jne 0x406a0a
lea ecx, [esp + 0x230]
push 0x400
push ecx
push esi
call ebx
mov edi, eax
add esp, 0xc
cmp edi, 0xffffffff
je 0x4069e5
test edi, edi
jl 0x406aaa
je 0x406ad2
lea ebx, [esp + 0x230]
jle 0x406a64
push edi
push ebx
push ebp
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x406a52
call dword [sym.imp.MSVCRT.dll__errno]
cmp dword [eax], 4
jne 0x406a52
push edi
push ebx
push ebp
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x406a34
test esi, esi
jl 0x406a6d
je 0x406a60
sub edi, esi
add ebx, esi
test edi, edi
jg 0x406a21
mov esi, dword [esp + 0x10]
test edi, edi
jne 0x406aaa
jmp 0x4069c5
push esi
push 0x448aec
push 0x448ac4
call dword [sym.imp.MSVCRT.dll_printf]
mov edx, dword [esp + 0x1c]
mov esi, dword [sym.imp.MSVCRT.dll__close]
push edx
call esi
push ebp
call esi
push 0x448b10
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe20
ret
push esi
mov esi, dword [sym.imp.MSVCRT.dll__close]
call esi
push ebp
call esi
push 0x448b10
call dword [sym.imp.MSVCRT.dll_remove]
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe20
ret
push esi
mov esi, dword [sym.imp.MSVCRT.dll__close]
call esi
push ebp
call esi
add esp, 8
push 0x448ab8
push 0
push 0x448ab0
push 0x448aa8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
jne 0x406b43
mov ecx, 0x200
mov eax, 0xaaaaaaaa
lea edi, [esp + 0x630]
mov dword [esp + 0x14], 0x100
rep stosd dword es:[edi], eax
push 0x1b6
push 0x800a
push 0x448b10
call dword [sym.imp.MSVCRT.dll__open]
mov ebx, eax
add esp, 0xc
cmp ebx, 0xffffffff
jne 0x406bb5
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0xe20
ret
lea eax, [esp + 0x2c]
push eax
push 0x448a94
call fcn.00406ca0
lea ecx, [esp + 0x34]
push ecx
push 0x448a80
call fcn.00406f00
lea edx, [esp + 0x28]
push edx
push 0x448b10
call fcn.00407100
lea eax, [esp + 0x44]
lea ecx, [esp + 0x30]
push eax
push 0x14
lea edx, [esp + 0x34]
push ecx
lea eax, [esp + 0x654]
push edx
push eax
call fcn.00422440
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
add ecx, 7
add esp, 0x2c
shr ecx, 3
cmp eax, ecx
je 0x406b17
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xe20
ret
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], 0
test edi, edi
jle 0x406c1f
mov edx, dword [esp + 0x10]
push edi
lea ebp, [esp + edx + 0x634]
push ebp
push ebx
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x406c01
call dword [sym.imp.MSVCRT.dll__errno]
cmp dword [eax], 4
jne 0x406c01
push edi
push ebp
push ebx
call dword [sym.imp.MSVCRT.dll__write]
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
je 0x406be3
test esi, esi
jl 0x406c35
je 0x406c17
mov ecx, dword [esp + 0x10]
sub edi, esi
add ecx, esi
test edi, edi
mov dword [esp + 0x10], ecx
jg 0x406bc5
mov esi, dword [sym.imp.MSVCRT.dll__close]
test edi, edi
push ebx
je 0x406c4d
call esi
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe20
ret
push ebx
call dword [sym.imp.MSVCRT.dll__close]
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe20
ret
call esi
mov eax, dword [esp + 0xe3c]
push eax
push 0x448b10
call fcn.004071c0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x406c85
push 0x448a68
call dword [sym.imp.MSVCRT.dll_printf]
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe20
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe20
ret