Function at 0x404760
Capabilities:
Get file attributes
Read .ini file
Set file attributes

Disassembly:
mov eax, 0x1310
call fcn.0042a4e0
push ebx
push ebp
push esi
push edi
mov ecx, 0x3ff
xor eax, eax
lea edi, [esp + 0x321]
mov byte [esp + 0x320], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x119]
mov byte [esp + 0x118], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x21d]
mov byte [esp + 0x21c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x21c]
push 0x104
push eax
call fcn.00402c90
add esp, 8
mov ecx, 0x104
lea eax, [esp + 0x21c]
cmp byte [eax], 0
je 0x404800
inc eax
dec ecx
jne 0x4047f5
jmp 0x404847
test ecx, ecx
je 0x404847
lea edx, [esp + 0x10]
test edx, edx
je 0x404815
mov eax, 0x104
sub eax, ecx
jmp 0x404819
mov eax, dword [esp + 0x10]
mov edx, 0x104
sub edx, eax
lea eax, [esp + eax + 0x21c]
je 0x404847
mov esi, 0x4411b4
sub esi, eax
mov cl, byte [esi + eax]
test cl, cl
je 0x40483f
mov byte [eax], cl
inc eax
dec edx
jne 0x404830
jmp 0x404843
test edx, edx
jne 0x404844
dec eax
mov byte [eax], 0
lea eax, [esp + 0x14]
push eax
call fcn.00403a80
add esp, 4
test eax, eax
jne 0x404863
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1310
ret
lea ecx, [esp + 0x14]
push 0x441960
push ecx
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x404887
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1310
ret
push ebx
lea edx, [esp + 0x11c]
push 0x104
push edx
xor ebp, ebp
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
je 0x404943
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x118]
push 0x44197c
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x4048ca
mov ebp, 1
jmp 0x404924
mov ecx, 0x1000
lea eax, [esp + 0x320]
cmp byte [eax], 0
je 0x4048e1
inc eax
dec ecx
jne 0x4048d6
jmp 0x404924
test ecx, ecx
je 0x404924
lea edx, [esp + 0x10]
test edx, edx
je 0x4048f4
mov edi, 0x1000
sub edi, ecx
mov edx, 0x1000
lea eax, [esp + edi + 0x320]
sub edx, edi
je 0x404924
lea esi, [esp + 0x118]
sub esi, eax
mov cl, byte [esi + eax]
test cl, cl
je 0x40491c
mov byte [eax], cl
inc eax
dec edx
jne 0x40490d
jmp 0x404920
test edx, edx
jne 0x404921
dec eax
mov byte [eax], 0
push ebx
lea eax, [esp + 0x11c]
push 0x104
push eax
call dword [sym.imp.MSVCRT.dll_fgets]
add esp, 0xc
test eax, eax
jne 0x4048ac
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll_fclose]
call ebx
add esp, 4
test ebp, ebp
je 0x4049cc
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebp, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea edx, [esp + 0x14]
push 0x80
push edx
mov edi, eax
call ebp
test eax, eax
jne 0x404981
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1310
ret
lea eax, [esp + 0x14]
push 0x441aa4
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x4049af
lea ecx, [esp + 0x14]
push edi
push ecx
call ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1310
ret
lea edx, [esp + 0x320]
push esi
push edx
call dword [sym.imp.MSVCRT.dll_fputs]
push esi
call ebx
add esp, 0xc
lea eax, [esp + 0x14]
push edi
push eax
call ebp
lea ecx, [esp + 0x21c]
lea edx, [esp + 0x118]
push ecx
push 0x104
push edx
push 0x441aa0
push 0x441a7c
push 0x441a64
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x118]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
add esp, 4
cmp eax, 0x1e
jge 0x404a29
lea ecx, [esp + 0x14]
lea edx, [esp + 0x118]
push ecx
push edx
push 0x441a7c
push 0x441a70
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1310
ret