Function at 0x410670
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00430c20
mov eax, dword [0x45f540]
xor eax, esp
mov dword [esp + 0x3644], eax
push ebx
push ebp
push esi
mov esi, dword [0x45dbcc]
push edi
mov edi, dword [0x45dbd4]
mov eax, 0x4a4dc96f
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x4a4dc96f
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov edx, esi
imul edx, edx, 0x365
sub ebp, ebx
add ebp, edx
mov eax, 0xa33a575b
imul edi
add edx, edi
sar edx, 9
add ebp, edx
mov edi, edx
mov ecx, dword [0x45dbe8]
mov eax, 0xc152500d
imul ecx, ecx, 0x338
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbdc]
mov esi, dword [0x45dbd8]
shr edi, 0x1f
add edi, ebp
sub edi, eax
mov eax, edx
imul eax, eax, 0x221
add edi, ecx
add eax, edi
mov dword [str._r_____r____], eax
mov edi, dword [0x45dbd0]
mov eax, 0x4a4dc96f
imul edx
sar edx, 8
mov eax, edx
mov ebx, esi
imul ebx, ebx, 0x372
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xad602b59
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x221
sub ebx, eax
add ebx, edx
mov eax, 0xe070381d
imul esi
add edx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebx, edx
mov edx, dword [0x45dbe4]
add eax, ebx
sub eax, edx
lea ecx, [eax + ecx - 0x92]
mov eax, dword [esp + 0x365c]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45dbd0], ecx
push 0x2800
jne 0x4107b4
lea edx, [esp + 0xe5c]
push edx
push 0x44de89
push str.ConfigL4
jmp 0x4107c6
lea eax, [esp + 0xe5c]
push eax
push 0x44de89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x45dbcc]
mov esi, dword [0x45dbe4]
mov ecx, dword [0x45dbd0]
mov eax, 0x4a4dc96f
imul esi
lea ebx, [ecx + edi]
imul ebx, ebx, 0x2a6
sar edx, 8
add ebx, edx
mov ebp, edx
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
shr ebp, 0x1f
add ebp, ebx
mov ebx, edx
add ebp, edx
shr ebx, 0x1f
add ebx, ebp
mov ebp, dword [0x45dbe0]
mov edx, ebp
imul edx, edx, 0x175
add ebx, edx
mov eax, 0xf07fc3e1
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x92
sub ebx, eax
add ebx, edx
lea eax, [esp + 0xe54]
mov dword [0x45dbdc], ebx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410857
sub eax, edi
mov dword [esp + 0x10], eax
jne 0x41086e
or eax, 0xffffffff
jmp 0x41108f
mov eax, dword [0x45dbc8]
add ebp, eax
mov eax, 0x96d4b1f
imul ebp, ebp, 0x92
imul ecx
sar edx, 5
mov edi, edx
add ebp, edx
mov eax, 0xf07fc3e1
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
shr edi, 0x1f
add edi, ebp
sub edi, eax
mov eax, 0x57d990d1
imul ecx
sar edx, 7
mov esi, edx
add edi, edx
mov eax, 0xe070381d
imul ecx
add edx, ecx
shr esi, 0x1f
sar edx, 7
add esi, edi
mov ecx, edx
add esi, edx
lea edx, [esp + 0xe54]
push edx
shr ecx, 0x1f
lea eax, [esp + 0x18]
add ecx, esi
push 0x190
push eax
mov dword [0x45dbc8], ecx
call fcn.0040ff10
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x41108a
mov ecx, ebp
and ecx, reloc.WS2_32.dll_closesocket
jns 0x410905
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x41108a
mov esi, dword [0x45dbdc]
mov edi, dword [str._r_____r____]
mov ecx, dword [0x45dbd8]
lea ebx, [ecx + edi]
imul edi, edi, 0x323
imul ebx, ebx, 0x221
mov edx, esi
imul edx, edx, 0x365
add ebx, edx
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
add eax, edi
mov ebx, eax
mov eax, 0x5e6ea9af
imul esi
mov edi, dword [0x45dbe0]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x5604d8], eax
mov eax, dword [0x571708]
test eax, eax
lea ebx, [ebx + edi - 0x92]
mov dword [0x45dbd4], ebx
jg 0x410b6e
mov edi, dword [0x45dbe8]
imul ebx, ebx, 0x338
imul ecx, ecx, 0x175
mov edx, dword [0x45dbd0]
imul esi, esi, 0x92
lea ebp, [edx + edi]
imul ebp, ebp, 0x2f4
sub ebp, ebx
mov ebx, dword [0x45dbcc]
mov eax, 0xad602b59
imul ebx
add edx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xc152500d
imul edi
add edx, edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 9
mov eax, edx
shr eax, 0x1f
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add ebp, edx
add eax, ebp
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44de89
push str.ConfigL1
sub eax, esi
push str.GameType1
mov dword [0x45dbe0], eax
call edi
lea edx, [esp + 0x654]
push edx
call fcn.00430be2
mov ebx, 3
add esp, 4
cmp eax, ebx
jge 0x410a3e
mov dword [0x571708], ebx
jmp 0x410a74
lea eax, [esp + 0x654]
push eax
call fcn.00430be2
add esp, 4
cmp eax, 0x78
jle 0x410a5f
mov dword [0x571708], 0x78
jmp 0x410a74
lea ecx, [esp + 0x654]
push ecx
call fcn.00430be2
add esp, 4
mov dword [0x571708], eax
mov ecx, dword [0x45dbe8]
mov edx, dword [0x45dbd0]
mov eax, dword [0x45dbd4]
mov esi, dword [0x45dbcc]
imul eax, eax, 0x338
lea ebp, [edx + ecx]
imul ebp, ebp, 0x2f4
sub ebp, eax
mov eax, 0xad602b59
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xc152500d
imul ecx
mov eax, dword [0x45dbdc]
add edx, ecx
imul eax, eax, 0x92
sar edx, 9
mov ecx, edx
add ebp, edx
mov edx, dword [0x45dbd8]
imul edx, edx, 0x175
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sub ecx, eax
push 0x800
mov dword [0x45dbe0], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44de89
push str.ConfigL2
push str.GameType1
call edi
lea edx, [esp + 0x654]
push edx
call fcn.00430be2
add esp, 4
cmp eax, ebx
jge 0x410b26
mov dword [0x57170c], ebx
jmp 0x410b5c
lea eax, [esp + 0x654]
push eax
call fcn.00430be2
add esp, 4
cmp eax, 0x78
jle 0x410b47
mov dword [0x57170c], 0x78
jmp 0x410b5c
lea ecx, [esp + 0x654]
push ecx
call fcn.00430be2
add esp, 4
mov dword [0x57170c], eax
mov ebx, dword [0x45dbd4]
mov esi, dword [0x45dbdc]
mov edi, dword [0x45dbe0]
mov ecx, dword [0x45dbe8]
mov eax, 0xa33a575b
imul ebx
add edx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov ebp, edi
imul ebp, ebp, 0x365
mov edx, ecx
imul edx, edx, 0x338
sub ebp, edx
mov eax, 0xf07fc3e1
imul ebx
add edx, ebx
sar edx, 9
add ebp, edx
mov ebx, edx
mov edx, dword [0x45dbcc]
mov eax, 0x5e6ea9af
imul edx
shr ebx, 0x1f
sar edx, 7
add ebx, ebp
add ebx, edx
mov eax, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x92
shr eax, 0x1f
add eax, ebx
mov ebx, dword [esp + 0x10]
add eax, edx
sub eax, dword [str._r_____r____]
lea eax, [eax + ebx + 0x2f4]
mov dword [0x45dbcc], eax
mov eax, dword [0x5604dc]
test eax, eax
jg 0x410dd5
mov esi, dword [0x45dbc8]
mov eax, 0x96d4b1f
imul esi, esi, 0x323
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x13e22cbd
imul ecx
imul ecx, ecx, 0x92
sar edx, 6
mov ebp, edx
add esi, edx
mov eax, 0x5e6ea9af
imul edi
imul edi, edi, 0x15b
sar edx, 7
shr ebp, 0x1f
mov eax, edx
shr eax, 0x1f
add ebp, esi
add ebp, edx
add eax, ebp
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add eax, edi
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44de89
push str.ConfigL3
sub eax, ebx
push str.GameType1
mov dword [0x45dbd8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [0x45dbd4]
mov eax, dword [0x45dbc8]
mov ecx, dword [0x45dbe4]
lea edi, [eax + edx]
mov eax, 0x4a4dc96f
imul edi, edi, 0x15b
imul ecx
sar edx, 8
mov ecx, edx
mov esi, dword [str._r_____r____]
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x45dbd8]
mov eax, 0xa33a575b
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x323
sub edi, eax
add edi, edx
mov eax, 0xc152500d
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xad602b59
imul esi
add edx, esi
sar edx, 9
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
lea edx, [esp + 0x654]
mov dword [0x45dbe4], ecx
push edx
call fcn.00430be2
mov ecx, dword [0x5604d8]
add esp, 4
cmp eax, ecx
jge 0x410d2c
mov dword [0x5604dc], ecx
jmp 0x410dc9
lea eax, [esp + 0x654]
push eax
call fcn.00430be2
add esp, 4
cmp eax, 0x64
jle 0x410db4
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45dbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x323
imul edi, edi, 0x221
mov eax, esi
imul eax, eax, 0x365
add edi, eax
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
add edi, edx
mov ebx, edx
mov eax, 0x5e6ea9af
imul esi
shr ebx, 0x1f
sar edx, 7
add ebx, edi
add ebx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0x92]
mov dword [0x45dbd4], eax
mov dword [0x5604dc], 0x64
jmp 0x410dcf
lea ecx, [esp + 0x654]
push ecx
call fcn.00430be2
add esp, 4
mov dword [0x5604dc], eax
mov esi, dword [0x45dbdc]
mov ecx, dword [0x45dbe8]
mov edi, dword [0x45dbd8]
imul ecx, ecx, 0x338
mov eax, 0x4a4dc96f
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, edi
imul ebx, ebx, 0x372
sub ebx, eax
add ebx, ecx
mov ecx, dword [0x45dbd0]
mov eax, 0xad602b59
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x221
mov ebp, dword [0x45dbe4]
sub ebx, ecx
add ebx, edx
mov eax, 0xe070381d
imul edi
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ebp
sub eax, 0x92
push 0
mov dword [0x45dbd0], eax
call fcn.00430be7
sub eax, dword [0x571730]
add esp, 4
cmp eax, 0xa8c0
jl 0x410ee9
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45dbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x323
mov eax, esi
imul edi, edi, 0x221
imul eax, eax, 0x365
add edi, eax
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
mov ebx, edx
add edi, edx
mov eax, 0x5e6ea9af
imul esi
shr ebx, 0x1f
sar edx, 7
add ebx, edi
add ebx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0x92]
push 0
mov dword [0x45dbd4], eax
call fcn.00430be7
add esp, 4
xor edi, edi
mov dword [0x571730], eax
mov dword [0x5604e0], edi
jmp 0x410eef
mov edi, dword [0x5604e0]
mov ecx, dword [0x45dbe8]
mov esi, dword [0x45dbc8]
mov eax, 0x96d4b1f
imul esi, esi, 0x323
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x13e22cbd
imul ecx
imul ecx, ecx, 0x92
sar edx, 6
add esi, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x45dbd4]
mov eax, 0xa33a575b
imul esi
add edx, esi
mov esi, dword [0x45dbe0]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x5e6ea9af
imul esi
imul esi, esi, 0x15b
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, esi
sub eax, ecx
mov dword [0x45dbd8], eax
cmp edi, dword [0x5604dc]
jge 0x411083
cmp edi, dword [0x5604d8]
jge 0x410fa9
push 0
call fcn.00430be7
mov ecx, dword [0x571708]
mov esi, dword [0x5604e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410fe2
mov edi, dword [0x5604e0]
cmp edi, dword [0x5604dc]
jge 0x411083
cmp edi, dword [0x5604d8]
jl 0x411083
push 0
call fcn.00430be7
sub eax, dword [0x5604e4]
mov edx, dword [0x57170c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x411083
mov ecx, dword [0x45dbcc]
mov eax, dword [0x45dbd0]
mov esi, dword [0x45dbe4]
lea edi, [eax + ecx]
mov eax, 0x4a4dc96f
imul edi, edi, 0x2a6
imul esi
sar edx, 8
add edi, edx
mov ebx, edx
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
mov esi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x175
shr esi, 0x1f
add esi, ebx
add esi, edx
mov eax, 0xf07fc3e1
imul ecx
add edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x5604e0]
cdq
idiv dword [0x5604d8]
mov ecx, dword [0x45dbdc]
imul ecx, ecx, 0x92
add esi, ecx
mov ecx, 0x5604e8
mov dword [0x45dbdc], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
sub ecx, eax
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x411075
xor eax, eax
jmp 0x41108f
mov eax, 9
jmp 0x41108f
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004303dd
add esp, 0x3648
ret