Function at 0x10001c50
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x410
mov ecx, 0x41
xor eax, eax
push ebx
push esi
push edi
mov edi, 0x1001eb98
push 0x104
push 0x1001eb98
rep stosd dword es:[edi], eax
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x1001eb98
call sub.MSVCRT.dll__strlwr
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x10]
rep stosd dword es:[edi], eax
mov ecx, dword [0x1001ea34]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.100017c0
mov ecx, 0x41
xor eax, eax
mov edi, 0x1001ea94
add esp, 0xc
rep stosd dword es:[edi], eax
or ecx, 0xffffffff
lea edi, [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
shr ecx, 2
mov edi, 0x1001ea94
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x41
mov edi, 0x1001ec9c
rep stosd dword es:[edi], eax
lea edi, [esp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x1001ec9c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10015050
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x1001ec9c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.AionMgr.ini
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
or ecx, 0xffffffff
mov edi, 0x1001ec9c
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x41
mov edi, 0x1001eda0
rep stosd dword es:[edi], eax
or ecx, 0xffffffff
lea edi, [esp + 0xc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
or ecx, 0xffffffff
mov edi, 0x1001eda0
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x10015050
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x1001eda0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.AionMgr.dat
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x1001eda0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x110]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x41
lea edi, [esp + 0x110]
rep stosd dword es:[edi], eax
lea edi, [esp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x110]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10015050
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x110]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.AionMgr.log
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x110]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x10017810
call fcn.10001700
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x214]
lea edx, [esp + 0x214]
rep stosd dword es:[edi], eax
lea edi, [esp + 0xc]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x214]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10015050
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea edx, [esp + 0x214]
and ecx, 3
push 0x1001ec9c
rep movsb byte es:[edi], byte [esi]
mov edi, str.AionMgr.txt
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
push str.VIEWER
and ecx, 3
push 0x100155c4
rep movsb byte es:[edi], byte [esi]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
call esi
push eax
mov ecx, 0x10017810
call fcn.10001750
push 0x1001ec9c
push 0
push str.FILE
push 0x100155c4
call esi
push eax
mov ecx, 0x10017810
call fcn.10001760
push 0x1001ec9c
push 0
push str.SERVER
push str.HOOK
call esi
push 0x1001ec9c
push 0x7664
push str.PORT1
push str.HOOK
mov dword [0x1001ea40], eax
call esi
push 0x1001ec9c
push 0x7665
push str.PORT2
push str.HOOK
mov dword [0x1001ea84], eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x1001ec9c
push 0x104
mov dword [0x1001ea88], eax
push 0x100150bc
mov ecx, 0x41
xor eax, eax
mov edi, 0x100150bc
push str.113.10.171.19
push str.SERVER_1
rep stosd dword es:[edi], eax
push str.HOOK
call ebx
push 0x1001ec9c
push 0x104
mov ecx, 0x41
xor eax, eax
mov edi, 0x100151c0
push 0x100151c0
push str.113.10.161.57
push str.SERVER_2
rep stosd dword es:[edi], eax
push str.HOOK
call ebx
push 0x1001ec9c
push 0x104
push 0x100152c4
mov ecx, 0x41
xor eax, eax
mov edi, 0x100152c4
push str.124.50.17.163
push str.SERVER_3
rep stosd dword es:[edi], eax
push str.HOOK
call ebx
push 0x1001ec9c
push 0x9d74
push str.REDIRPORT1
push str.HOOK
call esi
push 0x1001ec9c
push 0x9d75
push str.REDIRPORT1
push str.HOOK
mov dword [0x1001ea8c], eax
call esi
push 0x1001ec9c
push 0xc484
push str.LISTENPORT
push str.HOOK
mov dword [0x1001ea90], eax
call esi
push 0x1001ec9c
push 0x104
mov dword [0x1001efb8], eax
push 0x100153c8
mov ecx, 0x41
xor eax, eax
mov edi, 0x100153c8
push str.125.103.100.203
push str.REDIRSERVER
push str.HOOK
rep stosd dword es:[edi], eax
call ebx
push 0x1001ec9c
push 0
push str.DEBUG
push str.HOOK
call esi
push 0x1001ec9c
push 1
push str.METHOD
push str.HOOK
mov dword [0x1001efa8], eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [0x100154cc], eax
call esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call esi
mov edx, eax
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x318]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x31c]
push str.DFMgr__d_Event_109C1E4A_B57D_4CD9_8092_C846E87C53F6
push eax
call fcn.10007ccf
add esp, 0xc
lea ecx, [esp + 0x318]
push ecx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
pop edi
pop esi
test eax, eax
mov dword [0x1001ea38], eax
pop ebx
je 0x1000215e
call fcn.100021b0
mov eax, 1
add esp, 0x410
ret