Function at 0x410df0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x364c
call fcn.004324f0
mov eax, dword [0x460640]
xor eax, esp
mov dword [esp + 0x3648], eax
push ebx
mov ecx, dword [0x45ebcc]
push ebp
push esi
push edi
mov edi, dword [0x45ebd8]
mov eax, 0x7a5789fb
imul edi
sar edx, 0x16
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x7a5789fb
imul ecx
mov eax, dword [0x45ebdc]
imul eax, eax, 0xcdd745
mov ecx, dword [0x45ebd4]
sar edx, 0x16
add esi, edx
mov ebx, edx
mov ebp, dword [0x45ebe0]
shr ebx, 0x1f
add ebx, esi
add ebx, eax
mov eax, 0x312cd50d
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov esi, dword [0x45ebe8]
mov edx, ebp
imul edx, edx, 0x533e66
sub ebx, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
add ebx, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, ebx
mov ebx, dword [0x45ebd0]
mov eax, 0x7a5789fb
imul esi
imul esi, esi, 0x450d9b
mov dword [0x45ebc4], ecx
imul ecx, ecx, 0xff7a148d
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xc83bcf21
imul ebx
add edx, ebx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x8c4682e9
imul edi
add edx, edi
sar edx, 0x16
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x45ebe4]
imul ecx, ecx, 0x88c9aa
add ecx, ebp
add ecx, eax
lea edx, [esi + ecx - 0x74cc7d]
mov dword [0x45ebd0], edx
mov eax, dword [esp + 0x3660]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x2800
jne 0x410f28
lea eax, [esp + 0xe60]
push eax
push 0x44ee89
push str.ConfigL4
jmp 0x410f3a
lea ecx, [esp + 0xe60]
push ecx
push 0x44ee89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x45ebd0]
mov eax, 0x7a5789fb
imul edi
mov eax, dword [0x45ebc4]
mov ecx, dword [0x45ebcc]
imul eax, eax, 0x74cc7d
sar edx, 0x16
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45ebc8]
imul edx, edx, 0x965d2c
add ebx, edx
add ebx, eax
mov esi, dword [0x45ebe4]
mov eax, 0xef8db9b
imul ecx
imul ecx, ecx, 0xa6969a
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xa16eca11
imul esi
add ebx, ecx
add edx, esi
sar edx, 0x16
mov ecx, edx
add ebx, edx
shr ecx, 0x1f
add ecx, ebx
lea eax, [esp + 0xe58]
mov dword [0x45ebdc], ecx
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410fc3
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x410fda
or eax, 0xffffffff
jmp 0x411870
mov eax, 0x6cf6585f
imul ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x8c4682e9
imul esi
add edx, esi
sar edx, 0x16
add ecx, edx
mov esi, edx
mov edx, dword [0x45ebd8]
imul edx, edx, 0x74cc7d
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x45ebe0]
add esi, edx
mov eax, 0xef8db9b
imul ecx
imul ecx, ecx, 0xe3db2
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0xc4d1d103
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
sub eax, ecx
lea ecx, [esp + 0xe58]
push ecx
lea edx, [esp + 0x1c]
push 0x190
push edx
mov dword [0x45ebc8], eax
call fcn.00410680
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x41186b
and eax, reloc.WS2_32.dll_closesocket
jns 0x41107c
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41186b
mov esi, dword [0x45ebdc]
mov ecx, dword [0x45ebc8]
mov ebx, dword [0x45ebc4]
mov eax, 0x7791c573
imul esi
sub edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov edi, ecx
imul edi, edi, 0x533e66
sub ebp, edi
mov edi, dword [0x45ebe8]
mov edx, ebx
imul edx, edx, 0x1119354
add ebp, edx
mov edx, dword [0x45ebe4]
mov eax, edi
imul eax, eax, 0x657dbd
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0xa16eca11
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
add edx, ebp
lea edx, [eax + edx + 0x74cc7d]
mov eax, dword [esp + 0x10]
mov dword [0x45ebd4], edx
cdq
mov ebp, 3
and edx, ebp
add eax, edx
sar eax, 2
mov dword [0x5615d8], eax
mov eax, dword [0x572808]
test eax, eax
jg 0x4112f5
mov esi, dword [0x45ebd0]
imul ecx, ecx, 0x450d9b
mov eax, dword [0x45ebd4]
mov ebx, esi
sub ebx, eax
mov eax, dword [0x45ebd8]
imul ebx, ebx, 0x51d30d
imul eax, eax, 0x965d2c
add ebx, eax
mov eax, 0xc83bcf21
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebcc]
imul edx, edx, 0x74cc7d
sub ebx, eax
sub ebx, edx
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0x312cd50d
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add ebx, edx
add eax, ebx
push 0x800
add eax, ecx
lea ecx, [esp + 0x660]
push ecx
push 0x44ee89
push str.ConfigL1
push str.GameType1
mov dword [0x45ebe0], eax
call esi
lea edx, [esp + 0x658]
push edx
call fcn.004324b2
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x4111cf
mov dword [0x572808], ebp
jmp 0x411200
lea eax, [esp + 0x658]
push eax
call fcn.004324b2
add esp, 4
cmp eax, edi
jle 0x4111eb
mov dword [0x572808], edi
jmp 0x411200
lea ecx, [esp + 0x658]
push ecx
call fcn.004324b2
add esp, 4
mov dword [0x572808], eax
mov ecx, dword [0x45ebd0]
mov edx, dword [0x45ebd4]
mov ebx, ecx
sub ebx, edx
mov edx, dword [0x45ebd8]
imul ebx, ebx, 0x51d30d
imul edx, edx, 0x965d2c
add ebx, edx
mov eax, 0xc83bcf21
imul ecx
add edx, ecx
mov ecx, dword [0x45ebcc]
sar edx, 0x16
imul ecx, ecx, 0x74cc7d
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, ecx
mov ecx, dword [0x45ebe8]
mov eax, 0x312cd50d
imul ecx
mov ecx, dword [0x45ebc8]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
imul ecx, ecx, 0x450d9b
sar edx, 0x14
push 0x800
mov eax, edx
add ebx, edx
lea edx, [esp + 0x660]
push edx
shr eax, 0x1f
push 0x44ee89
add eax, ebx
push str.ConfigL2
add eax, ecx
push str.GameType1
mov dword [0x45ebe0], eax
call esi
lea eax, [esp + 0x658]
push eax
call fcn.004324b2
add esp, 4
cmp eax, ebp
jge 0x4112b2
mov dword [0x57280c], ebp
jmp 0x4112e3
lea ecx, [esp + 0x658]
push ecx
call fcn.004324b2
add esp, 4
cmp eax, edi
jle 0x4112ce
mov dword [0x57280c], edi
jmp 0x4112e3
lea edx, [esp + 0x658]
push edx
call fcn.004324b2
add esp, 4
mov dword [0x57280c], eax
mov ebx, dword [0x45ebc4]
mov edi, dword [0x45ebe8]
mov ecx, dword [0x45ebc8]
mov eax, 0x7a5789fb
imul ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov esi, dword [0x45ebdc]
mov eax, 0x7a5789fb
imul dword [0x45ebd8]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xc83bcf21
imul esi
add edx, esi
mov esi, dword [0x45ebd4]
sar edx, 0x16
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov dword [esp + 0x10], eax
mov eax, 0x8c4682e9
imul esi
mov eax, dword [esp + 0x10]
add edx, esi
sar edx, 0x16
add eax, edx
mov ebp, edx
shr ebp, 0x1f
add ebp, eax
mov eax, 0x312cd50d
imul dword [0x45ebe0]
sar edx, 0x14
add ebp, edx
mov esi, edx
mov eax, 0xef8db9b
imul dword [0x45ebd0]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ebx
imul edx, edx, 0x450d9b
shr esi, 0x1f
add esi, ebp
sub esi, eax
mov eax, dword [0x5615dc]
add esi, edx
test eax, eax
mov dword [0x45ebcc], esi
jg 0x4115a8
mov eax, 0xc4d1d103
imul esi, esi, 0x781723
imul edi
add edx, edi
mov ebp, edi
mov edi, dword [0x45ebe0]
imul ebp, ebp, 0x74cc7d
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebp
mov ebp, eax
mov eax, 0x886e3a8d
imul edi
add edx, edi
sar edx, 0x16
mov edi, edx
add ebp, edx
mov eax, 0x76a21d75
imul ebx
shr edi, 0x1f
sar edx, 0x15
add edi, ebp
sub edi, esi
mov esi, edx
add edi, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
imul ecx, ecx, 0x657dbd
sar edx, 0x16
mov eax, edx
shr esi, 0x1f
shr eax, 0x1f
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add esi, edi
add eax, edx
sub esi, eax
push 0x800
add esi, ecx
lea ecx, [esp + 0x660]
push ecx
push 0x44ee89
push str.ConfigL3
push str.GameType1
mov dword [0x45ebd8], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45ebe4]
mov eax, 0x7a5789fb
imul ecx
mov ecx, dword [0x45ebc4]
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xc83bcf21
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edi, ecx
mov ecx, dword [0x45ebd0]
mov eax, 0x312cd50d
imul ecx
mov ecx, dword [0x45ebd4]
sar edx, 0x14
imul ecx, ecx, 0xf02e46
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebd8]
imul edx, edx, 0x657dbd
sub edi, esi
sub edi, eax
add edi, ecx
sub edi, edx
mov ecx, dword [0x45ebcc]
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add edi, edx
lea ecx, [esp + 0x658]
add eax, edi
push ecx
mov dword [0x45ebe4], eax
call fcn.004324b2
mov ecx, dword [0x5615d8]
add esp, 4
cmp eax, ecx
jge 0x4114f7
mov dword [0x5615dc], ecx
jmp 0x41159c
lea edx, [esp + 0x658]
push edx
call fcn.004324b2
add esp, 4
cmp eax, 0x64
jle 0x411587
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebc8]
mov ebx, dword [0x45ebc4]
imul esi, esi, 0x533e66
mov edi, dword [0x45ebe8]
mov eax, 0x7791c573
imul ecx
sub edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
sub ebp, esi
mov edx, ebx
imul edx, edx, 0x1119354
mov esi, edi
imul esi, esi, 0x657dbd
add ebp, edx
add esi, dword [0x45ebe4]
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, ebp
lea ecx, [eax + esi + 0x74cc7d]
mov dword [0x45ebd4], ecx
mov dword [0x5615dc], 0x64
jmp 0x4115a8
lea edx, [esp + 0x658]
push edx
call fcn.004324b2
add esp, 4
mov dword [0x5615dc], eax
mov ebx, dword [0x45ebc4]
mov edi, dword [0x45ebe8]
mov ecx, dword [0x45ebd0]
imul ebx, ebx, 0xff7a148d
mov eax, 0x7a5789fb
imul edi
imul edi, edi, 0x450d9b
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xc83bcf21
imul ecx
add edx, ecx
sar edx, 0x16
mov ebp, dword [0x45ebe0]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45ebd8]
mov eax, 0x8c4682e9
imul ecx
mov eax, dword [0x45ebe4]
add edx, ecx
imul eax, eax, 0x88c9aa
sar edx, 0x16
mov ecx, edx
add ebx, edx
shr ecx, 0x1f
add ecx, ebx
add eax, ebp
add eax, ecx
lea edx, [edi + eax - 0x74cc7d]
push 0
mov dword [0x45ebd0], edx
call fcn.004324b7
sub eax, dword [0x572830]
add esp, 4
cmp eax, 0xa8c0
jl 0x4116bf
mov ecx, dword [0x45ebdc]
mov esi, dword [0x45ebc8]
mov eax, 0x7791c573
imul esi, esi, 0x533e66
imul ecx
sub edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ebc4]
mov edi, eax
imul edx, edx, 0x1119354
mov eax, dword [0x45ebe4]
sub edi, esi
mov esi, dword [0x45ebe8]
imul esi, esi, 0x657dbd
add esi, eax
add edi, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, edi
lea ecx, [eax + esi + 0x74cc7d]
push 0
mov dword [0x45ebd4], ecx
call fcn.004324b7
add esp, 4
xor esi, esi
mov dword [0x572830], eax
mov dword [0x5615e0], esi
jmp 0x4116c5
mov esi, dword [0x5615e0]
mov ecx, dword [0x45ebe8]
mov eax, 0xc4d1d103
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, ecx
mov ecx, dword [0x45ebe0]
imul edi, edi, 0x74cc7d
mov eax, 0x886e3a8d
imul ecx
add edx, ecx
mov ecx, dword [0x45ebcc]
sub ebx, edi
imul ecx, ecx, 0x781723
sar edx, 0x16
add ebx, edx
mov edi, edx
shr edi, 0x1f
add edi, ebx
sub edi, ecx
mov ecx, dword [0x45ebc4]
mov eax, 0x76a21d75
imul ecx
mov ecx, dword [0x45ebc8]
sar edx, 0x15
add edi, edx
mov ebx, edx
mov eax, 0xa16eca11
imul ecx
add edx, ecx
imul ecx, ecx, 0x657dbd
sar edx, 0x16
shr ebx, 0x1f
mov eax, edx
shr eax, 0x1f
add ebx, edi
add eax, edx
sub ebx, eax
mov eax, dword [0x5615dc]
add ebx, ecx
cmp esi, eax
mov dword [0x45ebd8], ebx
jge 0x411864
cmp esi, dword [0x5615d8]
jge 0x41178f
push 0
call fcn.004324b7
mov ecx, dword [0x572808]
mov esi, dword [0x5615e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x4117c8
mov esi, dword [0x5615e0]
cmp esi, dword [0x5615dc]
jge 0x411864
cmp esi, dword [0x5615d8]
jl 0x411864
push 0
call fcn.004324b7
sub eax, dword [0x5615e4]
mov edx, dword [0x57280c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x411864
mov ecx, dword [0x45ebd0]
mov eax, 0x7a5789fb
imul ecx
mov eax, dword [0x45ebc8]
mov ecx, dword [0x45ebc4]
imul eax, eax, 0x965d2c
sar edx, 0x16
imul ecx, ecx, 0x74cc7d
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, eax
add esi, ecx
mov ecx, dword [0x45ebcc]
mov eax, 0xef8db9b
imul ecx
imul ecx, ecx, 0xa6969a
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov ecx, dword [0x45ebe4]
mov eax, 0xa16eca11
imul ecx
mov eax, dword [0x5615e0]
add edx, ecx
sar edx, 0x16
add esi, edx
mov ecx, edx
cdq
idiv dword [0x5615d8]
shr ecx, 0x1f
add ecx, esi
mov dword [0x45ebdc], ecx
mov ecx, 0x5615e8
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 0x411856
xor eax, eax
jmp 0x411870
mov eax, 9
jmp 0x411870
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3658]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00431cad
add esp, 0x364c
ret