Function at 0x410300
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00430550
mov eax, dword [0x45e540]
xor eax, esp
mov dword [esp + 0x3644], eax
push ebx
mov ebx, dword [0x45cbdc]
push ebp
push esi
mov esi, dword [0x45cbcc]
mov eax, esi
imul eax, eax, 0x5643ad
mov ebp, ebx
imul ebp, ebp, 0x63e546
add ebp, eax
push edi
mov edi, dword [0x45cbd4]
mov eax, 0x1b2eb4bf
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x1b2eb4bf
imul esi
sar edx, 0x14
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov ecx, dword [0x45cbe8]
mov eax, 0x7a2fd6e1
imul ecx, ecx, 0x53439e
imul esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
mov edi, dword [0x45cbc8]
sar edx, 0x16
imul edi, edi, 0x63e546
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbd0]
add ebp, ecx
add eax, ebp
mov dword [str._r_____r____], eax
mov esi, dword [0x45cbd8]
mov eax, 0x3e13b50f
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3e38df13
imul esi
imul esi, esi, 0x96af7c
sar edx, 0x14
add edi, edx
mov ebp, edx
mov eax, 0x1b2eb4bf
imul ebx
sar edx, 0x14
shr ebp, 0x1f
mov eax, edx
add ebp, edi
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe4]
add ebp, esi
sub ebp, eax
sub ebp, edx
mov eax, dword [esp + 0x365c]
test eax, eax
lea ecx, [ecx + ebp - 0x41d422]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45cbd0], ecx
push 0x2800
jne 0x41043a
lea edx, [esp + 0xe5c]
push edx
push 0x44ce89
push str.ConfigL4
jmp 0x41044c
lea eax, [esp + 0xe5c]
push eax
push 0x44ce89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45cbcc]
mov esi, dword [0x45cbd0]
mov edi, dword [0x45cbe0]
mov eax, 0x2900b7f9
imul ecx
sar edx, 0x14
lea ebx, [esi + ecx]
mov ecx, edx
imul ebx, ebx, 0x8616f6
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x41d422
mov eax, edi
imul eax, eax, 0x85c28b
sub ebx, ecx
mov ecx, dword [0x45cbe4]
add ebx, edx
add ebx, eax
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
add ebx, edx
mov ebp, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
shr ebp, 0x1f
sar edx, 0x16
add ebp, ebx
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
mov dword [0x45cbdc], eax
lea eax, [esp + 0xe54]
lea ebx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4104e0
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x4104f7
or eax, 0xffffffff
jmp 0x410d0c
mov ebx, dword [0x45cbc8]
imul edi, edi, 0x32d358
mov eax, 0x2900b7f9
imul ebx, ebx, 0x41d422
imul ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x3e38df13
imul esi
sub ebx, ecx
sar edx, 0x14
mov ecx, edx
add ebx, edx
mov eax, 0x5ef6c237
imul esi
shr ecx, 0x1f
add ecx, ebx
sub ecx, edi
sar edx, 0x15
add ecx, edx
mov edi, edx
mov eax, 0x3d3e7a09
imul esi
shr edi, 0x1f
sar edx, 0x15
add edi, ecx
mov eax, edx
lea ecx, [esp + 0xe54]
push ecx
add edi, edx
shr eax, 0x1f
lea edx, [esp + 0x18]
add eax, edi
push 0x190
push edx
mov dword [0x45cbc8], eax
call fcn.0040fbd0
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x410d07
and eax, reloc.WS2_32.dll_closesocket
jns 0x41058d
dec eax
or eax, 0xfffffffc
inc eax
jne 0x410d07
mov ecx, dword [0x45cbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
lea edi, [ebx + esi]
imul esi, esi, 0x640b17
imul edi, edi, 0x63e546
mov edx, ecx
imul edx, edx, 0x5643ad
add edi, edx
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
sar edx, 0x16
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
add eax, esi
mov edi, eax
mov eax, 0x4f7fd81
imul ecx
mov esi, dword [0x45cbe0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x55f4d8], eax
mov eax, dword [0x570708]
test eax, eax
lea edi, [edi + esi - 0x41d422]
mov dword [0x45cbd4], edi
jg 0x4107ef
mov esi, dword [0x45cbe8]
imul ecx, ecx, 0x41d422
imul edi, edi, 0x53439e
mov edx, dword [0x45cbd0]
imul ebx, ebx, 0x85c28b
lea ebp, [edx + esi]
mov edx, dword [0x45cbcc]
imul ebp, ebp, 0x41fb8b
mov eax, 0x3e13b50f
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x7a2fd6e1
imul esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sub ebp, ecx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sub ebp, edi
sar edx, 0x16
push 0x800
add ebp, ebx
mov ecx, edx
add ebp, edx
lea edx, [esp + 0x65c]
push edx
push 0x44ce89
shr ecx, 0x1f
push str.ConfigL1
add ecx, ebp
push str.GameType1
mov dword [0x45cbe0], ecx
call esi
lea eax, [esp + 0x654]
push eax
call fcn.00430512
mov edi, 3
add esp, 4
cmp eax, edi
mov ebx, 0x78
jge 0x4106c8
mov dword [0x570708], edi
jmp 0x4106f9
lea ecx, [esp + 0x654]
push ecx
call fcn.00430512
add esp, 4
cmp eax, ebx
jle 0x4106e4
mov dword [0x570708], ebx
jmp 0x4106f9
lea edx, [esp + 0x654]
push edx
call fcn.00430512
add esp, 4
mov dword [0x570708], eax
mov ecx, dword [0x45cbe8]
mov eax, dword [0x45cbd0]
mov edx, dword [0x45cbcc]
lea ebp, [eax + ecx]
mov eax, 0x3e13b50f
imul ebp, ebp, 0x41fb8b
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x41d422
sub ebp, eax
mov eax, dword [0x45cbd4]
sub ebp, edx
imul eax, eax, 0x53439e
mov edx, dword [0x45cbd8]
imul edx, edx, 0x85c28b
sub ebp, eax
add ebp, edx
mov eax, 0x7a2fd6e1
imul ecx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
sar edx, 0x16
lea ecx, [esp + 0x65c]
push ecx
mov eax, edx
push 0x44ce89
shr eax, 0x1f
add ebp, edx
push str.ConfigL2
add eax, ebp
push str.GameType1
mov dword [0x45cbe0], eax
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430512
add esp, 4
cmp eax, edi
jge 0x4107a6
mov dword [0x57070c], edi
jmp 0x4107d7
lea eax, [esp + 0x654]
push eax
call fcn.00430512
add esp, 4
cmp eax, ebx
jle 0x4107c2
mov dword [0x57070c], ebx
jmp 0x4107d7
lea ecx, [esp + 0x654]
push ecx
call fcn.00430512
add esp, 4
mov dword [0x57070c], eax
mov edi, dword [0x45cbd4]
mov ecx, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov esi, dword [0x45cbe0]
mov eax, 0xa3c4e0d7
imul edi
add edx, edi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x2900b7f9
imul edi
mov edi, dword [0x45cbe8]
sar edx, 0x14
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0x41d422
add ebp, edx
mov eax, esi
imul eax, eax, 0x5643ad
mov edx, edi
imul edx, edx, 0x53439e
add ebp, eax
sub ebp, edx
mov edx, dword [0x45cbcc]
mov eax, 0x4f7fd81
imul edx
sar edx, 0x11
mov eax, edx
add ebp, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esp + 0x10]
sub eax, edx
lea edx, [eax + ebp + 0x41fb8b]
mov eax, dword [0x55f4dc]
test eax, eax
mov dword [0x45cbcc], edx
jg 0x410a5b
mov eax, 0xa1093dc9
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov ecx, edi
imul ecx, ecx, 0x41d422
mov eax, 0x6262bd7d
imul edi
sub ebx, ecx
sar edx, 0x15
mov ecx, edx
add ebx, edx
mov eax, 0x4f7fd81
imul esi
imul esi, esi, 0x670b79
shr ecx, 0x1f
sar edx, 0x11
add ecx, ebx
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov ecx, dword [0x45cbc8]
imul ecx, ecx, 0x640b17
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea edx, [esp + 0x65c]
push edx
add eax, esi
push 0x44ce89
add eax, ecx
push str.ConfigL3
sub eax, ebp
push str.GameType1
mov dword [0x45cbd8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45cbd4]
mov ecx, dword [0x45cbc8]
lea esi, [ecx + eax]
mov ecx, dword [str._r_____r____]
imul esi, esi, 0x670b79
mov eax, 0x3e13b50f
imul ecx
imul ecx, ecx, 0x640b17
sar edx, 0x14
add esi, edx
mov edi, edx
mov edx, dword [0x45cbe4]
mov eax, 0x1b2eb4bf
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45cbd8]
sub edi, eax
mov eax, 0x7a2fd6e1
imul esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
lea ecx, [esp + 0x654]
push ecx
mov dword [0x45cbe4], edi
call fcn.00430512
mov ecx, dword [0x55f4d8]
add esp, 4
cmp eax, ecx
jge 0x4109ac
mov dword [0x55f4dc], ecx
jmp 0x410a49
lea edx, [esp + 0x654]
push edx
call fcn.00430512
add esp, 4
cmp eax, 0x64
jle 0x410a34
mov ecx, dword [0x45cbdc]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
lea edi, [ebx + esi]
imul esi, esi, 0x640b17
imul edi, edi, 0x63e546
mov eax, ecx
imul eax, eax, 0x5643ad
add edi, eax
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
sar edx, 0x16
add edi, edx
mov ebp, edx
mov eax, 0x4f7fd81
imul ecx
sar edx, 0x11
shr ebp, 0x1f
mov eax, edx
shr eax, 0x1f
add ebp, edi
add eax, edx
mov edx, dword [0x45cbe0]
add ebp, esi
sub ebp, eax
lea eax, [edx + ebp - 0x41d422]
mov dword [0x45cbd4], eax
mov dword [0x55f4dc], 0x64
jmp 0x410a55
lea ecx, [esp + 0x654]
push ecx
call fcn.00430512
add esp, 4
mov dword [0x55f4dc], eax
mov ecx, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov edi, dword [0x45cbe8]
mov edx, dword [0x45cbd0]
imul edi, edi, 0x53439e
mov esi, dword [0x45cbc8]
mov eax, 0x3e13b50f
imul esi, esi, 0x63e546
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3e38df13
imul ebx
imul ebx, ebx, 0x96af7c
sar edx, 0x14
mov ebp, edx
add esi, edx
mov eax, 0x1b2eb4bf
imul ecx
mov eax, dword [0x45cbe4]
shr ebp, 0x1f
add ebp, esi
sar edx, 0x14
add ebp, edi
mov ecx, edx
shr ecx, 0x1f
add ebp, ebx
add ecx, edx
sub ebp, ecx
sub ebp, eax
sub ebp, 0x41d422
push 0
mov dword [0x45cbd0], ebp
call fcn.00430517
sub eax, dword [0x570730]
add esp, 4
cmp eax, 0xa8c0
jl 0x410b64
mov esi, dword [0x45cbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45cbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x640b17
mov eax, esi
imul edi, edi, 0x63e546
imul eax, eax, 0x5643ad
add edi, eax
mov eax, 0xa3c4e0d7
imul esi
add edx, esi
sar edx, 0x16
mov ebx, edx
add edi, edx
mov eax, 0x4f7fd81
imul esi
shr ebx, 0x1f
sar edx, 0x11
add ebx, edi
add ebx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0x41d422]
push 0
mov dword [0x45cbd4], eax
call fcn.00430517
add esp, 4
xor esi, esi
mov dword [0x570730], eax
mov dword [0x55f4e0], esi
jmp 0x410b6a
mov esi, dword [0x55f4e0]
mov ecx, dword [0x45cbe8]
mov eax, 0xa1093dc9
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov edi, ecx
imul edi, edi, 0x41d422
mov eax, 0x6262bd7d
imul ecx
mov ecx, dword [0x45cbe0]
sub ebx, edi
sar edx, 0x15
add ebx, edx
mov edi, edx
mov eax, 0x4f7fd81
imul ecx
imul ecx, ecx, 0x670b79
sar edx, 0x11
shr edi, 0x1f
add edi, ebx
mov ebx, edx
shr ebx, 0x1f
add edi, edx
add ebx, edi
add ebx, ecx
mov ecx, dword [0x45cbc8]
imul ecx, ecx, 0x640b17
add ebx, ecx
mov ecx, dword [0x45cbd4]
mov eax, 0xa3c4e0d7
imul ecx
add edx, ecx
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
cmp esi, dword [0x55f4dc]
mov dword [0x45cbd8], ebx
jge 0x410d00
cmp esi, dword [0x55f4d8]
jge 0x410c29
push 0
call fcn.00430517
mov ecx, dword [0x570708]
mov esi, dword [0x55f4e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410c62
mov esi, dword [0x55f4e0]
cmp esi, dword [0x55f4dc]
jge 0x410d00
cmp esi, dword [0x55f4d8]
jl 0x410d00
push 0
call fcn.00430517
sub eax, dword [0x55f4e4]
mov edx, dword [0x57070c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x410d00
mov ecx, dword [0x45cbcc]
mov eax, dword [0x45cbd0]
lea esi, [eax + ecx]
mov eax, 0x2900b7f9
imul esi, esi, 0x8616f6
imul ecx
mov eax, dword [0x45cbe0]
sar edx, 0x14
imul eax, eax, 0x85c28b
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbdc]
imul edx, edx, 0x41d422
sub esi, ecx
mov ecx, dword [0x45cbe4]
add esi, edx
add esi, eax
mov eax, 0x1b2eb4bf
imul ecx
sar edx, 0x14
add esi, edx
mov edi, edx
mov eax, 0xa3c4e0d7
imul ecx
mov eax, dword [0x55f4e0]
add edx, ecx
sar edx, 0x16
shr edi, 0x1f
add edi, esi
add edi, edx
mov ecx, edx
cdq
idiv dword [0x55f4d8]
shr ecx, 0x1f
add ecx, edi
mov dword [0x45cbdc], ecx
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 0x410cf2
xor eax, eax
jmp 0x410d0c
mov eax, 9
jmp 0x410d0c
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042fd0d
add esp, 0x3648
ret