Function at 0x40cfc0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042a980
mov eax, dword [0x458190]
mov ecx, dword [0x45681c]
mov dword [esp + 0x3644], eax
push esi
mov esi, dword [0x456824]
mov eax, 0x49f9945f
imul ecx
sar edx, 0xe
push edi
mov edi, dword [0x456838]
mov eax, edx
imul edi, edi, 0xe0dd
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x302debc5
imul esi
sar edx, 0xe
add edi, edx
mov ecx, edx
mov edx, dword [0x456830]
imul edx, edx, 0xa8da
shr ecx, 0x1f
add ecx, edi
add ecx, edx
mov eax, 0x3e12562b
imul esi
mov esi, dword [0x456818]
sar edx, 0xe
imul esi, esi, 0x398f
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456820]
sub ecx, eax
mov eax, 0x18008403
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub esi, eax
mov eax, 0x3e12562b
imul edx
sar edx, 0xe
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x107f4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub esi, eax
mov eax, dword [esp + 0x3654]
add esi, ecx
sub esi, edx
sub esi, 0x1558c
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], esi
push 0x2800
jne 0x40d0c0
lea ecx, [esp + 0xe54]
push ecx
push 0x446e15
push str.ConfigL4
jmp 0x40d0d2
lea edx, [esp + 0xe54]
push edx
push 0x446e15
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, dword [0x456820]
mov eax, dword [0x45682c]
mov ecx, dword [0x45681c]
imul eax, eax, 0x1558c
mov edi, esi
imul edi, edi, 0xdd7b
add edi, eax
mov eax, 0x47298a5
imul ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x456830]
mov edx, ecx
imul edx, edx, 0x8ed2
add edi, edx
mov eax, 0x3e12562b
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov dword [0x45682c], eax
lea eax, [esp + 0xe4c]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d143
sub eax, edi
mov dword [esp + 8], eax
jne 0x40d16a
pop edi
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a141
add esp, 0x3648
ret
mov edi, dword [0x456834]
imul ecx, ecx, 0xdd7b
mov eax, 0x2ff8513b
imul edi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, eax
sub ebx, ecx
mov ecx, dword [0x456818]
mov eax, 0x47298a5
imul ecx, ecx, 0x1558c
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, ecx
sub ebx, eax
mov eax, 0x395bd985
imul esi
sar edx, 0xd
mov ecx, edx
add ebx, edx
lea edx, [esp + 0xe50]
push edx
shr ecx, 0x1f
lea eax, [esp + 0x14]
add ecx, ebx
push 0x190
push eax
mov dword [0x456818], ecx
call fcn.0040ca10
mov ebx, eax
add esp, 0xc
cmp ebx, 4
jl 0x40d86d
mov ecx, ebx
and ecx, reloc.WS2_32.dll_closesocket
jns 0x40d1fa
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x40d86d
push ebp
mov ebp, dword [0x45682c]
mov eax, 0x99b19d5b
imul ebp
mov ecx, dword [0x456828]
add edx, ebp
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
mov esi, dword [0x456830]
imul edx, edx, 0x15410
mov edi, dword [0x456818]
sub edx, eax
mov eax, ecx
imul eax, eax, 0x398f
add eax, esi
mov esi, edi
imul esi, esi, 0xa8da
add eax, edx
lea esi, [esi + eax - 0x1558c]
mov eax, ebx
cdq
mov ebx, 3
and edx, ebx
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], esi
jg 0x40d3f5
mov edx, dword [0x45681c]
imul esi, esi, 0xffffc9ca
imul ebp, ebp, 0x1558c
mov eax, 0x18008403
imul ecx, ecx, 0x8ed2
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
sub esi, ebp
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
sub esi, eax
add esi, ecx
push 0x800
lea ecx, [esp + 0x65c]
push ecx
push 0x446e15
push str.ConfigL1
mov dword [0x456830], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call esi
lea edx, [esp + 0x654]
push edx
call fcn.0042a942
add esp, 4
cmp eax, ebx
mov edi, 0x78
jge 0x40d2fb
mov dword [0x56a348], ebx
jmp 0x40d32c
lea eax, [esp + 0x654]
push eax
call fcn.0042a942
add esp, 4
cmp eax, edi
jle 0x40d317
mov dword [0x56a348], edi
jmp 0x40d32c
lea ecx, [esp + 0x654]
push ecx
call fcn.0042a942
add esp, 4
mov dword [0x56a348], eax
mov edx, dword [0x45682c]
mov ebp, dword [0x456824]
imul edx, edx, 0x1558c
mov ecx, dword [0x45681c]
imul ebp, ebp, 0xffffc9ca
sub ebp, edx
mov eax, 0x18008403
imul ecx
mov ecx, dword [0x456828]
sar edx, 0xc
imul ecx, ecx, 0x8ed2
mov eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr eax, 0x1f
push 0x800
add eax, edx
lea edx, [esp + 0x65c]
push edx
push 0x446e15
sub ebp, eax
push str.ConfigL2
add ebp, ecx
push str.GameType1
mov dword [0x456830], ebp
call esi
lea eax, [esp + 0x654]
push eax
call fcn.0042a942
add esp, 4
cmp eax, ebx
jge 0x40d3b2
mov dword [0x56a34c], ebx
jmp 0x40d3e3
lea ecx, [esp + 0x654]
push ecx
call fcn.0042a942
add esp, 4
cmp eax, edi
jle 0x40d3ce
mov dword [0x56a34c], edi
jmp 0x40d3e3
lea edx, [esp + 0x654]
push edx
call fcn.0042a942
add esp, 4
mov dword [0x56a34c], eax
mov esi, dword [0x456824]
mov edi, dword [0x456818]
mov ebp, dword [0x45682c]
mov ebx, dword [0x456838]
mov ecx, dword [0x45681c]
mov eax, ebx
imul eax, eax, 0xe0dd
mov dword [esp + 0x10], eax
mov eax, 0x99b19d5b
imul ecx
add edx, ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, 0x302debc5
imul ebx
mov eax, dword [esp + 0x10]
sar edx, 0xe
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [0x456830]
imul eax, eax, 0xa8da
add ecx, eax
sub ecx, dword [str._r_____r____]
mov eax, dword [0x55911c]
add ecx, 0xaaa7
test eax, eax
mov dword [0x45681c], ecx
jg 0x40d604
mov eax, 0x246e57b5
imul ecx, ecx, 0xd534
imul ebx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x1558c
mov edi, eax
sub edi, edx
mov eax, 0x302debc5
imul esi
sar edx, 0xe
mov eax, edx
add edi, ecx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x61082f49
imul ebx
sar edx, 0xe
mov ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
lea edx, [esp + 0x65c]
push edx
push 0x446e15
push str.ConfigL3
sub edi, ecx
push str.GameType1
mov dword [0x456828], edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x456828]
mov esi, dword [0x456818]
mov eax, 0x49f9945f
imul esi, esi, 0xd534
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x15410
sub esi, eax
add esi, edx
mov eax, 0x302debc5
imul ecx
mov ecx, dword [0x456834]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3e12562b
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x654]
sub esi, ecx
push edx
mov dword [0x456834], esi
call fcn.0042a942
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d56b
mov dword [0x55911c], ecx
jmp 0x40d5f8
lea eax, [esp + 0x654]
push eax
call fcn.0042a942
add esp, 4
cmp eax, 0x64
jle 0x40d5e3
mov ebp, dword [0x45682c]
mov edi, dword [0x456830]
mov eax, 0x99b19d5b
imul ebp
mov eax, dword [0x456828]
add edx, ebp
imul eax, eax, 0x398f
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x15410
sub edx, ecx
add eax, edi
mov edi, dword [0x456818]
mov ecx, edi
imul ecx, ecx, 0xa8da
add eax, edx
lea edx, [ecx + eax - 0x1558c]
mov dword [0x456824], edx
mov dword [0x55911c], 0x64
jmp 0x40d604
lea eax, [esp + 0x654]
push eax
call fcn.0042a942
add esp, 4
mov dword [0x55911c], eax
mov edi, dword [0x456818]
mov ebp, dword [0x45682c]
mov ecx, dword [0x456820]
imul edi, edi, 0x398f
mov eax, 0x18008403
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3e12562b
imul ebp
mov ebp, dword [0x456834]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
sub edi, ecx
add eax, edx
sub edi, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x107f4
add edi, eax
sub edi, ebp
sub edi, 0x1558c
push 0
mov dword [0x456820], edi
call fcn.0042a947
mov edx, dword [0x56a370]
add esp, 4
sub eax, edx
cmp eax, 0xa8c0
pop ebp
jl 0x40d6df
mov ecx, dword [0x45682c]
mov eax, 0x99b19d5b
imul ecx
mov eax, dword [0x456828]
add edx, ecx
imul eax, eax, 0x398f
sar edx, 0xf
mov edi, dword [0x456830]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x15410
sub edx, ecx
mov ecx, dword [0x456818]
imul ecx, ecx, 0xa8da
add eax, edi
add eax, edx
lea edx, [ecx + eax - 0x1558c]
push 0
mov dword [0x456824], edx
call fcn.0042a947
add esp, 4
xor esi, esi
mov dword [0x56a370], eax
mov dword [0x559120], esi
jmp 0x40d6e5
mov esi, dword [0x559120]
mov ecx, dword [0x456838]
mov eax, 0x246e57b5
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, dword [0x45681c]
imul eax, eax, 0xd534
mov edx, ecx
imul edx, edx, 0x1558c
sub edi, edx
mov edx, dword [0x456824]
add edi, eax
mov eax, 0x302debc5
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x61082f49
imul ecx
mov eax, dword [0x55911c]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
cmp esi, eax
mov dword [0x456828], edi
jge 0x40d852
cmp esi, dword [0x559118]
jge 0x40d77f
push 0
call fcn.0042a947
sub eax, dword [0x559124]
mov edx, dword [0x56a348]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x40d7ba
mov esi, dword [0x559120]
cmp esi, dword [0x55911c]
jge 0x40d852
cmp esi, dword [0x559118]
jl 0x40d852
push 0
call fcn.0042a947
mov ecx, dword [0x56a34c]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x40d852
mov ecx, dword [0x456820]
mov edx, dword [0x45682c]
imul edx, edx, 0x1558c
mov esi, ecx
imul esi, esi, 0xdd7b
add esi, edx
mov edx, dword [0x45681c]
mov eax, 0x47298a5
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x8ed2
sub esi, eax
add esi, edx
mov eax, 0x3e12562b
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
mov dword [0x45682c], eax
mov eax, dword [0x559120]
cdq
idiv dword [0x559118]
shl edx, 4
mov eax, dword [esp + edx + 0x10]
mov edx, 0x559128
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d830
pop ebx
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a141
add esp, 0x3648
ret
pop ebx
pop edi
mov eax, 9
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a141
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3650]
pop ebx
pop edi
mov eax, 0xfffffffe
pop esi
call fcn.0042a141
add esp, 0x3648
ret