Function at 0x40d0e0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042acd0
mov eax, dword [0x458190]
mov ecx, dword [0x456824]
mov dword [esp + 0x3644], eax
push ebx
push ebp
mov eax, 0x281003eb
imul ecx
sar edx, 0x17
push esi
mov esi, dword [0x456830]
push edi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, esi
imul edi, edi, 0x340e3f9
sub edi, eax
mov eax, 0x9b24a0b5
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
mov edi, dword [0x45682c]
mov eax, 0x4eff369
imul edi
sar edx, 0x14
mov ebx, dword [0x456818]
mov eax, edx
imul ebx, ebx, 0x4b2efd8
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0xdc19cb
add ecx, edx
mov eax, 0x281003eb
imul edi
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x331ebb8
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
mov ecx, dword [0x456820]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0x62a5c8bd
imul ecx
mov eax, dword [esp + 0x365c]
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
sub ebx, esi
sub ebx, 0x2b747a3
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], ebx
push 0x2800
jne 0x40d1e0
lea edx, [esp + 0xe5c]
push edx
push 0x446e1d
push str.ConfigL4
jmp 0x40d1f2
lea eax, [esp + 0xe5c]
push eax
push 0x446e1d
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x45681c]
mov eax, 0x6cf5c25f
imul ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
mov ecx, dword [0x456820]
mov eax, 0x281003eb
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
mov esi, dword [0x456830]
mov edx, esi
imul edx, edx, 0x1eadb5a
add eax, edx
mov edx, dword [0x456824]
imul edx, edx, 0x2b747a3
add eax, edx
mov edx, ecx
imul edx, edx, 0x33d9a16
add eax, edx
mov dword [0x45682c], eax
lea eax, [esp + 0xe54]
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d262
sub eax, edi
mov dword [esp + 0x10], eax
jne 0x40d28b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a3c1
add esp, 0x3648
ret
mov edi, dword [0x456834]
imul esi, esi, 0x33d9a16
mov eax, 0x6cf5c25f
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x858372bd
imul ecx
add edx, ecx
imul ecx, ecx, 0x2b747a3
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
mov ebx, eax
mov eax, 0x17908a77
imul edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
sub eax, esi
push 0x190
push edx
mov dword [0x456818], eax
call fcn.0040cb20
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x40d96f
and eax, reloc.WS2_32.dll_closesocket
jns 0x40d314
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40d96f
mov esi, dword [0x456828]
mov ebx, dword [0x456818]
mov eax, dword [str._r_____r____]
imul eax, eax, 0x34cd890
mov ecx, esi
imul ecx, ecx, 0x4b2efd8
mov edx, ebx
imul edx, edx, 0x340e3f9
add ecx, edx
add ecx, eax
mov eax, 0x4eff7f81
imul dword [0x45682c]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub ecx, eax
lea ecx, [ecx + edx - 0x2b747a3]
mov eax, edi
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], ecx
jg 0x40d501
mov edx, dword [0x45681c]
imul ecx, ecx, 0x298583a
imul esi, esi, 0x10ec18f
mov eax, 0x62a5c8bd
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [0x45682c]
imul eax, eax, 0x2b747a3
sub ecx, eax
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, esi
push 0x800
mov dword [0x456830], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e1d
push str.ConfigL1
push str.GameType1
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042ac85
add esp, 4
cmp eax, edi
mov esi, 0x78
jge 0x40d40e
mov dword [0x56a348], edi
jmp 0x40d43f
lea eax, [esp + 0x654]
push eax
call fcn.0042ac85
add esp, 4
cmp eax, esi
jle 0x40d42a
mov dword [0x56a348], esi
jmp 0x40d43f
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ac85
add esp, 4
mov dword [0x56a348], eax
mov ecx, dword [0x45681c]
mov eax, 0x62a5c8bd
imul ecx
mov ecx, dword [0x456824]
imul ecx, ecx, 0x298583a
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
imul edx, edx, 0x2b747a3
mov eax, dword [0x456828]
imul eax, eax, 0x10ec18f
sub ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, eax
push 0x800
mov dword [0x456830], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e1d
push str.ConfigL2
push str.GameType1
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042ac85
add esp, 4
cmp eax, edi
jge 0x40d4c4
mov dword [0x56a34c], edi
jmp 0x40d4f5
lea eax, [esp + 0x654]
push eax
call fcn.0042ac85
add esp, 4
cmp eax, esi
jle 0x40d4e0
mov dword [0x56a34c], esi
jmp 0x40d4f5
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ac85
add esp, 4
mov dword [0x56a34c], eax
mov ecx, dword [0x456824]
mov ebx, dword [0x456818]
mov edi, dword [0x456838]
mov esi, dword [0x456830]
imul esi, esi, 0x340e3f9
mov eax, 0x9b24a0b5
imul edi
add edx, edi
sar edx, 0x19
add esi, edx
mov eax, edx
mov edx, edi
imul edx, edx, 0xdc19cb
shr eax, 0x1f
add eax, esi
sub eax, edx
mov edx, dword [0x45681c]
mov dword [esp + 0x10], eax
mov eax, 0x4eff7f81
imul edx
mov eax, dword [esp + 0x10]
sar edx, 0x18
mov esi, edx
shr esi, 0x1f
add eax, edx
add esi, eax
mov eax, dword [0x55911c]
sub esi, ecx
add esi, 0x298583a
test eax, eax
mov dword [0x45681c], esi
jg 0x40d6ff
mov eax, 0x2757ae75
imul esi, esi, 0x33d9718
imul edi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x64db5f4b
imul ecx
sub edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, edi
imul edx, edx, 0x2b747a3
sub ecx, ebx
sub ecx, edx
mov eax, 0x4a704a7b
imul edi
sar edx, 0x16
push str.C:WINDOWS_system32driversetc_service5.ini
mov eax, edx
shr eax, 0x1f
add ecx, edx
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e1d
push str.ConfigL3
add eax, esi
push str.GameType1
mov dword [0x456828], eax
call ebp
mov ecx, dword [0x456834]
mov esi, dword [0x456828]
mov eax, 0x281003eb
imul ecx
mov ecx, dword [0x45681c]
sar edx, 0x17
mov eax, edx
mov edi, esi
imul edi, edi, 0x34cd890
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9b24a0b5
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x4eff369
imul esi
sub edi, ecx
mov ecx, dword [0x456818]
sar edx, 0x14
imul ecx, ecx, 0x33d9718
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea edx, [esp + 0x654]
add edi, ecx
push edx
mov dword [0x456834], edi
call fcn.0042ac85
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d671
mov dword [0x55911c], ecx
jmp 0x40d6f9
lea eax, [esp + 0x654]
push eax
call fcn.0042ac85
add esp, 4
cmp eax, 0x64
jle 0x40d6e4
mov ebx, dword [0x456818]
mov ecx, dword [0x456828]
mov eax, dword [str._r_____r____]
imul ecx, ecx, 0x4b2efd8
imul eax, eax, 0x34cd890
mov edx, ebx
imul edx, edx, 0x340e3f9
add ecx, edx
add ecx, eax
mov eax, 0x4eff7f81
imul dword [0x45682c]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456834]
sub ecx, eax
lea eax, [ecx + edx - 0x2b747a3]
mov dword [0x456824], eax
mov dword [0x55911c], 0x64
jmp 0x40d6ff
lea ecx, [esp + 0x654]
push ecx
call fcn.0042ac85
add esp, 4
mov dword [0x55911c], eax
mov ebx, dword [0x456818]
mov eax, 0x281003eb
imul ebx, ebx, 0x4b2efd8
imul dword [0x45682c]
mov ecx, dword [0x456820]
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, dword [str._r_____r____]
imul eax, eax, 0x331ebb8
add ebx, eax
mov eax, 0x62a5c8bd
imul ecx
mov eax, dword [0x456830]
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
sub ebx, eax
sub ebx, 0x2b747a3
push 0
mov dword [0x456820], ebx
call fcn.0042ac8a
sub eax, dword [0x56a370]
add esp, 4
cmp eax, 0xa8c0
jl 0x40d7d7
mov esi, dword [0x456828]
mov edx, dword [0x456818]
imul esi, esi, 0x4b2efd8
mov eax, dword [str._r_____r____]
imul edx, edx, 0x340e3f9
mov ecx, dword [0x45682c]
imul eax, eax, 0x34cd890
add esi, edx
add esi, eax
mov eax, 0x4eff7f81
imul ecx
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456834]
sub esi, ecx
lea eax, [esi + edx - 0x2b747a3]
push 0
mov dword [0x456824], eax
call fcn.0042ac8a
add esp, 4
xor edi, edi
mov dword [0x56a370], eax
mov dword [0x559120], edi
jmp 0x40d7dd
mov edi, dword [0x559120]
mov ecx, dword [0x456838]
mov esi, dword [0x456824]
mov eax, 0x2757ae75
imul ecx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x64db5f4b
imul esi
sub edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x2b747a3
mov esi, eax
sub esi, ebx
sub esi, edx
mov eax, 0x4a704a7b
imul ecx
mov ecx, dword [0x45681c]
imul ecx, ecx, 0x33d9718
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
add eax, ecx
mov dword [0x456828], eax
cmp edi, dword [0x55911c]
jge 0x40d953
cmp edi, dword [0x559118]
jge 0x40d87a
push 0
call fcn.0042ac8a
sub eax, dword [0x559124]
mov edx, dword [0x56a348]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x40d8b5
mov edi, dword [0x559120]
cmp edi, dword [0x55911c]
jge 0x40d953
cmp edi, dword [0x559118]
jl 0x40d953
push 0
call fcn.0042ac8a
mov ecx, dword [0x56a34c]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x40d953
mov ecx, dword [0x45681c]
mov eax, 0x6cf5c25f
imul ecx
mov ecx, dword [0x456820]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x281003eb
imul ecx
imul ecx, ecx, 0x33d9a16
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456830]
imul edx, edx, 0x1eadb5a
sub eax, esi
add eax, edx
mov edx, dword [0x456824]
imul edx, edx, 0x2b747a3
add eax, edx
add eax, ecx
mov dword [0x45682c], eax
mov eax, dword [0x559120]
cdq
idiv dword [0x559118]
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x559128
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d930
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a3c1
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042a3c1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042a3c1
add esp, 0x3648
ret