Function at 0x40c450
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00429c90
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, 0x73b2d479
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, ecx
imul ecx, ecx, 0x19a8
imul ebx, ebx, 0x212c
sub ebx, eax
push edi
mov edi, dword [0x455690]
mov eax, 0x27e98ca1
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
sub ebx, eax
mov eax, 0x5d0a95d5
imul edx
sar edx, 0xb
add ebx, edx
mov eax, edx
mov edx, dword [0x45568c]
imul edx, edx, 0x11be
shr eax, 0x1f
add eax, ebx
add eax, edx
mov dword [str._r_____r____], eax
mov eax, 0x443d7153
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x27e98ca1
imul esi
mov esi, dword [0x4556a0]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455688]
imul edx, edx, 0xe0e
sub ecx, eax
mov eax, dword [esp + 0x365c]
add ecx, edx
sub ecx, esi
sub ecx, 0x544
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x455690], ecx
push 0x2800
jne 0x40c553
lea eax, [esp + 0xe5c]
push eax
push 0x445de9
push str.ConfigL4
jmp 0x40c565
lea ecx, [esp + 0xe5c]
push ecx
push 0x445de9
push str.ConfigL4x
push str.GameType1
call ebp
mov esi, dword [0x455694]
mov edi, dword [0x455690]
mov eax, 0x27e98ca1
imul esi
imul esi, esi, 0x544
mov ebx, edi
imul ebx, ebx, 0x2367
sar edx, 0xa
add ebx, edx
mov ecx, edx
mov edx, dword [0x45568c]
mov eax, edx
imul eax, eax, 0x15e3
shr ecx, 0x1f
add ecx, ebx
add ecx, eax
mov eax, 0x48dbb693
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
add ecx, esi
lea eax, [esp + 0xe54]
mov dword [0x45569c], ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c5d0
sub eax, esi
mov dword [esp + 0x10], eax
jne 0x40c5f9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00429441
add esp, 0x3648
ret
mov esi, dword [0x4556a0]
imul edi, edi, 0x544
mov eax, 0x5d929e5d
imul esi, esi, 0x2367
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
mov ecx, dword [0x4556a4]
mov eax, 0x48dbb693
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, esi
sub ebx, eax
mov eax, dword [0x455688]
sub ebx, edi
add ebx, ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
add eax, ebx
push 0x190
push edx
mov dword [0x455688], eax
call fcn.0040beb0
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x40ccaf
and eax, reloc.WS2_32.dll_closesocket
jns 0x40c680
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40ccaf
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45568c]
mov edi, dword [0x455698]
imul edx, edx, 0x11be
mov ebx, ecx
imul ebx, ebx, 0x1603
mov eax, edi
imul eax, eax, 0xe0e
add ebx, edx
add ebx, eax
mov eax, 0x4b438bdf
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub ebx, eax
lea eax, [ebx + edx - 0x544]
mov dword [0x455694], eax
mov eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
mov dword [0x558298], eax
mov eax, dword [0x5694c4]
test eax, eax
jg 0x40c84b
mov eax, 0x443d7153
imul ecx, ecx, 0x1e03
imul edi, edi, 0x108d
imul dword [0x45568c]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, edi
push 0x800
mov dword [0x4556a0], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445de9
push str.ConfigL1
push str.GameType1
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.00429c4a
add esp, 4
cmp eax, esi
mov edi, 0x78
jge 0x40c76b
mov dword [0x5694c4], esi
jmp 0x40c79c
lea eax, [esp + 0x654]
push eax
call fcn.00429c4a
add esp, 4
cmp eax, edi
jle 0x40c787
mov dword [0x5694c4], edi
jmp 0x40c79c
lea ecx, [esp + 0x654]
push ecx
call fcn.00429c4a
add esp, 4
mov dword [0x5694c4], eax
mov ecx, dword [0x45568c]
mov eax, 0x443d7153
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xb
imul ecx, ecx, 0x1e03
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455698]
push str.C:WINDOWS_system32driversetc_service5.ini
imul edx, edx, 0x108d
push 0x800
sub ecx, eax
lea eax, [esp + 0x65c]
push eax
push 0x445de9
push str.ConfigL2
sub ecx, edx
push str.GameType1
mov dword [0x4556a0], ecx
call ebp
lea ecx, [esp + 0x654]
push ecx
call fcn.00429c4a
add esp, 4
cmp eax, esi
jge 0x40c814
mov dword [0x5694c8], esi
jmp 0x40c845
lea edx, [esp + 0x654]
push edx
call fcn.00429c4a
add esp, 4
cmp eax, edi
jle 0x40c830
mov dword [0x5694c8], edi
jmp 0x40c845
lea eax, [esp + 0x654]
push eax
call fcn.00429c4a
add esp, 4
mov dword [0x5694c8], eax
mov edi, dword [0x455698]
mov ecx, dword [0x4556a8]
mov eax, 0x5d0a95d5
imul dword [0x455690]
sar edx, 0xb
mov esi, ecx
imul esi, esi, 0x212c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, esi
mov esi, dword [0x4556a0]
mov edx, esi
imul edx, edx, 0x11be
add ebx, edx
mov eax, 0x4b438bdf
imul dword [0x45568c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, dword [0x455694]
sub eax, ebx
add eax, 0x1e03
mov dword [0x45568c], eax
mov eax, dword [0x55829c]
test eax, eax
jg 0x40ca4a
mov eax, 0x3dbd3249
imul esi, esi, 0xd9b
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x5d0a95d5
imul ebx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x736e5bc3
imul ecx
imul ecx, ecx, 0x544
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
add edi, esi
sub edi, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445de9
push str.ConfigL3
push str.GameType1
mov dword [0x455698], edi
call ebp
mov ecx, dword [0x45569c]
mov eax, 0x73b2d479
imul ecx
imul ecx, ecx, 0x1603
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
mov esi, eax
mov eax, 0xd816735f
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, esi
add edi, ecx
mov ecx, dword [0x45568c]
mov eax, 0x5d0a95d5
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x455688]
imul edx, edx, 0xd9b
sub edi, ecx
lea eax, [esp + 0x654]
add edi, edx
push eax
mov dword [0x4556a4], edi
call fcn.00429c4a
mov ecx, dword [0x558298]
add esp, 4
cmp eax, ecx
jge 0x40c9b8
mov dword [0x55829c], ecx
jmp 0x40ca3e
lea ecx, [esp + 0x654]
push ecx
call fcn.00429c4a
add esp, 4
cmp eax, 0x64
jle 0x40ca29
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45568c]
imul ecx, ecx, 0x1603
mov eax, dword [0x455698]
imul edx, edx, 0x11be
imul eax, eax, 0xe0e
add ecx, edx
add ecx, eax
mov eax, 0x4b438bdf
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a4]
sub ecx, eax
lea eax, [ecx + edx - 0x544]
mov dword [0x455694], eax
mov dword [0x55829c], 0x64
jmp 0x40ca3e
lea ecx, [esp + 0x654]
push ecx
call fcn.00429c4a
add esp, 4
mov dword [0x55829c], eax
mov ecx, dword [0x4556a8]
mov esi, dword [0x4556a0]
mov eax, 0x443d7153
imul ecx, ecx, 0x19a8
imul dword [0x455690]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x27e98ca1
imul dword [0x45569c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455688]
imul edx, edx, 0xe0e
sub ecx, eax
add ecx, edx
sub ecx, esi
sub ecx, 0x544
push 0
mov dword [0x455690], ecx
call fcn.00429c4f
sub eax, dword [0x5694ec]
add esp, 4
cmp eax, 0xa8c0
jl 0x40cb1d
mov esi, dword [str._r_____r____]
mov eax, dword [0x45568c]
imul esi, esi, 0x1603
mov ecx, dword [0x455698]
imul eax, eax, 0x11be
imul ecx, ecx, 0xe0e
add esi, eax
add esi, ecx
mov ecx, dword [0x45569c]
mov eax, 0x4b438bdf
imul ecx
mov ecx, dword [0x4556a4]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
lea edx, [esi + ecx - 0x544]
push 0
mov dword [0x455694], edx
call fcn.00429c4f
add esp, 4
xor esi, esi
mov dword [0x5694ec], eax
mov dword [0x5582a0], esi
jmp 0x40cb23
mov esi, dword [0x5582a0]
mov ecx, dword [0x455698]
mov eax, 0x3dbd3249
imul ecx
mov ecx, dword [0x455694]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x5d0a95d5
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x4556a8]
mov eax, 0x736e5bc3
imul ecx
imul ecx, ecx, 0x544
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0xd9b
sub edi, eax
mov eax, dword [0x55829c]
add edi, edx
sub edi, ecx
cmp esi, eax
mov dword [0x455698], edi
jge 0x40cc93
cmp esi, dword [0x558298]
jge 0x40cbc4
push 0
call fcn.00429c4f
mov ecx, dword [0x5694c4]
mov esi, dword [0x5582a4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40cbfd
mov esi, dword [0x5582a0]
cmp esi, dword [0x55829c]
jge 0x40cc93
cmp esi, dword [0x558298]
jl 0x40cc93
push 0
call fcn.00429c4f
sub eax, dword [0x5582a4]
mov edx, dword [0x5694c8]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40cc93
mov ecx, dword [0x455694]
mov esi, dword [0x455690]
mov eax, 0x27e98ca1
imul esi, esi, 0x2367
imul ecx
imul ecx, ecx, 0x544
sar edx, 0xa
mov edi, edx
add esi, edx
mov edx, dword [0x45568c]
mov eax, edx
imul eax, eax, 0x15e3
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x48dbb693
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x5582a0]
cdq
idiv dword [0x558298]
add edi, ecx
mov dword [0x45569c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x5582a8
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40cc70
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00429441
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.00429441
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.00429441
add esp, 0x3648
ret