Function at 0x4346ca
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x5661fc
call fcn.0051f140
sub esp, 0x234
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x14]
and byte [esi + 0x3fe], 0
call sub.MFC42.DLL_CString::CString
and dword [ebp - 4], 0
lea edi, [esi + 0x2fe]
push edi
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::operator_1
push str.file:____
push 0x5c6d90
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Replace
push 0x5c6d8c
push 0x5c6d88
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Replace
push 0x100
push dword [ebp - 0x14]
push edi
call fcn.00519068
push 0x104
lea eax, [ebp - 0x240]
push 0
push eax
call sub.MSVCRT.dll_memset
mov ebx, dword [sym.imp.MSVCRT.dll__snprintf]
add esp, 0x18
lea eax, [ebp - 0x240]
push edi
push str._s_data_main_start.dat
push 0x103
push eax
call ebx
add esp, 0x10
mov ecx, esi
push 0
push 0x50000000
push 0
call sub.MFC42.DLL_CWnd::ModifyStyle
lea eax, [ebp - 0x240]
lea ecx, [esi + 0x60]
push eax
call fcn.0049da7c
push edi
push str.PATH
mov ecx, esi
call fcn.00435152
lea ecx, [esi + 0x418]
call fcn.0049d859
push 0x10
lea eax, [ebp - 0x2c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edi, 0x5c5530
push dword [esi + 0x1f4]
lea eax, [ebp - 0x2c]
push edi
push 0xf
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
push str.CURWORLD
call fcn.00435152
push 0x10
lea eax, [ebp - 0x2c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
push dword [esi + 0x1f8]
push edi
lea eax, [ebp - 0x2c]
push 0xf
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
push str.CURSERVER
call fcn.00435152
and byte [ebp - 0xfc], 0
push 0x20
pop ecx
xor eax, eax
and byte [ebp - 0x13c], al
lea edi, [ebp - 0xfb]
rep stosd dword es:[edi], eax
push 0xf
lea edi, [ebp - 0x13b]
pop ecx
and byte [ebp - 0x78], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0xf
xor eax, eax
pop ecx
lea edi, [ebp - 0x77]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp byte [esi + 0x1fc], 0
stosb byte es:[edi], al
lea eax, [esi + 0x1fc]
mov edi, 0x81
jne 0x4348a8
push edi
lea eax, [ebp - 0xfc]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0xfc]
push 0x57fdf8
push edi
push eax
push 0x5d8050
push str.AccountRecord
push str.Account
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x4348a2
lea eax, [ebp - 0xfc]
push edi
push eax
lea eax, [esi + 0x1fc]
push eax
call fcn.00519068
add esp, 0xc
lea eax, [esi + 0x1fc]
push eax
push str.LOGINUSER
mov ecx, esi
call fcn.00435152
push 0x57fdf8
lea eax, [ebp - 0x2c]
push 0xf
push eax
push 0x5c552c
push str.AccountNum
push str.AccountList
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov edx, dword [esi + 0xc4]
pop ecx
lea ecx, [esi + 0xc4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 4]
push eax
push edx
call fcn.004058cc
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x434903
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x1c]
push eax
jge 0x434a21
push str.Account_d
lea eax, [ebp - 0x13c]
push 0x3f
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0xfc]
push 0x57fdf8
push edi
push eax
lea eax, [ebp - 0x13c]
push 0x5d8050
push eax
push str.AccountList
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push dword [ebp - 0x10]
lea eax, [ebp - 0x78]
push str.ACCOUNT_d
push 0x3f
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0xfc]
mov ecx, esi
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00435152
lea eax, [ebp - 0x15]
lea ecx, [ebp - 0x38]
push eax
lea eax, [ebp - 0xfc]
push eax
mov byte [ebp - 4], 1
call fcn.004027c7
lea eax, [ebp - 0x38]
lea ecx, [esi + 0xc4]
push eax
mov byte [ebp - 4], 2
call fcn.0040ce99
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.00402751
mov eax, dword [ebp - 0x1c]
and byte [ebp - 4], 0
dec eax
cmp dword [ebp - 0x10], eax
jne 0x434a41
cmp byte [esi + 0x1fc], 0
lea eax, [esi + 0x1fc]
jne 0x434a19
push 0x57fdf8
push edi
push eax
push 0x5d8050
push str.AccountRecord
push str.Account
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp dword [esi + 0x1f4], 0xffffffff
je 0x4349fc
cmp dword [esi + 0x1f8], 0xffffffff
je 0x4349fc
cmp byte [esi + 0x1fc], 0
lea eax, [esi + 0x1fc]
jne 0x434a19
lea eax, [ebp - 0xfc]
push edi
push eax
lea eax, [esi + 0x1fc]
push eax
call fcn.00519068
add esp, 0xc
lea eax, [ebp - 0xfc]
push eax
push str.LOGINUSER
jmp 0x434a3a
push str.ACCOUNT_d
lea eax, [ebp - 0x78]
push 0x3f
push eax
call ebx
add esp, 0x10
lea eax, [ebp - 0x78]
push 0x5d8050
push eax
mov ecx, esi
call fcn.00435152
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xa
jl 0x434900
cmp byte [esi + 0xb0], 0
lea edi, [esi + 0xb0]
je 0x434a71
push 0x5c57d0
push str.RETURNLOGIN
mov ecx, esi
call fcn.00435152
and byte [edi], 0
mov ecx, esi
call fcn.00435511
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0051ee92
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret