Function at 0x410670
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.004309b0
mov eax, dword [0x45e540]
xor eax, esp
mov dword [esp + 0x3644], eax
push ebx
push ebp
push esi
mov esi, dword [0x45cbcc]
push edi
mov edi, dword [0x45cbd4]
mov eax, 0x315a5211
imul edi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x315a5211
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
sub ebp, ebx
mov ebx, dword [0x45cbdc]
mov edx, ebx
imul edx, edx, 0x3575d9d
add ebp, edx
mov eax, 0x680c7cd1
imul edi
sar edx, 0x19
mov edi, edx
add ebp, edx
shr edi, 0x1f
mov eax, esi
imul eax, eax, 0x4e899b9
add edi, ebp
add edi, eax
mov ecx, dword [0x45cbe8]
mov eax, 0x83740ec5
imul ecx, ecx, 0x5335ef4
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov esi, dword [0x45cbd8]
mov eax, 0x315a5211
imul ebx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbc8]
add edi, ecx
imul edx, edx, 0x3575d9d
mov dword [str._r_____r____], edi
mov edi, esi
imul edi, edi, 0x52fe876
sub edi, eax
add edi, edx
mov edx, dword [0x45cbd0]
mov eax, 0x3b012ec7
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x206151bf
imul esi
sar edx, 0x15
mov eax, edx
add edi, edx
mov edx, dword [0x45cbe4]
shr eax, 0x1f
add eax, edi
sub eax, edx
lea ecx, [eax + ecx - 0xfcfe96]
mov eax, dword [esp + 0x365c]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45cbd0], ecx
push 0x2800
jne 0x4107af
lea edx, [esp + 0xe5c]
push edx
push 0x44ce85
push str.ConfigL4
jmp 0x4107c1
lea eax, [esp + 0xe5c]
push eax
push 0x44ce85
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x45cbcc]
mov ecx, dword [0x45cbe4]
mov esi, dword [0x45cbd0]
mov eax, 0x315a5211
imul ecx
lea ebx, [esi + edi]
imul ebx, ebx, 0x3e51956
sar edx, 0x18
add ebx, edx
mov ebp, edx
mov eax, 0x993c2c11
imul edi
add edx, edi
mov edi, dword [0x45cbe0]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, edi
imul edx, edx, 0x222559d
shr ebp, 0x1f
add ebp, ebx
sub ebp, eax
add ebp, edx
mov eax, 0x680c7cd1
imul ecx
sar edx, 0x19
add ebp, edx
mov eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0xfcfe96
shr eax, 0x1f
add eax, ebp
add eax, edx
mov dword [0x45cbdc], eax
lea eax, [esp + 0xe54]
lea ebx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410850
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x410867
or eax, 0xffffffff
jmp 0x41106d
mov eax, 0x993c2c11
imul edi, edi, 0x14e459e
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0x3bfa58a9
imul esi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x342745e1
imul esi
sub ebx, ecx
sar edx, 0x18
mov ecx, edx
add ebx, edi
add ebx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xfcfe96
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
mov eax, 0x206151bf
imul esi
sar edx, 0x15
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
push 0x190
push edx
mov dword [0x45cbc8], eax
call fcn.0040ff20
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x411068
and eax, reloc.WS2_32.dll_closesocket
jns 0x410903
dec eax
or eax, 0xfffffffc
inc eax
jne 0x411068
mov edi, dword [0x45cbdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
lea esi, [ebx + ecx]
imul ecx, ecx, 0x4ebb783
mov eax, 0x680c7cd1
imul esi, esi, 0x3575d9d
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
add eax, ecx
mov ecx, edi
imul ecx, ecx, 0x4e899b9
add eax, ecx
mov ecx, eax
mov eax, 0x74b32761
imul edi
mov esi, dword [0x45cbe0]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ebp
cdq
mov ebp, 3
and edx, ebp
add eax, edx
sar eax, 2
mov dword [0x55f4d8], eax
mov eax, dword [0x570708]
test eax, eax
lea ecx, [ecx + esi - 0xfcfe96]
mov dword [0x45cbd4], ecx
jg 0x410b69
mov esi, dword [0x45cbe8]
imul ecx, ecx, 0x5335ef4
imul ebx, ebx, 0x222559d
mov edx, dword [0x45cbd0]
imul edi, edi, 0xfcfe96
lea eax, [edx + esi]
imul eax, eax, 0x456b154
sub eax, ecx
mov ecx, dword [0x45cbcc]
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x3b012ec7
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x83740ec5
imul esi
add edx, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 0x19
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov eax, edx
shr eax, 0x1f
add ecx, edx
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44ce85
push str.ConfigL1
sub eax, edi
push str.GameType1
mov dword [0x45cbe0], eax
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430972
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x410a44
mov dword [0x570708], ebp
jmp 0x410a75
lea eax, [esp + 0x654]
push eax
call fcn.00430972
add esp, 4
cmp eax, edi
jle 0x410a60
mov dword [0x570708], edi
jmp 0x410a75
lea ecx, [esp + 0x654]
push ecx
call fcn.00430972
add esp, 4
mov dword [0x570708], eax
mov ecx, dword [0x45cbe8]
mov edx, dword [0x45cbd0]
mov eax, dword [0x45cbd4]
lea ebx, [edx + ecx]
imul eax, eax, 0x5335ef4
mov edx, dword [0x45cbd8]
imul ebx, ebx, 0x456b154
imul edx, edx, 0x222559d
sub ebx, eax
add ebx, edx
mov edx, dword [0x45cbcc]
mov eax, 0x3b012ec7
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x83740ec5
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
add ebx, edx
mov edx, dword [0x45cbdc]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
imul edx, edx, 0xfcfe96
push 0x800
lea eax, [esp + 0x65c]
push eax
shr ecx, 0x1f
push 0x44ce85
add ecx, ebx
push str.ConfigL2
sub ecx, edx
push str.GameType1
mov dword [0x45cbe0], ecx
call esi
lea ecx, [esp + 0x654]
push ecx
call fcn.00430972
add esp, 4
cmp eax, ebp
jge 0x410b26
mov dword [0x57070c], ebp
jmp 0x410b57
lea edx, [esp + 0x654]
push edx
call fcn.00430972
add esp, 4
cmp eax, edi
jle 0x410b42
mov dword [0x57070c], edi
jmp 0x410b57
lea eax, [esp + 0x654]
push eax
call fcn.00430972
add esp, 4
mov dword [0x57070c], eax
mov ecx, dword [0x45cbd4]
mov edi, dword [0x45cbdc]
mov esi, dword [0x45cbe0]
mov eax, 0x680c7cd1
imul ecx
sar edx, 0x19
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x993c2c11
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebp, ecx
mov ecx, dword [0x45cbe8]
mov edx, ecx
imul edx, edx, 0x5335ef4
mov eax, esi
imul eax, eax, 0x4e899b9
sub ebp, edx
mov edx, dword [0x45cbcc]
add ebp, eax
mov eax, 0x74b32761
imul edx
sar edx, 0x18
add ebp, edx
mov eax, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0xfcfe96
shr eax, 0x1f
add eax, ebp
add eax, edx
sub eax, dword [str._r_____r____]
lea eax, [eax + ebx + 0x456b154]
mov dword [0x45cbcc], eax
mov eax, dword [0x55f4dc]
test eax, eax
jg 0x410dc0
mov eax, 0xc4e5d61
imul ecx
sar edx, 0x16
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x4ebb783
add edi, edx
mov eax, 0x342745e1
imul ecx
imul ecx, ecx, 0xfcfe96
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x74b32761
imul esi
imul esi, esi, 0x23193db
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add eax, esi
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44ce85
push str.ConfigL3
sub eax, ebx
push str.GameType1
mov dword [0x45cbd8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [0x45cbd4]
mov eax, dword [0x45cbc8]
mov ecx, dword [0x45cbe4]
lea esi, [eax + edx]
mov eax, 0x315a5211
imul esi, esi, 0x23193db
imul ecx
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x3b012ec7
imul ecx
imul ecx, ecx, 0x4ebb783
sar edx, 0x18
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45cbd8]
mov eax, 0x680c7cd1
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x83740ec5
imul esi
add edx, esi
add edi, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x654]
sub edi, ecx
push edx
mov dword [0x45cbe4], edi
call fcn.00430972
mov ecx, dword [0x55f4d8]
add esp, 4
cmp eax, ecx
jge 0x410d19
mov dword [0x55f4dc], ecx
jmp 0x410db4
lea eax, [esp + 0x654]
push eax
call fcn.00430972
add esp, 4
cmp eax, 0x64
jle 0x410d9f
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
mov edi, dword [0x45cbdc]
lea esi, [edx + ecx]
imul ecx, ecx, 0x4ebb783
mov eax, 0x680c7cd1
imul esi, esi, 0x3575d9d
imul edi
sar edx, 0x19
mov eax, edi
imul eax, eax, 0x4e899b9
mov ebx, edx
add esi, edx
shr ebx, 0x1f
add ebx, esi
add ebx, ecx
add ebx, eax
mov eax, 0x74b32761
imul edi
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0xfcfe96]
mov dword [0x45cbd4], eax
mov dword [0x55f4dc], 0x64
jmp 0x410dba
lea ecx, [esp + 0x654]
push ecx
call fcn.00430972
add esp, 4
mov dword [0x55f4dc], eax
mov edi, dword [0x45cbdc]
mov ecx, dword [0x45cbe8]
mov esi, dword [0x45cbd8]
imul ecx, ecx, 0x5335ef4
mov eax, 0x315a5211
imul edi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x3575d9d
mov ebx, esi
imul ebx, ebx, 0x52fe876
sub ebx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [0x45cbd0]
mov eax, 0x3b012ec7
imul ecx
mov ebp, dword [0x45cbe4]
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x206151bf
imul esi
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
sub ecx, ebp
sub ecx, 0xfcfe96
push 0
mov dword [0x45cbd0], ecx
call fcn.00430977
sub eax, dword [0x570730]
add esp, 4
cmp eax, 0xa8c0
jl 0x410ecc
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
mov esi, dword [0x45cbdc]
lea edi, [edx + ecx]
imul ecx, ecx, 0x4ebb783
mov eax, 0x680c7cd1
imul edi, edi, 0x3575d9d
imul esi
sar edx, 0x19
mov eax, esi
imul eax, eax, 0x4e899b9
mov ebx, edx
add edi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, ecx
add ebx, eax
mov eax, 0x74b32761
imul esi
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0xfcfe96]
push 0
mov dword [0x45cbd4], eax
call fcn.00430977
add esp, 4
xor edi, edi
mov dword [0x570730], eax
mov dword [0x55f4e0], edi
jmp 0x410ed2
mov edi, dword [0x55f4e0]
mov ecx, dword [0x45cbe8]
mov eax, 0xc4e5d61
imul ecx
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x4ebb783
add ebx, edx
mov edx, dword [0x45cbd4]
mov eax, 0x680c7cd1
imul edx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov esi, dword [0x45cbe0]
mov eax, 0x342745e1
imul ecx
imul ecx, ecx, 0xfcfe96
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x74b32761
imul esi
imul esi, esi, 0x23193db
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, esi
sub eax, ecx
mov dword [0x45cbd8], eax
cmp edi, dword [0x55f4dc]
jge 0x411061
cmp edi, dword [0x55f4d8]
jge 0x410f8a
push 0
call fcn.00430977
mov ecx, dword [0x570708]
mov esi, dword [0x55f4e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410fc3
mov edi, dword [0x55f4e0]
cmp edi, dword [0x55f4dc]
jge 0x411061
cmp edi, dword [0x55f4d8]
jl 0x411061
push 0
call fcn.00430977
sub eax, dword [0x55f4e4]
mov edx, dword [0x57070c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x411061
mov ecx, dword [0x45cbcc]
mov eax, dword [0x45cbd0]
mov esi, dword [0x45cbe4]
lea edi, [eax + ecx]
mov eax, 0x315a5211
imul edi, edi, 0x3e51956
imul esi
sar edx, 0x18
add edi, edx
mov ebx, edx
mov eax, 0x993c2c11
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe0]
imul edx, edx, 0x222559d
shr ebx, 0x1f
add ebx, edi
sub ebx, ecx
mov ecx, dword [0x45cbdc]
add ebx, edx
imul ecx, ecx, 0xfcfe96
mov eax, 0x680c7cd1
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov dword [0x45cbdc], eax
mov eax, dword [0x55f4e0]
cdq
idiv dword [0x55f4d8]
mov ecx, 0x55f4e8
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 0x411053
xor eax, eax
jmp 0x41106d
mov eax, 9
jmp 0x41106d
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043016d
add esp, 0x3648
ret