Function at 0x10001108
Capabilities:
Check if file exists
Delete file
Get common file path
Get file attributes
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x620
and byte [ebp - 0x10c], 0
push ebx
push esi
push edi
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x10b]
rep stosd dword es:[edi], eax
and byte [ebp - 0x620], 0
push 0x40
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x61f]
and byte [ebp - 0x418], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x417]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x418]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x10c]
push str._suserdatacurrentserver.ini
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10001373
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x10c]
push eax
push 0x20
mov ebx, 0x10009a04
push 0x10090a48
push ebx
mov edi, str.Server
push str.CurrentGroup
push edi
call esi
lea eax, [ebp - 0x10c]
push eax
push 0x20
push 0x10090a88
push ebx
push str.CurrentServer
push edi
call esi
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x620]
push 0x104
push eax
push ebx
push str.CurrentServerAddress
push edi
call esi
mov ebx, 0x10090a48
push 0x10090a88
push ebx
call sub.MSVCRT.dll_strcpy
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x10c]
push str._suserdata_server_serverlist.txt
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10001373
and byte [ebp - 0x314], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x313]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x314]
push 0x10009028
push eax
call esi
lea eax, [ebp - 0x314]
push eax
lea eax, [ebp - 0x10c]
push eax
call section..text
and byte [ebp - 0x51c], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x51b]
and byte [ebp - 0x210], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x20f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x314]
push 0x10009024
push eax
mov dword [ebp - 4], 1
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, dword [sym.imp.MSVCRT.dll_fgets]
mov dword [ebp - 8], eax
push eax
mov edi, 0x104
lea eax, [ebp - 0x210]
push edi
push eax
call esi
add esp, 0x28
test eax, eax
je 0x1000135c
cmp dword [ebp - 4], 0
lea eax, [ebp - 0x210]
push eax
je 0x10001302
lea eax, [ebp - 0x51c]
push eax
call sub.MSVCRT.dll_strcpy
and dword [ebp - 4], 0
pop ecx
pop ecx
jmp 0x1000132e
call sub.MSVCRT.dll_strlen
cmp eax, 2
pop ecx
ja 0x10001316
mov dword [ebp - 4], 1
jmp 0x1000132e
lea eax, [ebp - 0x210]
push 0x10090a88
push eax
call dword [sym.imp.MSVCRT.dll_strstr]
pop ecx
test eax, eax
pop ecx
jne 0x10001340
push dword [ebp - 8]
lea eax, [ebp - 0x210]
push edi
push eax
call esi
add esp, 0xc
jmp 0x100012dd
lea eax, [ebp - 0x51c]
push eax
push ebx
call sub.MSVCRT.dll_strcpy
push 0x10009020
push ebx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 0x10
push dword [ebp - 8]
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
lea eax, [ebp - 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret