Function at 0x410560
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x364c
call fcn.00430a10
mov eax, dword [0x45f540]
xor eax, esp
mov dword [esp + 0x3648], eax
push ebx
push ebp
push esi
mov esi, dword [0x45dbcc]
mov eax, 0x61b9fbc5
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
push edi
mov edi, dword [0x45dbd4]
mov eax, 0x830d168d
imul edi
add edx, edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov edx, esi
imul edx, edx, 0x35f16dd
sub ebp, ebx
add ebp, edx
mov eax, 0x56f92285
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov ecx, dword [0x45dbe8]
mov edi, dword [0x45dbdc]
imul ecx, ecx, 0x3409f8e
mov eax, 0x56f92285
imul esi
sar edx, 0x19
mov esi, dword [0x45dbd8]
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
add eax, ebp
mov edx, edi
imul edx, edx, 0x3e67c56
add edx, eax
mov dword [str._r_____r____], edx
mov eax, 0x6386b3b9
imul esi
imul esi, esi, 0x5e30a0c
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbd0]
mov ebx, eax
mov eax, 0x31b1a317
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x56f92285
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3e67c56
add ebx, esi
sub ebx, eax
add ebx, edx
sub ebx, dword [0x45dbe4]
lea eax, [ebx + ecx - 0x2927ae2]
mov dword [0x45dbd0], eax
mov eax, dword [esp + 0x3660]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x2800
jne 0x41069c
lea ecx, [esp + 0xe60]
push ecx
push 0x44de89
push str.ConfigL4
jmp 0x4106ae
lea edx, [esp + 0xe60]
push edx
push 0x44de89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebx, dword [0x45dbcc]
mov esi, dword [0x45dbd0]
mov eax, dword [0x45dbdc]
mov ecx, dword [0x45dbe4]
imul eax, eax, 0x2927ae2
lea edi, [esi + ebx]
imul edi, edi, 0x53d3666
add edi, eax
mov eax, 0x830d168d
imul ecx
add edx, ecx
sar edx, 0x19
add edi, edx
mov ebp, edx
mov eax, 0x56f92285
imul ecx
sar edx, 0x19
shr ebp, 0x1f
add ebp, edi
mov edi, dword [0x45dbe0]
add ebp, edx
mov eax, edx
mov edx, edi
imul edx, edx, 0x539869b
shr eax, 0x1f
add eax, ebp
add eax, edx
mov ebp, eax
mov eax, 0x8345522b
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
lea eax, [esp + 0xe58]
mov dword [0x45dbdc], ebp
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410740
sub eax, ebx
mov dword [esp + 0x14], eax
jne 0x410757
or eax, 0xffffffff
jmp 0x410f7d
mov ebx, dword [0x45dbc8]
imul edi, edi, 0x1fc96d8
mov eax, 0x6386b3b9
imul ebx, ebx, 0x2927ae2
imul esi
sar edx, 0x18
mov ebp, edx
add ebx, edx
mov eax, 0x4bee9027
imul esi
sar edx, 0x18
shr ebp, 0x1f
add ebp, ebx
sub ebp, edi
mov edi, edx
add ebp, edx
mov eax, 0x187fbc47
imul esi
sar edx, 0x17
shr edi, 0x1f
mov esi, edx
add edi, ebp
add edi, edx
mov eax, 0x8345522b
imul ecx
add edx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0xe58]
shr esi, 0x1f
push edx
add esi, edi
lea eax, [esp + 0x1c]
sub esi, ecx
push 0x190
push eax
mov dword [0x45dbc8], esi
call fcn.0040fe20
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x410f78
mov ecx, ebp
and ecx, reloc.WS2_32.dll_closesocket
jns 0x4107f3
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x410f78
mov esi, dword [0x45dbdc]
mov edi, dword [str._r_____r____]
mov ecx, dword [0x45dbd8]
mov eax, 0x830d168d
imul esi
lea ebx, [ecx + edi]
imul edi, edi, 0x3e828c7
imul ebx, ebx, 0x3e67c56
add edx, esi
sar edx, 0x19
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
add eax, edi
mov ebx, eax
mov edi, dword [0x45dbe0]
mov eax, 0x3f96a7f5
imul esi
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x35f16dd
sub ebx, eax
add ebx, edi
lea ebx, [edx + ebx - 0x2927ae2]
mov eax, ebp
cdq
mov ebp, 3
and edx, ebp
add eax, edx
sar eax, 2
mov dword [0x5604d8], eax
mov eax, dword [0x571708]
test eax, eax
mov dword [0x45dbd4], ebx
jg 0x410a56
mov edi, dword [0x45dbe8]
imul esi, esi, 0x2927ae2
imul ebx, ebx, 0x3409f8e
mov eax, dword [0x45dbd0]
imul ecx, ecx, 0x539869b
mov edx, dword [0x45dbcc]
add eax, edi
imul eax, eax, 0x293659b
sub eax, esi
mov dword [esp + 0x10], eax
mov eax, 0x31b1a317
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov esi, edx
mov eax, 0x61b9fbc5
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sub eax, ebx
push 0x800
add eax, ecx
lea ecx, [esp + 0x660]
push ecx
push 0x44de89
push str.ConfigL1
push str.GameType1
mov dword [0x45dbe0], eax
call esi
lea edx, [esp + 0x658]
push edx
call fcn.004309d2
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x410934
mov dword [0x571708], ebp
jmp 0x410965
lea eax, [esp + 0x658]
push eax
call fcn.004309d2
add esp, 4
cmp eax, edi
jle 0x410950
mov dword [0x571708], edi
jmp 0x410965
lea ecx, [esp + 0x658]
push ecx
call fcn.004309d2
add esp, 4
mov dword [0x571708], eax
mov ecx, dword [0x45dbe8]
mov edx, dword [0x45dbd0]
mov eax, dword [0x45dbdc]
lea ebx, [edx + ecx]
imul eax, eax, 0x2927ae2
mov edx, dword [0x45dbcc]
imul ebx, ebx, 0x293659b
sub ebx, eax
mov eax, 0x31b1a317
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x61b9fbc5
imul ecx
mov eax, dword [0x45dbd8]
sar edx, 0x19
imul eax, eax, 0x539869b
mov ecx, edx
add ebx, edx
mov edx, dword [0x45dbd4]
imul edx, edx, 0x3409f8e
shr ecx, 0x1f
add ecx, ebx
sub ecx, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add ecx, eax
push 0x800
mov dword [0x45dbe0], ecx
lea ecx, [esp + 0x660]
push ecx
push 0x44de89
push str.ConfigL2
push str.GameType1
call esi
lea edx, [esp + 0x658]
push edx
call fcn.004309d2
add esp, 4
cmp eax, ebp
jge 0x410a13
mov dword [0x57170c], ebp
jmp 0x410a44
lea eax, [esp + 0x658]
push eax
call fcn.004309d2
add esp, 4
cmp eax, edi
jle 0x410a2f
mov dword [0x57170c], edi
jmp 0x410a44
lea ecx, [esp + 0x658]
push ecx
call fcn.004309d2
add esp, 4
mov dword [0x57170c], eax
mov ebx, dword [0x45dbd4]
mov esi, dword [0x45dbdc]
mov edi, dword [0x45dbe0]
mov ecx, dword [0x45dbcc]
mov ebp, dword [0x45dbe4]
mov eax, 0x830d168d
imul ebp, ebp, 0x2927ae2
imul ebx
add edx, ebx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x3f96a7f5
imul ecx
mov ecx, dword [0x45dbe8]
sar edx, 0x18
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, ecx
imul edx, edx, 0x3409f8e
sub eax, edx
mov edx, edi
imul edx, edx, 0x35f16dd
add eax, edx
mov ebp, eax
mov eax, 0x8345522b
imul ebx
add edx, ebx
mov ebx, dword [esp + 0x14]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add ebp, edx
mov edx, dword [str._r_____r____]
add eax, ebp
sub eax, edx
lea edx, [eax + ebx + 0x293659b]
mov eax, dword [0x5604dc]
test eax, eax
mov dword [0x45dbcc], edx
jg 0x410cc6
mov esi, dword [0x45dbc8]
mov eax, ecx
imul esi, esi, 0x3e828c7
imul eax, eax, 0x2927ae2
sub esi, eax
mov eax, 0x3f96a7f5
imul edi
imul edi, edi, 0x406a069
sar edx, 0x18
add esi, edx
mov ebp, edx
mov eax, 0x9d6ba841
imul ecx
add edx, ecx
shr ebp, 0x1f
add ebp, esi
sar edx, 0x19
mov esi, edx
add ebp, edi
add ebp, edx
mov eax, 0x4bee9027
imul ecx
sar edx, 0x18
mov ecx, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
shr esi, 0x1f
lea edx, [esp + 0x660]
push edx
add esi, ebp
push 0x44de89
sub esi, ecx
push str.ConfigL3
sub esi, ebx
push str.GameType1
mov dword [0x45dbd8], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
lea esi, [ecx + eax]
mov ecx, dword [str._r_____r____]
imul esi, esi, 0x406a069
mov eax, 0x31b1a317
imul ecx
imul ecx, ecx, 0x3e828c7
sar edx, 0x17
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45dbd8]
mov eax, 0x61b9fbc5
imul esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x830d168d
imul esi
add edx, esi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0x56f92285
imul ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x658]
sub edi, ecx
push edx
mov dword [0x45dbe4], edi
call fcn.004309d2
mov ecx, dword [0x5604d8]
add esp, 4
cmp eax, ecx
jge 0x410c18
mov dword [0x5604dc], ecx
jmp 0x410cba
lea eax, [esp + 0x658]
push eax
call fcn.004309d2
add esp, 4
cmp eax, 0x64
jle 0x410ca5
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov edi, dword [0x45dbd8]
lea ebx, [edi + ecx]
imul ecx, ecx, 0x3e828c7
mov eax, 0x830d168d
imul ebx, ebx, 0x3e67c56
imul esi
add edx, esi
sar edx, 0x19
add ebx, edx
mov ebp, edx
mov eax, 0x3f96a7f5
imul esi
mov eax, dword [0x45dbe0]
shr ebp, 0x1f
sar edx, 0x18
add ebp, ebx
add ebp, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, esi
imul edx, edx, 0x35f16dd
sub ebp, ecx
mov ecx, dword [0x45dbe8]
add ebp, eax
lea eax, [edx + ebp - 0x2927ae2]
mov dword [0x45dbd4], eax
mov dword [0x5604dc], 0x64
jmp 0x410ccc
lea ecx, [esp + 0x658]
push ecx
call fcn.004309d2
add esp, 4
mov dword [0x5604dc], eax
mov ecx, dword [0x45dbe8]
mov esi, dword [0x45dbdc]
mov edi, dword [0x45dbd8]
mov eax, 0x6386b3b9
imul ecx, ecx, 0x3409f8e
imul edi
imul edi, edi, 0x5e30a0c
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbd0]
mov ebx, eax
mov eax, 0x31b1a317
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x56f92285
imul esi
mov eax, dword [0x45dbe4]
add ebx, ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3e67c56
add ebx, edi
sub ebx, ecx
add ebx, edx
sub ebx, eax
sub ebx, 0x2927ae2
push 0
mov dword [0x45dbd0], ebx
call fcn.004309d7
sub eax, dword [0x571730]
add esp, 4
cmp eax, 0xa8c0
jl 0x410dd1
mov esi, dword [str._r_____r____]
mov eax, dword [0x45dbd8]
mov ecx, dword [0x45dbdc]
lea edi, [eax + esi]
imul esi, esi, 0x3e828c7
mov eax, 0x830d168d
imul edi, edi, 0x3e67c56
imul ecx
add edx, ecx
sar edx, 0x19
mov ebx, edx
add edi, edx
mov eax, 0x3f96a7f5
imul ecx
imul ecx, ecx, 0x35f16dd
sar edx, 0x18
shr ebx, 0x1f
mov eax, edx
add ebx, edi
shr eax, 0x1f
add ebx, esi
mov esi, dword [0x45dbe0]
add eax, edx
sub ebx, eax
add ebx, esi
lea ecx, [ecx + ebx - 0x2927ae2]
push 0
mov dword [0x45dbd4], ecx
call fcn.004309d7
add esp, 4
xor edi, edi
mov dword [0x571730], eax
mov dword [0x5604e0], edi
jmp 0x410dd7
mov edi, dword [0x5604e0]
mov ecx, dword [0x45dbe8]
mov ebx, dword [0x45dbc8]
mov esi, dword [0x45dbd4]
imul ebx, ebx, 0x3e828c7
mov edx, ecx
imul edx, edx, 0x2927ae2
sub ebx, edx
mov eax, 0x830d168d
imul esi
add edx, esi
mov esi, dword [0x45dbe0]
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x3f96a7f5
imul esi
imul esi, esi, 0x406a069
sar edx, 0x18
add ebx, edx
mov ebp, edx
mov eax, 0x9d6ba841
imul ecx
add edx, ecx
shr ebp, 0x1f
add ebp, ebx
add ebp, esi
sar edx, 0x19
add ebp, edx
mov esi, edx
mov eax, 0x4bee9027
imul ecx
mov eax, dword [0x5604dc]
sar edx, 0x18
shr esi, 0x1f
mov ecx, edx
shr ecx, 0x1f
add esi, ebp
add ecx, edx
sub esi, ecx
cmp edi, eax
mov dword [0x45dbd8], esi
jge 0x410f71
cmp edi, dword [0x5604d8]
jge 0x410e95
push 0
call fcn.004309d7
sub eax, dword [0x5604e4]
mov edx, dword [0x571708]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x410ed0
mov edi, dword [0x5604e0]
cmp edi, dword [0x5604dc]
jge 0x410f71
cmp edi, dword [0x5604d8]
jl 0x410f71
push 0
call fcn.004309d7
mov ecx, dword [0x57170c]
mov esi, dword [0x5604e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x410f71
mov ecx, dword [0x45dbcc]
mov edx, dword [0x45dbd0]
mov eax, dword [0x45dbdc]
mov esi, dword [0x45dbe4]
imul eax, eax, 0x2927ae2
lea edi, [edx + ecx]
imul edi, edi, 0x53d3666
add edi, eax
mov eax, 0x830d168d
imul esi
add edx, esi
sar edx, 0x19
add edi, edx
mov ebx, edx
mov eax, 0x56f92285
imul esi
sar edx, 0x19
mov esi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x539869b
shr esi, 0x1f
add esi, ebx
add esi, edx
mov eax, 0x8345522b
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x5604e0]
cdq
idiv dword [0x5604d8]
mov ecx, 0x5604e8
mov dword [0x45dbdc], esi
shl edx, 4
mov eax, dword [esp + edx + 0x18]
sub ecx, eax
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x410f63
xor eax, eax
jmp 0x410f7d
mov eax, 9
jmp 0x410f7d
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3658]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004301cd
add esp, 0x364c
ret