Function at 0x405290
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00427d10
mov eax, dword [0x455e64]
mov ecx, dword [0x454e08]
mov dword [esp + 0x3644], eax
mov eax, 0x9a96bd3d
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454dfc]
push ebp
push esi
mov esi, dword [0x454e14]
push edi
mov edi, edx
imul edi, edi, 0x1628
sub edi, eax
mov eax, esi
imul eax, eax, 0x10a2
add edi, eax
mov eax, dword [0x454df8]
imul eax, eax, 0x9f1
lea eax, [edi + eax + 0x20a4]
mov dword [str._r_____r_____n], eax
mov eax, 0x2d5481cb
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x5c6f35cd
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sub esi, edi
sub esi, ecx
mov ecx, dword [0x454e0c]
mov eax, 0x3de9fdd3
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [esp + 0x3658]
sub esi, 0x1b7b
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x454dfc], esi
push 0x2800
jne 0x405388
lea ecx, [esp + 0xe58]
push ecx
push 0x444dd9
push str.ConfigL4
jmp 0x40539a
lea edx, [esp + 0xe58]
push edx
push 0x444dd9
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x454e00]
mov eax, dword [0x454dfc]
imul ecx, ecx, 0x1b7c
mov edx, dword [0x454df8]
imul eax, eax, 0x1a7f
add ecx, eax
mov eax, edx
imul eax, eax, 0x1988
sub ecx, eax
mov eax, 0x3de9fdd3
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esp + 0xe50]
mov dword [0x454e08], ecx
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4053f0
sub eax, esi
mov dword [esp + 0xc], eax
jne 0x405418
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004274c1
add esp, 0x3648
ret
mov esi, dword [0x454df4]
mov eax, 0x950d22f9
imul esi
add edx, esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e0c]
imul edx, edx, 0x1a7f
mov esi, eax
sub esi, edx
mov eax, 0xa06e4bd5
imul ecx
add edx, ecx
mov ecx, dword [0x454e10]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3de9fdd3
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
push ebx
mov ebx, dword [str._r_____r_____n]
add ecx, edx
lea edx, [esp + 0xe54]
push edx
sub esi, ecx
lea eax, [esp + 0x18]
push 0x190
add esi, ebx
push eax
mov dword [0x454df4], esi
call fcn.00404d70
mov ecx, eax
add esp, 0xc
cmp ecx, 4
jl 0x405a96
mov edx, ecx
and edx, reloc.WS2_32.dll_closesocket
jns 0x4054b2
dec edx
or edx, 0xfffffffc
inc edx
jne 0x405a96
mov esi, dword [0x454e08]
mov ebx, dword [0x454e10]
mov edi, dword [0x454df8]
imul ebx, ebx, 0x1b7b
mov eax, 0xb40b40b5
imul esi
add edx, esi
mov esi, dword [0x454e04]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov edx, esi
imul edx, edx, 0x108a
mov eax, edi
imul eax, eax, 0x9f1
add ebx, edx
lea edx, [ebx + eax + 0x20a4]
mov dword [0x454e00], edx
mov eax, ecx
cdq
mov ebx, 3
and edx, ebx
add eax, edx
sar eax, 2
mov dword [0x5674f8], eax
mov eax, dword [0x567174]
test eax, eax
jg 0x405685
mov ecx, dword [str._r_____r_____n]
imul esi, esi, 0x8e6
mov eax, 0x2d5481cb
imul ecx, ecx, 0x1697
imul edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
push 0x800
sub ecx, eax
lea eax, [esp + 0x65c]
push eax
push 0x444dd9
push str.ConfigL1
lea edx, [ecx + esi - 0x1b7b]
push str.GameType1
mov dword [0x454e0c], edx
call ebp
lea ecx, [esp + 0x654]
push ecx
call fcn.00427cca
add esp, 4
cmp eax, ebx
mov esi, 0x78
jge 0x4055a1
mov dword [0x567174], ebx
jmp 0x4055d2
lea edx, [esp + 0x654]
push edx
call fcn.00427cca
add esp, 4
cmp eax, esi
jle 0x4055bd
mov dword [0x567174], esi
jmp 0x4055d2
lea eax, [esp + 0x654]
push eax
call fcn.00427cca
add esp, 4
mov dword [0x567174], eax
mov ecx, dword [0x454df8]
mov eax, 0x2d5481cb
imul ecx
mov eax, dword [0x454e04]
sar edx, 0xa
imul eax, eax, 0x8e6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0x1697
push str.C:WINDOWS_system32driversetc_service5.ini
sub edx, ecx
push 0x800
lea ecx, [edx + eax - 0x1b7b]
lea edx, [esp + 0x65c]
push edx
push 0x444dd9
push str.ConfigL2
push str.GameType1
mov dword [0x454e0c], ecx
call ebp
lea eax, [esp + 0x654]
push eax
call fcn.00427cca
add esp, 4
cmp eax, ebx
jge 0x40564e
mov dword [0x567178], ebx
jmp 0x40567f
lea ecx, [esp + 0x654]
push ecx
call fcn.00427cca
add esp, 4
cmp eax, esi
jle 0x40566a
mov dword [0x567178], esi
jmp 0x40567f
lea edx, [esp + 0x654]
push edx
call fcn.00427cca
add esp, 4
mov dword [0x567178], eax
mov esi, dword [0x454e04]
mov eax, 0x1f5f3801
imul dword [0x454dfc]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454e00]
mov ecx, edx
imul ecx, ecx, 0x16c0
sub eax, ecx
mov ecx, dword [0x454e14]
mov edi, ecx
imul edi, edi, 0x10a2
sub eax, edi
mov edi, dword [0x454e0c]
imul edi, edi, 0x9f1
lea eax, [eax + edi + 0x1697]
mov dword [0x454df8], eax
mov eax, dword [0x5674fc]
test eax, eax
jg 0x405845
mov eax, 0x1f5f3801
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x1f5f3801
imul ecx
imul ecx, ecx, 0x1b7b
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x7b214ec3
imul esi
push str.C:WINDOWS_system32driversetc_service5.ini
push 0x800
sar edx, 0xb
sub ebx, edi
sub ebx, ecx
lea eax, [esp + 0x65c]
push eax
mov ecx, edx
push 0x444dd9
shr ecx, 0x1f
add ebx, edx
push str.ConfigL3
lea edx, [ecx + ebx + 0x16c0]
push str.GameType1
mov dword [0x454e04], edx
call ebp
mov esi, dword [0x454e08]
mov ecx, dword [0x454df4]
imul esi, esi, 0x20a4
imul ecx, ecx, 0x16c0
mov ebp, dword [0x454df8]
add esi, ecx
mov ecx, dword [0x454e10]
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ebp
lea ecx, [esp + 0x654]
add esi, 0x625
push ecx
mov dword [0x454e10], esi
call fcn.00427cca
mov ecx, dword [0x5674f8]
add esp, 4
cmp eax, ecx
jge 0x4057bc
mov dword [0x5674fc], ecx
jmp 0x40583f
lea edx, [esp + 0x654]
push edx
call fcn.00427cca
add esp, 4
cmp eax, 0x64
jle 0x40582a
mov ecx, dword [0x454e08]
mov esi, dword [0x454e10]
mov eax, 0xb40b40b5
imul esi, esi, 0x1b7b
imul ecx
add edx, ecx
mov ecx, dword [0x454e04]
sar edx, 0xc
imul ecx, ecx, 0x108a
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x454df8]
sub esi, eax
add esi, ecx
imul edx, edx, 0x9f1
lea eax, [esi + edx + 0x20a4]
mov dword [0x454e00], eax
mov dword [0x5674fc], 0x64
jmp 0x40583f
lea ecx, [esp + 0x654]
push ecx
call fcn.00427cca
add esp, 4
mov dword [0x5674fc], eax
mov ecx, dword [0x454e14]
mov eax, 0x2d5481cb
imul dword [0x454dfc]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0x5c6f35cd
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x5c6f35cd
imul dword [0x454e08]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, esi
sub ecx, eax
mov eax, 0x3de9fdd3
imul dword [0x454e0c]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
sub ecx, 0x1b7b
push 0
mov dword [0x454dfc], ecx
call fcn.00427ccf
sub eax, dword [0x56719c]
add esp, 4
cmp eax, 0xa8c0
jl 0x405926
mov ecx, dword [0x454e08]
mov esi, dword [0x454e10]
mov eax, 0xb40b40b5
imul esi, esi, 0x1b7b
imul ecx
mov eax, dword [0x454df8]
add edx, ecx
imul eax, eax, 0x9f1
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x454e04]
imul edx, edx, 0x108a
sub esi, ecx
add esi, edx
lea ecx, [esi + eax + 0x20a4]
push 0
mov dword [0x454e00], ecx
call fcn.00427ccf
add esp, 4
xor esi, esi
mov dword [0x56719c], eax
mov dword [0x567500], esi
jmp 0x40592c
mov esi, dword [0x567500]
mov ecx, dword [0x454e00]
mov eax, 0x1f5f3801
imul ecx
mov ecx, dword [0x454e14]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x1f5f3801
imul ecx
imul ecx, ecx, 0x1b7b
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub ebx, edi
sub ebx, ecx
mov ecx, dword [0x454e04]
mov eax, 0x7b214ec3
imul ecx
mov eax, dword [0x5674fc]
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
cmp esi, eax
lea edx, [ecx + ebx + 0x16c0]
mov dword [0x454e04], edx
jge 0x405a7a
cmp esi, dword [0x5674f8]
jge 0x4059c6
push 0
call fcn.00427ccf
mov ecx, dword [0x567174]
mov esi, dword [0x567504]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x4059fb
mov esi, dword [0x567500]
cmp esi, dword [0x5674fc]
jge 0x405a7a
cmp esi, dword [0x5674f8]
jl 0x405a7a
push 0
call fcn.00427ccf
sub eax, dword [0x567504]
mov edx, dword [0x567178]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x405a7a
mov ecx, dword [0x454df8]
mov esi, dword [0x454e00]
mov eax, dword [0x454dfc]
imul esi, esi, 0x1b7c
imul eax, eax, 0x1a7f
add esi, eax
mov edx, ecx
imul edx, edx, 0x1988
sub esi, edx
mov eax, 0x3de9fdd3
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x567500]
cdq
idiv dword [0x5674f8]
mov dword [0x454e08], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x567508
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x405a57
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004274c1
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.004274c1
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.004274c1
add esp, 0x3648
ret