Function at 0x40cf50
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042a8f0
mov eax, dword [0x458190]
mov dword [esp + 0x3644], eax
push ebp
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0x4b226983
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
mov ecx, eax
mov eax, 0x4c8d67b3
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
sub ecx, eax
imul edx, edx, 0xd429
add ecx, edx
mov eax, 0x2760f26d
imul esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0x38bb
add ecx, edx
mov edx, dword [0x45682c]
mov esi, dword [0x456820]
mov eax, 0x2760f26d
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0xd008
imul edx, edx, 0x13350
sub ecx, eax
add ecx, edx
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0xc0e2caa9
imul esi
add edx, esi
mov esi, dword [0x456834]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esp + 0x3658]
sub ecx, esi
sub ecx, 0xb323
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], ecx
push 0x2800
jne 0x40d05b
lea ecx, [esp + 0xe58]
push ecx
push 0x446e15
push str.ConfigL4
jmp 0x40d06d
lea edx, [esp + 0xe58]
push edx
push 0x446e15
push str.ConfigL4x
push str.GameType1
call ebp
mov esi, dword [0x456820]
mov eax, 0x2760f26d
imul esi
mov ecx, esi
imul ecx, ecx, 0xd606
sar edx, 0xd
add ecx, edx
mov edi, edx
mov edx, dword [0x45682c]
imul edx, edx, 0xb323
shr edi, 0x1f
add edi, ecx
mov ecx, dword [0x45681c]
add edi, edx
mov eax, 0x6aa0ab9b
imul ecx
mov ecx, dword [0x456830]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x801a
sub edi, eax
add edi, edx
lea eax, [esp + 0xe50]
mov dword [0x45682c], edi
lea edi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d0e0
sub eax, edi
mov dword [esp + 0xc], eax
jne 0x40d108
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a0b1
add esp, 0x3648
ret
mov edi, dword [0x456834]
imul ecx, ecx, 0xd606
mov eax, 0x955f5465
imul edi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, eax
mov eax, 0x2dbafdc3
imul edi
sub ebx, ecx
sar edx, 0xd
mov ecx, edx
add ebx, edx
mov edx, dword [0x456818]
imul edx, edx, 0xb323
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x7fe60547
imul esi
sar edx, 0xe
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
push 0x190
push edx
mov dword [0x456818], eax
call fcn.0040c9c0
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x40d7ef
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d194
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40d7ef
mov edi, dword [str._r_____r____]
mov ecx, dword [0x456818]
mov eax, 0x4da3463f
imul ecx, ecx, 0xd429
imul dword [0x45682c]
mov ebx, edi
imul ebx, ebx, 0xda10
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, ecx
mov ecx, dword [0x456828]
sub ebx, eax
mov eax, dword [0x456830]
mov edx, ecx
imul edx, edx, 0x13350
add ebx, eax
lea ebx, [edx + ebx - 0xb323]
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], ebx
jg 0x40d387
mov eax, dword [0x45682c]
imul ebx, ebx, 0x7127
imul ecx, ecx, 0x801a
mov esi, dword [0x45681c]
imul eax, eax, 0xb323
sub ebx, eax
mov eax, 0xc0e2caa9
imul esi
add edx, esi
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
sub ebx, eax
push 0x800
add ebx, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e15
push str.ConfigL1
push str.GameType1
mov dword [0x456830], ebx
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042a8b2
mov esi, 3
add esp, 4
cmp eax, esi
mov edi, 0x78
jge 0x40d291
mov dword [0x56a348], esi
jmp 0x40d2c2
lea eax, [esp + 0x654]
push eax
call fcn.0042a8b2
add esp, 4
cmp eax, edi
jle 0x40d2ad
mov dword [0x56a348], edi
jmp 0x40d2c2
lea ecx, [esp + 0x654]
push ecx
call fcn.0042a8b2
add esp, 4
mov dword [0x56a348], eax
mov ebx, dword [0x456824]
mov edx, dword [0x45682c]
imul ebx, ebx, 0x7127
mov ecx, dword [0x45681c]
imul edx, edx, 0xb323
sub ebx, edx
mov eax, 0xc0e2caa9
imul ecx
add edx, ecx
mov ecx, dword [0x456828]
sar edx, 0xf
imul ecx, ecx, 0x801a
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 ebx, eax
push str.ConfigL2
add ebx, ecx
push str.GameType1
mov dword [0x456830], ebx
call ebp
lea eax, [esp + 0x654]
push eax
call fcn.0042a8b2
add esp, 4
cmp eax, esi
jge 0x40d34a
mov dword [0x56a34c], esi
jmp 0x40d37b
lea ecx, [esp + 0x654]
push ecx
call fcn.0042a8b2
add esp, 4
cmp eax, edi
jle 0x40d366
mov dword [0x56a34c], edi
jmp 0x40d37b
lea edx, [esp + 0x654]
push edx
call fcn.0042a8b2
add esp, 4
mov dword [0x56a34c], eax
mov edi, dword [str._r_____r____]
mov ebx, dword [0x456824]
mov ecx, dword [0x456838]
mov eax, 0x4b226983
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [0x456830]
imul eax, eax, 0xd429
add edx, eax
mov dword [esp + 0x10], edx
mov edx, dword [0x45681c]
mov eax, 0x4da3463f
imul edx
mov eax, dword [esp + 0x10]
sar edx, 0xe
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, ecx
imul eax, eax, 0x38bb
sub esi, eax
mov eax, dword [0x55911c]
sub esi, edi
add esi, 0xa9e2
test eax, eax
mov dword [0x45681c], esi
jg 0x40d57b
mov eax, 0x4b226983
imul esi, esi, 0xd308
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x658cf6d9
imul ecx
sub edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x2419bc59
imul ecx
imul ecx, ecx, 0xb323
sar edx, 0xb
sub ebx, edi
mov eax, edx
add ebx, esi
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add ebx, edx
add eax, ebx
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e15
push str.ConfigL3
push str.GameType1
mov dword [0x456828], eax
call ebp
mov ecx, dword [0x456828]
mov eax, 0x4b226983
imul ecx
mov esi, ecx
sar edx, 0xe
imul esi, esi, 0xda10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x4c8d67b3
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0xd308
sub esi, ecx
mov ecx, dword [0x456834]
add esi, edx
mov eax, 0x2760f26d
imul ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x654]
sub esi, eax
push ecx
mov dword [0x456834], esi
call fcn.0042a8b2
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d4ee
mov dword [0x55911c], ecx
jmp 0x40d575
lea edx, [esp + 0x654]
push edx
call fcn.0042a8b2
add esp, 4
cmp eax, 0x64
jle 0x40d560
mov edi, dword [str._r_____r____]
mov edx, dword [0x456818]
imul edx, edx, 0xd429
mov ecx, edi
imul ecx, ecx, 0xda10
add ecx, edx
mov eax, 0x4da3463f
imul dword [0x45682c]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
imul edx, edx, 0x13350
sub ecx, eax
add ecx, dword [0x456830]
lea eax, [edx + ecx - 0xb323]
mov dword [0x456824], eax
mov dword [0x55911c], 0x64
jmp 0x40d57b
lea ecx, [esp + 0x654]
push ecx
call fcn.0042a8b2
add esp, 4
mov dword [0x55911c], eax
mov edi, dword [str._r_____r____]
mov eax, 0x2760f26d
imul edi, edi, 0xd008
imul dword [0x45682c]
mov ecx, dword [0x456820]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x456818]
imul eax, eax, 0x13350
mov ebp, dword [0x456834]
add edi, eax
mov eax, 0xc0e2caa9
imul ecx
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
sub edi, ebp
sub edi, 0xb323
push 0
mov dword [0x456820], edi
call fcn.0042a8b7
sub eax, dword [0x56a370]
add esp, 4
cmp eax, 0xa8c0
jl 0x40d658
mov esi, dword [str._r_____r____]
mov edx, dword [0x456818]
imul esi, esi, 0xda10
mov ecx, dword [0x45682c]
imul edx, edx, 0xd429
mov edi, dword [0x456830]
add esi, edx
mov eax, 0x4da3463f
imul ecx
mov ecx, dword [0x456828]
sar edx, 0xe
imul ecx, ecx, 0x13350
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, edi
lea edx, [ecx + esi - 0xb323]
push 0
mov dword [0x456824], edx
call fcn.0042a8b7
add esp, 4
xor esi, esi
mov dword [0x56a370], eax
mov dword [0x559120], esi
jmp 0x40d65e
mov esi, dword [0x559120]
mov ecx, dword [0x456824]
mov eax, 0x4b226983
imul ecx
mov ecx, dword [0x456838]
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x658cf6d9
imul ecx
sub edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
imul edx, edx, 0xd308
mov ebx, eax
sub ebx, edi
add ebx, edx
mov eax, 0x2419bc59
imul ecx
imul ecx, ecx, 0xb323
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ecx
mov dword [0x456828], eax
cmp esi, dword [0x55911c]
jge 0x40d7d3
cmp esi, dword [0x559118]
jge 0x40d6fb
push 0
call fcn.0042a8b7
mov ecx, dword [0x56a348]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40d734
mov esi, dword [0x559120]
cmp esi, dword [0x55911c]
jge 0x40d7d3
cmp esi, dword [0x559118]
jl 0x40d7d3
push 0
call fcn.0042a8b7
sub eax, dword [0x559124]
mov edx, dword [0x56a34c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40d7d3
mov ecx, dword [0x456820]
mov esi, ecx
mov eax, 0x2760f26d
imul esi, esi, 0xd606
imul ecx
mov eax, dword [0x45682c]
mov ecx, dword [0x45681c]
imul eax, eax, 0xb323
sar edx, 0xd
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x6aa0ab9b
imul ecx
mov eax, dword [0x559120]
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456830]
imul edx, edx, 0x801a
sub edi, ecx
add edi, edx
cdq
idiv dword [0x559118]
mov dword [0x45682c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x559128
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d7b0
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a0b1
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a0b1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.0042a0b1
add esp, 0x3648
ret