Function at 0x404310
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.004251e0
mov eax, dword [0x452944]
mov ecx, dword [0x4518f4]
mov dword [esp + 0x3644], eax
push ebp
push esi
mov esi, dword [0x4518e8]
mov eax, 0x58fba7b7
imul esi
push edi
sar edx, 0xd
mov edi, ecx
imul edi, edi, 0x62fe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518dc]
sub edi, eax
sub edi, dword [0x4518d8]
lea eax, [edi + edx + 0xd46b]
mov dword [str._r_____r_____n], eax
mov eax, 0x57bc6617
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0xf1bde717
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518ec]
sub eax, edi
sub eax, edx
lea ecx, [eax + ecx - 0x5a6f]
mov eax, dword [esp + 0x3658]
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x4518dc], ecx
push 0x2800
jne 0x4043d2
lea edx, [esp + 0xe58]
push edx
push 0x441e2d
push str.ConfigL4
jmp 0x4043e4
lea eax, [esp + 0xe58]
push eax
push 0x441e2d
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x4518dc]
mov edx, dword [0x4518e0]
imul ecx, ecx, 0x5c10
imul edx, edx, 0x5a75
add ecx, edx
mov edx, dword [0x4518d8]
mov eax, edx
imul eax, eax, 0xbb8d
sub ecx, eax
mov eax, 0x27a02fad
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esp + 0xe50]
mov dword [0x4518e8], ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404438
sub eax, esi
mov dword [esp + 0xc], eax
jne 0x404460
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424991
add esp, 0x3648
ret
mov esi, dword [0x4518ec]
mov eax, 0xd45237bd
imul esi, esi, 0x5c10
imul ecx
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x4518f0]
mov eax, 0x27a02fad
imul ecx
mov ecx, dword [0x4518d4]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, dword [str._r_____r_____n]
sub edi, esi
sub edi, eax
lea eax, [esp + 0xe54]
push eax
add edi, ebx
lea edx, [ecx + edi - 0x5a74]
lea ecx, [esp + 0x18]
push 0x190
push ecx
mov dword [0x4518d4], edx
call fcn.00403e90
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x404a6f
mov edx, esi
and edx, reloc.WS2_32.dll_closesocket
jns 0x4044ea
dec edx
or edx, 0xfffffffc
inc edx
jne 0x404a6f
mov ecx, dword [0x4518e8]
mov edi, dword [0x4518d8]
mov eax, 0x9a5307c5
imul ecx
add edx, ecx
mov ecx, dword [0x4518e4]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, edi
imul ebx, ebx, 0xd4a0
sub ebx, eax
mov eax, dword [0x4518f0]
mov edx, ecx
imul edx, edx, 0x33af
add ebx, eax
lea eax, [edx + ebx + 0xc49d]
mov dword [0x4518e0], eax
mov eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
mov dword [0x563cd8], eax
mov eax, dword [0x563954]
test eax, eax
jg 0x4046b4
mov eax, 0x57bc6617
imul ecx, ecx, 0x588f
imul edi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0x5d5f
push str.C:WINDOWS_system32driversetc_service5.ini
sub edx, eax
push 0x800
lea eax, [edx + ecx - 0x5a74]
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL1
push str.GameType1
mov dword [0x4518ec], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042519a
add esp, 4
cmp eax, esi
mov edi, 0x78
jge 0x4045d0
mov dword [0x563954], esi
jmp 0x404601
lea eax, [esp + 0x654]
push eax
call fcn.0042519a
add esp, 4
cmp eax, edi
jle 0x4045ec
mov dword [0x563954], edi
jmp 0x404601
lea ecx, [esp + 0x654]
push ecx
call fcn.0042519a
add esp, 4
mov dword [0x563954], eax
mov ecx, dword [0x4518d8]
mov eax, 0x57bc6617
imul ecx
mov ecx, dword [str._r_____r_____n]
sar edx, 0xd
imul ecx, ecx, 0x5d5f
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518e4]
imul edx, edx, 0x588f
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, eax
push 0x800
lea eax, [ecx + edx - 0x5a74]
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL2
push str.GameType1
mov dword [0x4518ec], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042519a
add esp, 4
cmp eax, esi
jge 0x40467d
mov dword [0x563958], esi
jmp 0x4046ae
lea eax, [esp + 0x654]
push eax
call fcn.0042519a
add esp, 4
cmp eax, edi
jle 0x404699
mov dword [0x563958], edi
jmp 0x4046ae
lea ecx, [esp + 0x654]
push ecx
call fcn.0042519a
add esp, 4
mov dword [0x563958], eax
mov ecx, dword [0x4518e4]
mov esi, dword [0x4518f4]
mov edi, dword [0x4518ec]
imul edi, edi, 0xd4a0
mov edx, esi
imul edx, edx, 0x62fe
sub edi, edx
mov eax, 0x7225d683
imul dword [0x4518dc]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov edi, dword [0x4518e0]
sub eax, edi
add eax, 0x131b4
mov dword [0x4518d8], eax
mov eax, dword [0x563cdc]
test eax, eax
jg 0x40484e
mov eax, 0xa5820cf9
imul esi, esi, 0x5a75
imul ecx
add edx, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x7225d683
imul edi
sar edx, 0xf
mov eax, edx
sub ecx, esi
shr eax, 0x1f
add eax, edx
sub ecx, eax
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, 0x1f366
push 0x800
mov dword [0x4518e4], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL3
push str.GameType1
call ebp
mov ecx, dword [0x4518f0]
mov esi, dword [0x4518d4]
mov ebp, dword [0x4518d8]
imul esi, esi, 0xd455
mov eax, 0xe4218e9
imul ecx
mov ecx, dword [0x4518e8]
sar edx, 0xc
imul ecx, ecx, 0x11f11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
sub esi, ebp
lea edx, [esp + 0x654]
add esi, 0xc301
push edx
mov dword [0x4518f0], esi
call fcn.0042519a
mov ecx, dword [0x563cd8]
add esp, 4
cmp eax, ecx
jge 0x4047cc
mov dword [0x563cdc], ecx
jmp 0x404848
lea eax, [esp + 0x654]
push eax
call fcn.0042519a
add esp, 4
cmp eax, 0x64
jle 0x404833
mov ecx, dword [0x4518e8]
mov esi, dword [0x4518d8]
mov eax, 0x9a5307c5
imul esi, esi, 0xd4a0
imul ecx
mov eax, dword [0x4518f0]
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518e4]
imul edx, edx, 0x33af
sub esi, ecx
add esi, eax
lea eax, [edx + esi + 0xc49d]
mov dword [0x4518e0], eax
mov dword [0x563cdc], 0x64
jmp 0x404848
lea ecx, [esp + 0x654]
push ecx
call fcn.0042519a
add esp, 4
mov dword [0x563cdc], eax
mov esi, dword [0x4518f4]
mov eax, 0x57bc6617
imul dword [0x4518dc]
sar edx, 0xd
mov ebx, dword [0x4518ec]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xf1bde717
imul dword [0x4518e8]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, ebx
lea ecx, [eax + esi - 0x5a6f]
push 0
mov dword [0x4518dc], ecx
call fcn.0042519f
sub eax, dword [0x56397c]
add esp, 4
cmp eax, 0xa8c0
jl 0x404909
mov ecx, dword [0x4518e8]
mov esi, dword [0x4518d8]
mov edi, dword [0x4518f0]
imul esi, esi, 0xd4a0
mov eax, 0x9a5307c5
imul ecx
add edx, ecx
mov ecx, dword [0x4518e4]
sar edx, 0xf
imul ecx, ecx, 0x33af
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, edi
lea edx, [ecx + esi + 0xc49d]
push 0
mov dword [0x4518e0], edx
call fcn.0042519f
add esp, 4
xor esi, esi
mov dword [0x56397c], eax
mov dword [0x563ce0], esi
jmp 0x40490f
mov esi, dword [0x563ce0]
mov ecx, dword [0x4518e4]
mov eax, 0xa5820cf9
imul ecx
add edx, ecx
mov ecx, dword [0x4518f4]
sar edx, 0xe
imul ecx, ecx, 0x5a75
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, ecx
mov ecx, dword [0x4518e0]
mov eax, 0x7225d683
imul ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x563cdc]
add edi, 0x1f366
cmp esi, eax
mov dword [0x4518e4], edi
jge 0x404a53
cmp esi, dword [0x563cd8]
jge 0x404997
push 0
call fcn.0042519f
mov ecx, dword [0x563954]
mov esi, dword [0x563ce4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x4049d0
mov esi, dword [0x563ce0]
cmp esi, dword [0x563cdc]
jge 0x404a53
cmp esi, dword [0x563cd8]
jl 0x404a53
push 0
call fcn.0042519f
sub eax, dword [0x563ce4]
mov edx, dword [0x563958]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x404a53
mov ecx, dword [0x4518d8]
mov esi, dword [0x4518dc]
mov eax, dword [0x4518e0]
imul esi, esi, 0x5c10
imul eax, eax, 0x5a75
add esi, eax
mov edx, ecx
imul edx, edx, 0xbb8d
sub esi, edx
mov eax, 0x27a02fad
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x563ce0]
cdq
idiv dword [0x563cd8]
mov dword [0x4518e8], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x563ce8
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x404a30
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424991
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00424991
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.00424991
add esp, 0x3648
ret