Function at 0x4052a0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe0
mov eax, dword [0x454350]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xe0], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004345d0
add esp, 4
cmp eax, 0x14
jbe 0x4052e7
push 0x14
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x2098c
push edx
call fcn.00435460
add esp, 0xc
jmp 0x405300
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x2098c
push ecx
call fcn.00434060
add esp, 8
mov byte [ebp - 0xd0], 0
push 0xc7
push 0
lea edx, [ebp - 0xcf]
push edx
call fcn.00433530
add esp, 0xc
push str.._Setting.ini
lea eax, [ebp - 0xd0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
lea ecx, [ebp - 0xd0]
push ecx
push 0xdaa2
push str.Port
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0xefc4], eax
mov edx, dword [ebp - 0xe0]
cmp dword [edx + 0xefc4], 0xffffffff
je 0x4057fd
mov dword [ebp - 0xd4], 0x191
lea eax, [ebp - 0xd0]
push eax
push 0x1e
mov ecx, dword [ebp - 0xe0]
add ecx, 0xf004
push ecx
push str.MuOnlineJoinDB
push str.ServerODBC
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd0]
push eax
push 0x14
mov ecx, dword [ebp - 0xe0]
add ecx, 0xeff0
push ecx
push str.Me_MuOnline
push str.Name
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd0]
push eax
push 0x14
mov ecx, dword [ebp - 0xe0]
add ecx, 0xefc8
push ecx
push 0x4466cc
push str.Login
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd0]
push eax
push 0x14
mov ecx, dword [ebp - 0xe0]
add ecx, 0xefdc
push ecx
push str.654321
push str.Password
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd0]
push eax
push 0x1e
mov ecx, dword [ebp - 0xe0]
add ecx, 0xf022
push ecx
push str.127.0.0.1
push str.CSIP
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0xd0]
push eax
push 0xd905
push str.CSUDPPort
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov dword [edx + 0xf040], eax
lea eax, [ebp - 0xd0]
push eax
push 0
push str.UseGoldChannelSystem
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xf044], al
lea eax, [ebp - 0xd0]
push eax
push 1
push str.UseMD5
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xf045], al
lea eax, [ebp - 0xd0]
push eax
push 0
push str.UseSpecialDisconnect
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xf046], al
lea eax, [ebp - 0xd0]
push eax
push 0
push str.DisconnectAllIn
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xf047], al
lea eax, [ebp - 0xd0]
push eax
push 0
push str.UseSpecialMove
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xe0]
mov byte [edx + 0xf048], al
lea eax, [ebp - 0xd0]
push eax
push 0
push str.UseCaseSensitive
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [0x459278], al
push str.Initializing_database_connection
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [eax]
call edx
add esp, 8
mov ecx, dword [ebp - 0xe0]
call fcn.004046a0
mov eax, dword [ebp - 0xe0]
add eax, 0xf004
push eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0xeff0
push ecx
push str.Connected_to__s__s_database
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [eax]
call edx
add esp, 0x10
push str.Initialized_database_connection
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xe0]
push edx
mov eax, dword [ecx]
call eax
add esp, 8
push str.Initializing_IOCP_system_connection
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [edx]
call ecx
add esp, 8
mov edx, dword [ebp - 0xd4]
push edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0xefc4]
push ecx
mov ecx, dword [ebp - 0xe0]
call fcn.004065b0
push str.Initialized_IOCP_system_connection
mov edx, dword [ebp - 0xe0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xe0]
push ecx
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xd8], 0
jmp 0x405625
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd8]
cmp ecx, dword [ebp - 0xd4]
jge 0x4056c3
push 0x32
push 0
mov edx, dword [ebp - 0xd8]
imul edx, edx, 0x48
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + edx + 0xf04c]
push ecx
call fcn.00433530
add esp, 0xc
mov edx, dword [ebp - 0xd8]
imul edx, edx, 0x48
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov word [ecx + edx + 0xf084], ax
mov edx, dword [ebp - 0xd8]
imul edx, edx, 0x48
mov eax, dword [ebp - 0xe0]
mov dword [eax + edx + 0xf080], 0xffffffff
mov ecx, dword [ebp - 0xd8]
imul ecx, ecx, 0x48
mov edx, dword [ebp - 0xe0]
mov dword [edx + ecx + 0xf08c], 0
mov eax, dword [ebp - 0xd8]
imul eax, eax, 0x48
mov ecx, dword [ebp - 0xe0]
mov byte [ecx + eax + 0xf090], 0
jmp 0x405616
mov dword [ebp - 0xdc], 0
jmp 0x4056de
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
cmp dword [ebp - 0xdc], 0xafc8
jge 0x405774
push 0xb
push 0
mov eax, dword [ebp - 0xdc]
imul eax, eax, 0x3c
add eax, 0x4c6ec0
push eax
call fcn.00433530
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
imul ecx, ecx, 0x3c
mov dword [ecx + 0x4c6ed0], 0xffffffff
mov edx, dword [ebp - 0xdc]
imul edx, edx, 0x3c
mov byte [edx + 0x4c6ece], 0
mov eax, dword [ebp - 0xdc]
imul eax, eax, 0x3c
mov ecx, 0xffff
mov word [eax + 0x4c6ecc], cx
mov edx, dword [ebp - 0xdc]
imul edx, edx, 0x3c
mov dword [edx + 0x4c6ed4], 0
push 0x24
push 0
mov eax, dword [ebp - 0xdc]
imul eax, eax, 0x3c
add eax, 0x4c6ed8
push eax
call fcn.00433530
add esp, 0xc
jmp 0x4056cf
mov ecx, 0x75a1a8
call fcn.00408380
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xf040]
push edx
mov eax, dword [ebp - 0xe0]
add eax, 0xf022
push eax
mov ecx, 0x75a1a8
call fcn.004083e0
mov ecx, dword [ebp - 0xe0]
movzx edx, byte [ecx + 0xf047]
cmp edx, 1
jne 0x4057ee
push str.UPDATE_MEMB_STAT_SET_ConnectStat__0__DisConnectTM__getdate___WHERE_ConnectStat__1
mov eax, dword [ebp - 0xe0]
add eax, 0x7d80
push eax
call fcn.00408880
add esp, 8
mov ecx, dword [ebp - 0xe0]
add ecx, 0x7d80
call fcn.00408ad0
mov ecx, dword [ebp - 0xe0]
add ecx, 0x7d80
call fcn.00408a80
mov ecx, dword [ebp - 0xe0]
push ecx
call fcn.0042aed0
add esp, 4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00434051
mov esp, ebp
pop ebp
ret 4