Function at 0x404a00
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00425cd0
mov eax, dword [0x453ad4]
mov ecx, dword [0x452a78]
mov dword [esp + 0x3644], eax
mov eax, 0xfe03f81
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebp
mov ebp, dword [0x452a68]
push esi
mov esi, dword [0x452a6c]
push edi
mov edi, dword [0x452a84]
mov edx, edi
imul edx, edx, 0xe8
sub edx, eax
sub edx, ebp
lea eax, [edx + esi + 0x21b]
mov dword [str._r_____r_____n], eax
mov eax, 0xae4c415d
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x2053e08b
imul esi
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sub edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ecx
sub eax, dword [0x452a7c]
lea ecx, [eax + edi - 0xd2]
mov eax, dword [esp + 0x3658]
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x452a6c], ecx
push 0x2800
jne 0x404ac4
lea edx, [esp + 0xe58]
push edx
push 0x442e2d
push str.ConfigL4
jmp 0x404ad6
lea eax, [esp + 0xe58]
push eax
push 0x442e2d
push str.ConfigL4x
push str.GameType1
call ebp
mov edx, dword [0x452a68]
mov ecx, dword [0x452a70]
mov eax, edx
imul ecx, ecx, 0xd9
imul eax, eax, 0x193
sub ecx, eax
mov eax, dword [0x452a6c]
imul eax, eax, 0x102
add ecx, eax
mov eax, 0x43b3d5b
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
lea eax, [esp + 0xe50]
mov dword [0x452a78], ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404b28
sub eax, esi
mov dword [esp + 0xc], eax
jne 0x404b50
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00425481
add esp, 0x3648
ret
mov esi, dword [0x452a7c]
mov eax, 0xa29ecf17
imul esi, esi, 0xfffffefe
imul ecx
add edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x452a80]
mov eax, 0x43b3d5b
imul ecx
mov ecx, dword [0x452a64]
sar edx, 1
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 - 0xd8]
lea ecx, [esp + 0x18]
push 0x190
push ecx
mov dword [0x452a64], edx
call fcn.00404580
mov edi, eax
add esp, 0xc
cmp edi, 4
jl 0x405150
mov edx, edi
and edx, reloc.WS2_32.dll_closesocket
jns 0x404bd9
dec edx
or edx, 0xfffffffc
inc edx
jne 0x405150
mov esi, dword [0x452a68]
mov eax, 0x7a0a7ce7
imul dword [0x452a78]
mov ecx, dword [0x452a74]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, dword [0x452a80]
mov edx, esi
imul edx, edx, 0x21e
sub edx, eax
mov eax, ecx
imul eax, eax, 0x79
add edx, ebx
lea edx, [eax + edx + 0x215]
mov eax, edi
mov dword [0x452a70], edx
cdq
mov edi, 3
and edx, edi
add eax, edx
sar eax, 2
mov dword [0x564e78], eax
mov eax, dword [0x564af4]
test eax, eax
jg 0x404da3
mov eax, 0xdfac1f75
imul ecx, ecx, 0xab
imul esi
add edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r_____n]
imul edx, edx, 0x125
push str.C:WINDOWS_system32driversetc_service5.ini
sub ecx, eax
push 0x800
lea eax, [ecx + edx - 0xd8]
lea ecx, [esp + 0x65c]
push ecx
push 0x442e2d
push str.ConfigL1
push str.GameType1
mov dword [0x452a7c], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.00425c8a
add esp, 4
cmp eax, edi
mov esi, 0x78
jge 0x404cbc
mov dword [0x564af4], edi
jmp 0x404ced
lea eax, [esp + 0x654]
push eax
call fcn.00425c8a
add esp, 4
cmp eax, esi
jle 0x404cd8
mov dword [0x564af4], esi
jmp 0x404ced
lea ecx, [esp + 0x654]
push ecx
call fcn.00425c8a
add esp, 4
mov dword [0x564af4], eax
mov ecx, dword [0x452a68]
mov ebx, dword [0x452a74]
mov eax, 0xdfac1f75
imul ebx, ebx, 0xab
imul ecx
add edx, ecx
mov ecx, dword [str._r_____r_____n]
sar edx, 8
imul ecx, ecx, 0x125
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add eax, edx
push 0x800
sub ebx, eax
lea eax, [esp + 0x65c]
push eax
push 0x442e2d
push str.ConfigL2
lea edx, [ebx + ecx - 0xd8]
push str.GameType1
mov dword [0x452a7c], edx
call ebp
lea ecx, [esp + 0x654]
push ecx
call fcn.00425c8a
add esp, 4
cmp eax, edi
jge 0x404d6c
mov dword [0x564af8], edi
jmp 0x404d9d
lea edx, [esp + 0x654]
push edx
call fcn.00425c8a
add esp, 4
cmp eax, esi
jle 0x404d88
mov dword [0x564af8], esi
jmp 0x404d9d
lea eax, [esp + 0x654]
push eax
call fcn.00425c8a
add esp, 4
mov dword [0x564af8], eax
mov ecx, dword [0x452a74]
mov eax, 0x577f7cc1
imul dword [0x452a6c]
mov esi, dword [0x452a84]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a7c]
imul edx, edx, 0x21e
add eax, edx
mov edx, esi
imul edx, edx, 0xe8
sub eax, edx
mov edx, dword [0x452a70]
sub eax, edx
add eax, 0x33e
mov dword [0x452a68], eax
mov eax, dword [0x564e7c]
test eax, eax
jg 0x404f39
mov eax, 0x577f7cc1
imul esi, esi, 0xd9
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, edx
push 0x800
lea edx, [esp + 0x65c]
push edx
sub ecx, edi
push 0x442e2d
sub ecx, esi
push str.ConfigL3
add ecx, 0x506
push str.GameType1
mov dword [0x452a74], ecx
call ebp
mov ecx, dword [0x452a80]
mov eax, 0xae4c415d
imul ecx
mov ebp, dword [0x452a68]
add edx, ecx
mov ecx, dword [0x452a78]
sar edx, 9
imul ecx, ecx, 0x2ed
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a64]
imul edx, edx, 0x219
sub ecx, eax
add ecx, edx
sub ecx, ebp
lea eax, [esp + 0x654]
add ecx, 0x1eb
push eax
mov dword [0x452a80], ecx
call fcn.00425c8a
mov ecx, dword [0x564e78]
add esp, 4
cmp eax, ecx
jge 0x404ebf
mov dword [0x564e7c], ecx
jmp 0x404f33
lea ecx, [esp + 0x654]
push ecx
call fcn.00425c8a
add esp, 4
cmp eax, 0x64
jle 0x404f1e
mov ecx, dword [0x452a68]
mov eax, 0x7a0a7ce7
imul ecx, ecx, 0x21e
imul dword [0x452a78]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a74]
imul edx, edx, 0x79
sub ecx, eax
add ecx, dword [0x452a80]
lea eax, [edx + ecx + 0x215]
mov dword [0x452a70], eax
mov dword [0x564e7c], 0x64
jmp 0x404f33
lea ecx, [esp + 0x654]
push ecx
call fcn.00425c8a
add esp, 4
mov dword [0x564e7c], eax
mov esi, dword [0x452a84]
mov ecx, dword [0x452a78]
mov eax, 0xae4c415d
imul ecx
add edx, ecx
mov ecx, dword [0x452a6c]
sar edx, 9
mov eax, edx
mov ebx, dword [0x452a7c]
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x2053e08b
imul ecx
sub edx, ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, edi
sub ecx, ebx
lea edx, [ecx + esi - 0xd2]
push 0
mov dword [0x452a6c], edx
call fcn.00425c8f
sub eax, dword [0x564b1c]
add esp, 4
cmp eax, 0xa8c0
jl 0x404ff6
mov ecx, dword [0x452a78]
mov esi, dword [0x452a80]
mov eax, 0x7a0a7ce7
imul ecx
mov ecx, dword [0x452a68]
sar edx, 8
imul ecx, ecx, 0x21e
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x452a74]
imul edx, edx, 0x79
sub ecx, eax
add ecx, esi
lea eax, [edx + ecx + 0x215]
push 0
mov dword [0x452a70], eax
call fcn.00425c8f
add esp, 4
xor esi, esi
mov dword [0x564b1c], eax
mov dword [0x564e80], esi
jmp 0x404ffc
mov esi, dword [0x564e80]
mov ecx, dword [0x452a70]
mov eax, 0x577f7cc1
imul ecx
sar edx, 8
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x452a74]
mov eax, 0x8d3dcb09
imul ecx
add edx, ecx
mov ecx, dword [0x452a84]
sar edx, 7
imul ecx, ecx, 0xd9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, edi
sub eax, ecx
add eax, 0x506
mov dword [0x452a74], eax
cmp esi, dword [0x564e7c]
jge 0x405134
cmp esi, dword [0x564e78]
jge 0x40507f
push 0
call fcn.00425c8f
sub eax, dword [0x564e84]
mov edx, dword [0x564af4]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x4050b6
mov esi, dword [0x564e80]
cmp esi, dword [0x564e7c]
jge 0x405134
cmp esi, dword [0x564e78]
jl 0x405134
push 0
call fcn.00425c8f
mov ecx, dword [0x564af8]
mov esi, dword [0x564e84]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x405134
mov ecx, dword [0x452a68]
mov esi, dword [0x452a70]
mov eax, dword [0x452a6c]
imul esi, esi, 0xd9
mov edx, ecx
imul eax, eax, 0x102
imul edx, edx, 0x193
sub esi, edx
add esi, eax
mov eax, 0x43b3d5b
imul ecx
mov eax, dword [0x564e80]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
idiv dword [0x564e78]
sub esi, ecx
mov dword [0x452a78], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x564e88
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x405111
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00425481
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.00425481
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.00425481
add esp, 0x3648
ret