Function at 0x40c540
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.004297f0
mov eax, dword [0x457000]
mov dword [esp + 0x3644], eax
mov ecx, dword [0x4556a8]
push ebx
push ebp
push esi
mov esi, dword [0x45569c]
mov eax, 0x5397829d
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
shl edx, 4
add edx, ecx
mov ebx, edx
sub ebx, eax
push edi
mov edi, dword [0x455690]
mov eax, 0x2aaaaaab
imul edi
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
sub ebx, eax
mov eax, 0x66666667
imul edx
sar edx, 2
add ebx, edx
mov eax, edx
mov edx, dword [0x45568c]
shr eax, 0x1f
imul edx, edx, 0x34
add eax, ebx
add eax, edx
mov dword [str._r_____r____], eax
mov eax, dword [0x455688]
lea eax, [eax + eax*8]
lea ecx, [ecx + ecx*2]
shl ecx, 4
lea ecx, [ecx + eax*4]
mov eax, 0x2aaaaaab
imul esi
sar edx, 3
mov esi, dword [0x4556a0]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0x94f2095
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esp + 0x365c]
sub ecx, esi
sub ecx, 0x39
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x455690], ecx
push 0x2800
jne 0x40c63a
lea ecx, [esp + 0xe5c]
push ecx
push 0x445e1d
push str.ConfigL4
jmp 0x40c64c
lea edx, [esp + 0xe5c]
push edx
push 0x445e1d
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x455694]
mov esi, ecx
mov eax, 0x2aaaaaab
imul esi, esi, 0x39
imul ecx
sar edx, 3
add esi, edx
mov ecx, edx
mov edx, dword [0x45568c]
mov eax, edx
imul eax, eax, 0x61
shr ecx, 0x1f
add ecx, esi
mov esi, dword [0x455690]
add ecx, eax
mov eax, esi
imul eax, eax, 0x31
add ecx, eax
mov eax, 0x38e38e39
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esp + 0xe54]
mov dword [0x45569c], ecx
lea edi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c6b0
sub eax, edi
mov dword [esp + 0x10], eax
jne 0x40c6d9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00428ee1
add esp, 0x3648
ret
mov edx, dword [0x4556a4]
imul esi, esi, 0x39
mov edi, dword [0x4556a0]
mov eax, 0x38e38e39
imul edi, edi, 0xffffffcf
imul edx
sar edx, 3
mov eax, edx
mov ebx, dword [0x455688]
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x151d07eb
imul ecx
mov eax, dword [str._r_____r____]
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
lea edx, [esp + 0xe54]
sub ecx, esi
push edx
add ecx, eax
lea eax, [esp + 0x18]
add ebx, ecx
push 0x190
push eax
mov dword [0x455688], ebx
call fcn.0040c010
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x40cd31
mov ecx, edi
and ecx, reloc.WS2_32.dll_closesocket
jns 0x40c75c
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x40cd31
mov ecx, dword [0x455698]
lea edx, [ecx + ecx*8]
shl edx, 2
mov ebx, edx
mov eax, 0x30c30c31
imul dword [0x45569c]
mov esi, dword [str._r_____r____]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45568c]
imul edx, edx, 0x34
sub ebx, eax
add edx, dword [0x4556a4]
add edx, ebx
lea eax, [esi + esi*4]
lea edx, [edx + eax*2 - 0x39]
mov eax, edi
mov dword [0x455694], edx
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x5582a0], eax
mov eax, dword [0x5694d0]
test eax, eax
jg 0x40c90d
mov eax, 0x94f2095
imul ecx, ecx, 0x17
imul esi, esi, 0x37
imul dword [0x45568c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, esi
push 0x800
mov dword [0x4556a0], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445e1d
push str.ConfigL1
push str.GameType1
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.004297a5
add esp, 4
cmp eax, edi
mov esi, 0x78
jge 0x40c834
mov dword [0x5694d0], edi
jmp 0x40c865
lea eax, [esp + 0x654]
push eax
call fcn.004297a5
add esp, 4
cmp eax, esi
jle 0x40c850
mov dword [0x5694d0], esi
jmp 0x40c865
lea ecx, [esp + 0x654]
push ecx
call fcn.004297a5
add esp, 4
mov dword [0x5694d0], eax
mov ecx, dword [0x45568c]
mov ebx, dword [0x455698]
mov eax, 0x94f2095
imul ebx, ebx, 0x17
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 1
imul ecx, ecx, 0x37
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 0x445e1d
sub ebx, eax
push str.ConfigL2
add ebx, ecx
push str.GameType1
mov dword [0x4556a0], ebx
call ebp
lea eax, [esp + 0x654]
push eax
call fcn.004297a5
add esp, 4
cmp eax, edi
jge 0x40c8d6
mov dword [0x5694d4], edi
jmp 0x40c907
lea ecx, [esp + 0x654]
push ecx
call fcn.004297a5
add esp, 4
cmp eax, esi
jle 0x40c8f2
mov dword [0x5694d4], esi
jmp 0x40c907
lea edx, [esp + 0x654]
push edx
call fcn.004297a5
add esp, 4
mov dword [0x5694d4], eax
mov ecx, dword [0x455698]
mov esi, dword [0x4556a0]
mov edi, dword [0x4556a8]
mov ebx, esi
imul ebx, ebx, 0x34
mov eax, edi
shl eax, 4
add eax, edi
sub ebx, eax
mov eax, 0x30c30c31
imul dword [0x45568c]
sar edx, 3
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x66666667
imul dword [0x455690]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, dword [0x455694]
sub eax, ebx
add eax, 0x37
mov dword [0x45568c], eax
mov eax, dword [0x5582a4]
test eax, eax
jg 0x40caed
mov eax, 0x78787879
imul esi, esi, 0x2a
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, edi
imul edx, edx, 0x39
add ecx, esi
sub ecx, edx
mov eax, 0x4ec4ec4f
imul edi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
sub ecx, eax
push 0x800
mov dword [0x455698], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445e1d
push str.ConfigL3
push str.GameType1
call ebp
mov ecx, dword [0x4556a4]
mov esi, dword [0x455688]
mov eax, 0x2aaaaaab
imul esi, esi, 0x2a
imul ecx
mov ecx, dword [0x45569c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x5397829d
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*2]
mov ecx, dword [0x45568c]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x654]
sub esi, eax
push ecx
mov dword [0x4556a4], esi
call fcn.004297a5
mov ecx, dword [0x5582a0]
add esp, 4
cmp eax, ecx
jge 0x40ca62
mov dword [0x5582a4], ecx
jmp 0x40cae1
lea edx, [esp + 0x654]
push edx
call fcn.004297a5
add esp, 4
cmp eax, 0x64
jle 0x40cacc
mov eax, dword [0x455698]
lea eax, [eax + eax*8]
shl eax, 2
mov ecx, eax
mov edi, dword [0x4556a4]
mov eax, 0x30c30c31
imul dword [0x45569c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45568c]
imul edx, edx, 0x34
sub ecx, eax
mov eax, dword [str._r_____r____]
add edx, edi
lea eax, [eax + eax*4]
add edx, ecx
lea ecx, [edx + eax*2 - 0x39]
mov dword [0x455694], ecx
mov dword [0x5582a4], 0x64
jmp 0x40cae1
lea edx, [esp + 0x654]
push edx
call fcn.004297a5
add esp, 4
mov dword [0x5582a4], eax
mov edi, dword [0x4556a8]
mov esi, dword [0x4556a0]
mov eax, dword [0x455688]
lea eax, [eax + eax*8]
lea ecx, [edi + edi*2]
shl ecx, 4
lea ecx, [ecx + eax*4]
mov eax, 0x2aaaaaab
imul dword [0x45569c]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x94f2095
imul dword [0x455690]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, esi
sub ecx, 0x39
push 0
mov dword [0x455690], ecx
call fcn.004297aa
sub eax, dword [0x5694f8]
add esp, 4
cmp eax, 0xa8c0
jl 0x40cbb0
mov eax, dword [0x455698]
lea ecx, [eax + eax*8]
mov ebx, dword [0x4556a4]
shl ecx, 2
mov esi, ecx
mov ecx, dword [0x45569c]
mov eax, 0x30c30c31
imul ecx
mov ecx, dword [0x45568c]
imul ecx, ecx, 0x34
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [str._r_____r____]
add ecx, ebx
lea edx, [eax + eax*4]
add ecx, esi
lea eax, [ecx + edx*2 - 0x39]
push 0
mov dword [0x455694], eax
call fcn.004297aa
add esp, 4
xor ecx, ecx
mov dword [0x5694f8], eax
mov dword [0x5582a8], ecx
jmp 0x40cbb6
mov ecx, dword [0x5582a8]
mov edx, dword [0x455698]
mov eax, 0x78787879
imul edx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0x2a
add esi, edx
mov edx, dword [0x4556a8]
mov eax, edx
imul eax, eax, 0x39
sub esi, eax
mov eax, 0x4ec4ec4f
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
sub esi, eax
mov eax, 0x66666667
imul edx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
cmp ecx, dword [0x5582a4]
mov dword [0x455698], esi
jge 0x40cd15
cmp ecx, dword [0x5582a0]
jge 0x40cc50
push 0
call fcn.004297aa
mov ecx, dword [0x5694d0]
mov esi, dword [0x5582ac]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40cc89
mov ecx, dword [0x5582a8]
cmp ecx, dword [0x5582a4]
jge 0x40cd15
cmp ecx, dword [0x5582a0]
jl 0x40cd15
push 0
call fcn.004297aa
sub eax, dword [0x5582ac]
mov edx, dword [0x5694d4]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40cd15
mov ecx, dword [0x455694]
mov eax, 0x2aaaaaab
imul ecx
mov esi, ecx
mov ecx, dword [0x45568c]
imul esi, esi, 0x39
sar edx, 3
mov edi, edx
add esi, edx
mov edx, dword [0x455690]
imul edx, edx, 0x31
mov eax, ecx
imul eax, eax, 0x61
shr edi, 0x1f
add edi, esi
add edi, eax
add edi, edx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x5582a8]
cdq
idiv dword [0x5582a0]
mov dword [0x45569c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x5582b0
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40ccf2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00428ee1
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00428ee1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.00428ee1
add esp, 0x3648
ret