Function at 0x404320
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00425210
mov eax, dword [0x452944]
mov ecx, dword [0x4518e8]
mov dword [esp + 0x3644], eax
mov eax, 0x6614bc37
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebp
push esi
mov esi, dword [0x4518f4]
mov edx, esi
imul edx, edx, 0x926
sub edx, eax
push edi
sub edx, dword [0x4518d8]
mov edi, dword [0x4518dc]
lea eax, [edx + edi + 0x1503]
mov dword [str._r_____r_____n], eax
mov eax, 0x8b081419
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0xa5b2ed37
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, dword [0x4518ec]
lea ecx, [eax + esi - 0x866]
mov eax, dword [esp + 0x3658]
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x4518dc], ecx
push 0x2800
jne 0x4043e0
lea edx, [esp + 0xe58]
push edx
push 0x441e2d
push str.ConfigL4
jmp 0x4043f2
lea eax, [esp + 0xe58]
push eax
push 0x441e2d
push str.ConfigL4x
push str.GameType1
call ebp
mov edx, dword [0x4518d8]
mov ecx, dword [0x4518dc]
mov eax, edx
imul ecx, ecx, 0xa08
imul eax, eax, 0xfad
sub ecx, eax
mov eax, dword [0x4518e0]
imul eax, eax, 0x86d
add ecx, eax
mov eax, 0x6a79dd7b
imul edx
sar edx, 9
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 0x404445
sub eax, esi
mov dword [esp + 0xc], eax
jne 0x40446d
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004249c1
add esp, 0x3648
ret
mov esi, dword [0x4518ec]
mov eax, 0x4152dddf
imul esi, esi, 0xfffff5f8
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x4518f0]
mov eax, 0x6a79dd7b
imul ecx
mov ecx, dword [0x4518d4]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, dword [str._r_____r_____n]
sub esi, eax
lea eax, [esp + 0xe54]
push eax
add esi, ebx
lea edx, [ecx + esi - 0x86c]
lea ecx, [esp + 0x18]
push 0x190
push ecx
mov dword [0x4518d4], edx
call fcn.00403ea0
mov ecx, eax
add esp, 0xc
cmp ecx, 4
jl 0x404a76
mov edx, ecx
and edx, reloc.WS2_32.dll_closesocket
jns 0x4044f5
dec edx
or edx, 0xfffffffc
inc edx
jne 0x404a76
mov edi, dword [0x4518d8]
mov esi, dword [0x4518e4]
mov eax, 0x61dea4df
imul dword [0x4518e8]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, edi
imul ebx, ebx, 0x1538
sub ebx, eax
mov eax, dword [0x4518f0]
mov edx, esi
imul edx, edx, 0x4cf
add ebx, eax
lea eax, [edx + ebx + 0x14d5]
mov dword [0x4518e0], eax
mov eax, ecx
cdq
mov ebx, 3
and edx, ebx
add eax, edx
sar eax, 2
mov dword [0x563cd8], eax
mov eax, dword [0x563954]
test eax, eax
jg 0x4046bb
mov eax, 0x5a4d12c9
imul esi, esi, 0x687
imul edi
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0xb57
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
sub edx, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL1
lea eax, [edx + esi - 0x86c]
push str.GameType1
mov dword [0x4518ec], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.004251ca
add esp, 4
cmp eax, ebx
mov esi, 0x78
jge 0x4045d7
mov dword [0x563954], ebx
jmp 0x404608
lea eax, [esp + 0x654]
push eax
call fcn.004251ca
add esp, 4
cmp eax, esi
jle 0x4045f3
mov dword [0x563954], esi
jmp 0x404608
lea ecx, [esp + 0x654]
push ecx
call fcn.004251ca
add esp, 4
mov dword [0x563954], eax
mov ecx, dword [0x4518d8]
mov eax, 0x5a4d12c9
imul ecx
mov ecx, dword [str._r_____r_____n]
sar edx, 0xa
imul ecx, ecx, 0xb57
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518e4]
imul edx, edx, 0x687
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, eax
push 0x800
lea eax, [ecx + edx - 0x86c]
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.004251ca
add esp, 4
cmp eax, ebx
jge 0x404684
mov dword [0x563958], ebx
jmp 0x4046b5
lea eax, [esp + 0x654]
push eax
call fcn.004251ca
add esp, 4
cmp eax, esi
jle 0x4046a0
mov dword [0x563958], esi
jmp 0x4046b5
lea ecx, [esp + 0x654]
push ecx
call fcn.004251ca
add esp, 4
mov dword [0x563958], eax
mov esi, dword [0x4518e4]
mov ecx, dword [0x4518dc]
mov eax, 0x8c03f71d
imul ecx
add edx, ecx
mov ecx, dword [0x4518ec]
mov edi, dword [0x4518e0]
imul ecx, ecx, 0x1538
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
mov ecx, dword [0x4518f4]
mov edx, ecx
imul edx, edx, 0x926
sub eax, edx
sub eax, edi
add eax, 0x2044
mov dword [0x4518d8], eax
mov eax, dword [0x563cdc]
test eax, eax
jg 0x404856
mov eax, 0x8c03f71d
imul ecx, ecx, 0x86d
imul edi
add edx, edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x1bfba0af
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
sub eax, edi
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x441e2d
push str.ConfigL3
add eax, 0x322e
push str.GameType1
mov dword [0x4518e4], eax
call ebp
mov ecx, dword [0x4518f0]
mov eax, 0x8b081419
imul ecx
mov ebp, dword [0x4518d8]
add edx, ecx
mov ecx, dword [0x4518e8]
sar edx, 0xc
imul ecx, ecx, 0x1d41
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518d4]
imul edx, edx, 0x14ed
sub ecx, eax
add ecx, edx
sub ecx, ebp
lea eax, [esp + 0x654]
add ecx, 0x1339
push eax
mov dword [0x4518f0], ecx
call fcn.004251ca
mov ecx, dword [0x563cd8]
add esp, 4
cmp eax, ecx
jge 0x4047d9
mov dword [0x563cdc], ecx
jmp 0x404850
lea ecx, [esp + 0x654]
push ecx
call fcn.004251ca
add esp, 4
cmp eax, 0x64
jle 0x40483b
mov ecx, dword [0x4518d8]
mov eax, 0x61dea4df
imul ecx, ecx, 0x1538
imul dword [0x4518e8]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4518e4]
imul edx, edx, 0x4cf
sub ecx, eax
add ecx, dword [0x4518f0]
lea eax, [edx + ecx + 0x14d5]
mov dword [0x4518e0], eax
mov dword [0x563cdc], 0x64
jmp 0x404850
lea ecx, [esp + 0x654]
push ecx
call fcn.004251ca
add esp, 4
mov dword [0x563cdc], eax
mov ecx, dword [0x4518f4]
mov esi, dword [0x4518e8]
mov eax, 0x8b081419
imul esi
add edx, esi
sar edx, 0xc
mov ebx, dword [0x4518ec]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xa5b2ed37
imul dword [0x4518dc]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
sub eax, ebx
lea ecx, [eax + ecx - 0x866]
push 0
mov dword [0x4518dc], ecx
call fcn.004251cf
sub eax, dword [0x56397c]
add esp, 4
cmp eax, 0xa8c0
jl 0x404913
mov ecx, dword [0x4518e8]
mov esi, dword [0x4518d8]
mov edi, dword [0x4518f0]
imul esi, esi, 0x1538
mov eax, 0x61dea4df
imul ecx
mov ecx, dword [0x4518e4]
sar edx, 0xb
imul ecx, ecx, 0x4cf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, edi
lea edx, [ecx + esi + 0x14d5]
push 0
mov dword [0x4518e0], edx
call fcn.004251cf
add esp, 4
xor esi, esi
mov dword [0x56397c], eax
mov dword [0x563ce0], esi
jmp 0x404919
mov esi, dword [0x563ce0]
mov ecx, dword [0x4518e0]
mov eax, 0x8c03f71d
imul ecx
add edx, ecx
mov ecx, dword [0x4518e4]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x1bfba0af
imul ecx
mov eax, dword [0x563cdc]
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4518f4]
imul edx, edx, 0x86d
sub ecx, edi
sub ecx, edx
add ecx, 0x322e
cmp esi, eax
mov dword [0x4518e4], ecx
jge 0x404a5a
cmp esi, dword [0x563cd8]
jge 0x4049a1
push 0
call fcn.004251cf
mov ecx, dword [0x563954]
mov esi, dword [0x563ce4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x4049da
mov esi, dword [0x563ce0]
cmp esi, dword [0x563cdc]
jge 0x404a5a
cmp esi, dword [0x563cd8]
jl 0x404a5a
push 0
call fcn.004251cf
sub eax, dword [0x563ce4]
mov edx, dword [0x563958]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x404a5a
mov ecx, dword [0x4518d8]
mov esi, dword [0x4518dc]
mov edx, dword [0x4518e0]
imul esi, esi, 0xa08
imul edx, edx, 0x86d
mov eax, ecx
imul eax, eax, 0xfad
sub esi, eax
add esi, edx
mov eax, 0x6a79dd7b
imul ecx
sar edx, 9
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
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x404a37
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004249c1
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004249c1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.004249c1
add esp, 0x3648
ret