Function at 0x40d0c0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042ab60
mov eax, dword [0x458190]
mov dword [esp + 0x3644], eax
push esi
push edi
mov esi, dword [0x456824]
mov eax, 0xbdd265f5
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
mov ecx, eax
mov eax, 0x5f7fac71
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
sub ecx, eax
imul edx, edx, 0x1525
add ecx, edx
mov eax, 0x61e35267
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
mov esi, dword [0x456818]
imul edx, edx, 0x58f
sub ecx, eax
imul esi, esi, 0x1ec0
add ecx, edx
mov edx, dword [0x45682c]
mov eax, 0x61e35267
imul edx
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x14ec
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov ecx, dword [0x456820]
mov eax, 0x776d83ad
imul ecx
mov eax, dword [esp + 0x3654]
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456834]
sub esi, ecx
sub esi, edx
sub esi, 0x11cf
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], esi
push 0x2800
jne 0x40d1c4
lea edx, [esp + 0xe54]
push edx
push 0x446e15
push str.ConfigL4
jmp 0x40d1d6
lea eax, [esp + 0xe54]
push eax
push 0x446e15
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45681c]
mov edi, dword [0x456820]
mov eax, 0x214d0215
imul ecx
sar edx, 0xa
mov ecx, edx
mov esi, edi
imul esi, esi, 0x1572
shr ecx, 0x1f
add ecx, edx
mov eax, 0x61e35267
imul edi
sub esi, ecx
mov ecx, dword [0x45682c]
imul ecx, ecx, 0x11cf
sar edx, 0xb
mov eax, edx
add esi, edx
shr eax, 0x1f
add eax, esi
add eax, ecx
mov ecx, dword [0x456830]
mov edx, ecx
imul edx, edx, 0xcde
add eax, edx
mov dword [0x45682c], eax
lea eax, [esp + 0xe4c]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d248
sub eax, esi
mov dword [esp + 8], eax
jne 0x40d26f
pop edi
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a321
add esp, 0x3648
ret
mov esi, dword [0x456834]
imul ecx, ecx, 0xffffea8e
mov eax, 0x214d0215
imul esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xe6005641
imul esi
add edx, esi
sar edx, 0xc
add ecx, edx
mov esi, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x456818]
imul ecx, ecx, 0x11cf
mov eax, 0x4f950fb3
imul edi
sar edx, 0xa
add esi, ecx
mov eax, edx
lea ecx, [esp + 0xe4c]
push ecx
add esi, edx
shr eax, 0x1f
lea edx, [esp + 0x10]
add eax, esi
push 0x190
push edx
mov dword [0x456818], eax
call fcn.0040cb10
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x40d97b
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d2fa
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40d97b
mov ecx, dword [0x456828]
push ebx
push ebp
mov ebp, dword [0x45682c]
mov eax, 0xc152500d
imul ebp
mov edi, dword [0x456830]
add edx, ebp
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x1594
mov ebx, ecx
imul ebx, ebx, 0x1ec0
sub ebx, eax
add edx, edi
mov edi, dword [0x456818]
mov eax, edi
imul eax, eax, 0x1525
add edx, ebx
lea ebx, [eax + edx - 0x11cf]
mov eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], ebx
jg 0x40d4f4
mov edx, dword [0x45681c]
imul ebp, ebp, 0x11cf
imul ecx, ecx, 0xcde
mov eax, 0x88927c53
imul ebx, ebx, 0xb97
imul edx
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
sub eax, ebp
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e15
push str.ConfigL1
add eax, ebx
push str.GameType1
mov dword [0x456830], eax
call edi
lea edx, [esp + 0x654]
push edx
call fcn.0042ab22
add esp, 4
cmp eax, esi
mov ebx, 0x78
jge 0x40d3fb
mov dword [0x56a348], esi
jmp 0x40d42c
lea eax, [esp + 0x654]
push eax
call fcn.0042ab22
add esp, 4
cmp eax, ebx
jle 0x40d417
mov dword [0x56a348], ebx
jmp 0x40d42c
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ab22
add esp, 4
mov dword [0x56a348], eax
mov ecx, dword [0x45681c]
mov ebp, dword [0x45682c]
mov eax, 0x88927c53
imul ebp, ebp, 0x11cf
imul ecx
mov ecx, dword [0x456828]
sar edx, 0xb
imul ecx, ecx, 0xcde
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456824]
imul edx, edx, 0xb97
sub eax, ebp
add eax, ecx
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
push 0x800
mov dword [0x456830], eax
lea eax, [esp + 0x65c]
push eax
push 0x446e15
push str.ConfigL2
push str.GameType1
call edi
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ab22
add esp, 4
cmp eax, esi
jge 0x40d4b1
mov dword [0x56a34c], esi
jmp 0x40d4e2
lea edx, [esp + 0x654]
push edx
call fcn.0042ab22
add esp, 4
cmp eax, ebx
jle 0x40d4cd
mov dword [0x56a34c], ebx
jmp 0x40d4e2
lea eax, [esp + 0x654]
push eax
call fcn.0042ab22
add esp, 4
mov dword [0x56a34c], eax
mov ebx, dword [0x456824]
mov edi, dword [0x456818]
mov ebp, dword [0x45682c]
mov esi, dword [0x456838]
mov ecx, dword [0x45681c]
mov eax, 0xbdd265f5
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0xc152500d
imul ecx
mov eax, ecx
add edx, eax
mov eax, dword [esp + 0x10]
sar edx, 0xc
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [0x456830]
imul eax, eax, 0x1525
mov edx, esi
imul edx, edx, 0x58f
add ecx, eax
mov eax, dword [str._r_____r____]
sub ecx, edx
sub ecx, eax
mov eax, dword [0x55911c]
add ecx, 0x1126
test eax, eax
mov dword [0x45681c], ecx
jg 0x40d708
mov eax, 0xbdd265f5
imul ecx, ecx, 0x1530
imul ebx
add edx, ebx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x9f248ed3
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, edi
add ebx, ecx
mov ecx, esi
imul ecx, ecx, 0x11cf
mov eax, 0xb838211b
imul esi
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
sub ebx, ecx
add edx, esi
sar edx, 0xa
lea ecx, [esp + 0x65c]
push ecx
mov eax, edx
push 0x446e15
shr eax, 0x1f
add ebx, edx
push str.ConfigL3
add eax, ebx
push str.GameType1
mov dword [0x456828], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x456828]
mov eax, 0xbdd265f5
imul ecx
add edx, ecx
mov esi, ecx
sar edx, 0xc
imul esi, esi, 0x1594
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x5f7fac71
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x1530
sub esi, ecx
mov ecx, dword [0x456834]
add esi, edx
mov eax, 0x61e35267
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x654]
sub esi, eax
push ecx
mov dword [0x456834], esi
call fcn.0042ab22
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d66e
mov dword [0x55911c], ecx
jmp 0x40d6fc
lea edx, [esp + 0x654]
push edx
call fcn.0042ab22
add esp, 4
cmp eax, 0x64
jle 0x40d6e7
mov ebp, dword [0x45682c]
mov ecx, dword [0x456828]
mov eax, 0xc152500d
imul ecx, ecx, 0x1ec0
imul ebp
mov edi, dword [0x456830]
add edx, ebp
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x1594
sub ecx, eax
add edx, edi
mov edi, dword [0x456818]
mov eax, edi
imul eax, eax, 0x1525
add edx, ecx
lea ecx, [eax + edx - 0x11cf]
mov dword [0x456824], ecx
mov dword [0x55911c], 0x64
jmp 0x40d708
lea edx, [esp + 0x654]
push edx
call fcn.0042ab22
add esp, 4
mov dword [0x55911c], eax
mov edi, dword [0x456818]
mov ebp, dword [0x45682c]
mov eax, 0x61e35267
imul edi, edi, 0x1ec0
imul ebp
mov ecx, dword [0x456820]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x14ec
mov ebp, dword [0x456834]
add edi, eax
mov eax, 0x776d83ad
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
sub edi, ebp
sub edi, 0x11cf
push 0
mov dword [0x456820], edi
call fcn.0042ab27
sub eax, dword [0x56a370]
add esp, 4
cmp eax, 0xa8c0
jl 0x40d7e0
mov ecx, dword [0x45682c]
mov esi, dword [0x456828]
mov ebx, dword [0x456830]
imul esi, esi, 0x1ec0
mov eax, 0xc152500d
imul ecx
add edx, ecx
mov ecx, dword [str._r_____r____]
sar edx, 0xc
imul ecx, ecx, 0x1594
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x1525
sub esi, eax
add ecx, ebx
add ecx, esi
lea eax, [edx + ecx - 0x11cf]
push 0
mov dword [0x456824], eax
call fcn.0042ab27
add esp, 4
xor esi, esi
mov dword [0x56a370], eax
mov dword [0x559120], esi
jmp 0x40d7e6
mov esi, dword [0x559120]
mov ecx, dword [0x456824]
mov eax, 0xbdd265f5
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x456838]
mov eax, 0x9f248ed3
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45681c]
mov ebx, eax
imul edx, edx, 0x1530
mov eax, ecx
imul eax, eax, 0x11cf
sub ebx, edi
add ebx, edx
sub ebx, eax
mov eax, 0xb838211b
imul ecx
mov eax, dword [0x55911c]
add edx, ecx
sar edx, 0xa
mov ecx, edx
add ebx, edx
shr ecx, 0x1f
add ecx, ebx
cmp esi, eax
pop ebp
mov dword [0x456828], ecx
pop ebx
jge 0x40d961
cmp esi, dword [0x559118]
jge 0x40d889
push 0
call fcn.0042ab27
sub eax, dword [0x559124]
mov edx, dword [0x56a348]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x40d8c4
mov esi, dword [0x559120]
cmp esi, dword [0x55911c]
jge 0x40d961
cmp esi, dword [0x559118]
jl 0x40d961
push 0
call fcn.0042ab27
mov ecx, dword [0x56a34c]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x40d961
mov ecx, dword [0x45681c]
mov eax, 0x214d0215
imul ecx
mov ecx, dword [0x456820]
sar edx, 0xa
mov esi, ecx
mov eax, edx
imul esi, esi, 0x1572
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x61e35267
imul ecx
mov eax, dword [0x456830]
sar edx, 0xb
imul eax, eax, 0xcde
mov ecx, edx
add esi, edx
mov edx, dword [0x45682c]
imul edx, edx, 0x11cf
shr ecx, 0x1f
add ecx, esi
add ecx, edx
add ecx, eax
mov eax, dword [0x559120]
cdq
idiv dword [0x559118]
mov dword [0x45682c], ecx
shl edx, 4
mov eax, dword [esp + edx + 0xc]
mov edx, 0x559128
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d940
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a321
add esp, 0x3648
ret
pop edi
mov eax, 9
pop esi
mov ecx, dword [esp + 0x3644]
call fcn.0042a321
add esp, 0x3648
ret
mov ecx, dword [esp + 0x364c]
pop edi
mov eax, 0xfffffffe
pop esi
call fcn.0042a321
add esp, 0x3648
ret