Function at 0x401370
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x2cc
push ebx
push esi
push edi
xor ebx, ebx
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0xd1]
mov byte [esp + 0xd0], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x40a114
lea eax, [esp + 0xd4]
push 0x104
push eax
push 0x40cf18
push 0x40a10c
push 0x40a104
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edi, [esp + 0xd0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x4015fa
call fcn.00401b60
push ebx
push 1
push 2
mov ecx, 0x40ce10
call fcn.00401ba0
push 0x27d8
push str.42.51.3.245
mov ecx, 0x40ce10
call fcn.00401bd0
test al, al
je 0x40149f
mov edi, 0x40ccf8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0xc], 0x32323232
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x68], 0x5a5a5a5a
shr ecx, 2
mov dword [esp + 0x10], 0x2718
mov byte [esp + 0x6c], bl
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x18
lea edi, [esp + 0x71]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, str.chengdumianyangjiangyou
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x70]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.chengdumianyangjiangyou
lea ecx, [esp + 0x1c]
push 0x58
push ecx
push edx
call fcn.00401610
add esp, 0x18
mov ecx, 0x16
lea esi, [esp + 0x6c]
lea edi, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
push ebx
lea eax, [esp + 0x10]
push 0x60
push eax
mov ecx, 0x40ce10
call fcn.00401c20
mov ecx, 0x41
xor eax, eax
mov edi, 0x40ce14
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
lea edi, [esp + 0xd0]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0xc], 0x32323232
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x68], 0x5a5a5a5a
shr ecx, 2
mov dword [esp + 0x10], 0x2711
lea edx, [esp + 0x3a]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
mov byte [esp + 0x6c], bl
rep movsb byte es:[edi], byte [esi]
mov edi, 0x40cd0c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x70]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x18
lea edi, [esp + 0x71]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov edi, 0x40ccf8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x40ccf8
lea ecx, [esp + 0x1c]
push 0x58
push ecx
push edx
call fcn.00401610
add esp, 0x18
mov ecx, 0x16
lea esi, [esp + 0x6c]
lea edi, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
push ebx
lea eax, [esp + 0x10]
push 0x60
push eax
mov ecx, 0x40ce10
call fcn.00401c20
xor esi, esi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x1d5]
mov byte [esp + 0x1d4], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x68
push ebx
sub ecx, esi
lea edx, [esp + esi + 0x1d8]
push ecx
push edx
mov ecx, 0x40ce10
call fcn.00401c70
cmp eax, 0xffffffff
je 0x4015fa
cmp eax, ebx
je 0x4015fa
add esi, eax
cmp esi, 0x68
jl 0x40158b
mov edi, 0x40ccf8
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x1d8]
push ecx
push 0x40ccf8
push 0x58
push eax
push 0x40ce14
call fcn.00401610
mov eax, dword [0x40ce18]
add esp, 0x18
cmp eax, ebx
je 0x4015fa
push str.archeage.exe
call fcn.004010b0
add esp, 4
pop edi
pop esi
pop ebx
add esp, 0x2cc
ret