Function at 0x4102f0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x364c
call fcn.00430240
mov eax, dword [0x45e640]
mov ecx, dword [0x45cccc]
mov dword [esp + 0x3648], eax
mov eax, 0x3b87af8d
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
push ebx
mov ebx, eax
push ebp
push esi
push edi
mov edi, dword [0x45ccd4]
mov eax, 0xe0e0bbb3
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov esi, dword [0x45cce8]
mov eax, 0x1f1f444d
imul esi, esi, 0x569052
imul ecx
imul ecx, ecx, 0x530e8f
sar edx, 0x14
sub ebp, ebx
add ebp, edx
mov ebx, edx
mov eax, 0x61fd3f09
imul edi
mov edi, dword [0x45ccdc]
sar edx, 0x15
mov eax, edx
shr ebx, 0x1f
add ebx, ebp
add ebx, edx
shr eax, 0x1f
add eax, ebx
mov edx, edi
imul edx, edx, 0x5184aa
add ecx, esi
add ecx, eax
add edx, ecx
mov ecx, dword [0x45ccd0]
mov dword [str._r_____r____], edx
mov eax, 0x26bae4e5
imul ecx
mov ecx, dword [0x45ccd8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xd0d507c9
imul ecx
add edx, ecx
imul ecx, ecx, 0x839c4a
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x1f1f444d
imul edi
sub ebp, ebx
add ebp, ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x5184aa
sub ebp, ecx
mov ecx, dword [0x45cce4]
add ebp, edx
sub ebp, ecx
lea eax, [esi + ebp - 0x273a49]
mov dword [0x45ccd0], eax
mov eax, dword [esp + 0x3660]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x2800
jne 0x41042c
lea ecx, [esp + 0xe60]
push ecx
push 0x44ce59
push str.ConfigL4
jmp 0x41043e
lea edx, [esp + 0xe60]
push edx
push 0x44ce59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebx, dword [0x45cccc]
mov ecx, dword [0x45ccd0]
mov eax, dword [0x45ccdc]
mov edi, dword [0x45cce4]
imul eax, eax, 0x273a49
lea esi, [ecx + ebx]
imul esi, esi, 0x44ce3d
add esi, eax
mov eax, 0x1f1f444d
imul edi
sar edx, 0x14
add esi, edx
mov ebp, edx
mov eax, 0x61fd3f09
imul edi
sar edx, 0x15
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x45cce0]
add ebp, edx
mov eax, edx
mov edx, esi
imul edx, edx, 0x6489e9
shr eax, 0x1f
add eax, ebp
add eax, edx
mov ebp, eax
mov eax, 0x647e2ce7
imul ebx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
lea eax, [esp + 0xe58]
mov dword [0x45ccdc], ebp
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4104d0
sub eax, ebx
mov dword [esp + 0x14], eax
jne 0x4104f9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3648]
call fcn.0042fa01
add esp, 0x364c
ret
mov edx, dword [0x45ccc8]
imul esi, esi, 0x11c215
imul edx, edx, 0x273a49
add esi, edx
mov eax, 0xd0d507c9
imul ecx
add edx, ecx
sar edx, 0x15
add esi, edx
mov ebx, edx
mov eax, 0xc5432eb
imul ecx
sar edx, 0x12
shr ebx, 0x1f
add ebx, esi
mov esi, edx
add ebx, edx
mov eax, 0xa2f64c79
imul ecx
add edx, ecx
sar edx, 0x16
shr esi, 0x1f
mov ecx, edx
add esi, ebx
add esi, edx
mov eax, 0x647e2ce7
imul edi
sar edx, 0x15
mov eax, edx
shr ecx, 0x1f
shr eax, 0x1f
add ecx, esi
add eax, edx
sub ecx, eax
mov dword [0x45ccc8], ecx
lea ecx, [esp + 0xe58]
push ecx
lea edx, [esp + 0x1c]
push 0x190
push edx
call fcn.0040fba0
mov ecx, eax
add esp, 0xc
cmp ecx, 4
jl 0x410d41
and eax, reloc.WS2_32.dll_closesocket
jns 0x410594
dec eax
or eax, 0xfffffffc
inc eax
jne 0x410d41
mov ebx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov edi, dword [0x45ccd8]
mov eax, 0x54a93351
imul ebx
sar edx, 0x13
lea ebp, [edi + esi]
imul ebp, ebp, 0x5184aa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x61fd3f09
imul ebx
sar edx, 0x15
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, esi
mov esi, dword [0x45cce0]
imul edx, edx, 0x5399dc
mov ebp, ebx
imul ebp, ebp, 0x530e8f
add edx, esi
add edx, eax
lea ebp, [edx + ebp - 0x273a49]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x55f5d8], eax
mov eax, dword [0x570808]
test eax, eax
mov dword [0x45ccd4], ebp
jg 0x4107f4
mov ecx, dword [0x45cce8]
imul ebx, ebx, 0x273a49
imul ebp, ebp, 0x569052
mov eax, dword [0x45ccd0]
imul edi, edi, 0x6489e9
mov edx, dword [0x45cccc]
lea esi, [eax + ecx]
mov eax, 0x26bae4e5
imul esi, esi, 0x34e0fb
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x3b87af8d
imul ecx
sar edx, 0x14
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov ecx, edx
shr ecx, 0x1f
add esi, edx
push 0x800
add ecx, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [esp + 0x660]
push edx
sub ecx, ebx
push 0x44ce59
sub ecx, ebp
push str.ConfigL1
add ecx, edi
push str.GameType1
mov dword [0x45cce0], ecx
call esi
lea eax, [esp + 0x658]
push eax
call fcn.00430202
mov edi, 3
add esp, 4
cmp eax, edi
mov ebx, 0x78
jge 0x4106cc
mov dword [0x570808], edi
jmp 0x4106fd
lea ecx, [esp + 0x658]
push ecx
call fcn.00430202
add esp, 4
cmp eax, ebx
jle 0x4106e8
mov dword [0x570808], ebx
jmp 0x4106fd
lea edx, [esp + 0x658]
push edx
call fcn.00430202
add esp, 4
mov dword [0x570808], eax
mov ecx, dword [0x45cce8]
mov eax, dword [0x45ccd0]
mov edx, dword [0x45cccc]
lea ebp, [eax + ecx]
mov eax, 0x26bae4e5
imul ebp, ebp, 0x34e0fb
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x3b87af8d
imul ecx
mov eax, dword [0x45ccd4]
sar edx, 0x14
imul eax, eax, 0x569052
mov ecx, edx
add ebp, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x273a49
shr ecx, 0x1f
add ecx, ebp
sub ecx, edx
mov edx, dword [0x45ccd8]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
imul edx, edx, 0x6489e9
push 0x800
sub ecx, eax
lea eax, [esp + 0x660]
push eax
push 0x44ce59
push str.ConfigL2
add ecx, edx
push str.GameType1
mov dword [0x45cce0], ecx
call esi
lea ecx, [esp + 0x658]
push ecx
call fcn.00430202
add esp, 4
cmp eax, edi
jge 0x4107ab
mov dword [0x57080c], edi
jmp 0x4107dc
lea edx, [esp + 0x658]
push edx
call fcn.00430202
add esp, 4
cmp eax, ebx
jle 0x4107c7
mov dword [0x57080c], ebx
jmp 0x4107dc
lea eax, [esp + 0x658]
push eax
call fcn.00430202
add esp, 4
mov dword [0x57080c], eax
mov ebp, dword [0x45ccd4]
mov ebx, dword [0x45ccdc]
mov edi, dword [0x45ccd8]
mov esi, dword [0x45cce0]
mov eax, 0x61fd3f09
imul ebp
sar edx, 0x15
mov ecx, dword [0x45cccc]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [0x45cce4]
imul eax, eax, 0x273a49
mov dword [esp + 0x10], eax
mov eax, 0x54a93351
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
mov ecx, dword [0x45cce8]
mov edx, ecx
imul edx, edx, 0x569052
sub eax, edx
mov edx, esi
imul edx, edx, 0x530e8f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x647e2ce7
imul ebp
mov ebp, dword [esp + 0x10]
sar edx, 0x15
mov eax, edx
add ebp, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esp + 0x14]
sub eax, edx
lea edx, [eax + ebp + 0x34e0fb]
mov eax, dword [0x55f5dc]
test eax, eax
mov dword [0x45cccc], edx
jg 0x410a6c
mov eax, 0x54a93351
imul esi
imul esi, esi, 0x1830cc
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
mov edi, ecx
imul edx, edx, 0x5399dc
imul edi, edi, 0x273a49
mov ebx, eax
sub ebx, edi
add ebx, esi
add ebx, edx
mov eax, 0xbd455a63
imul ecx
add edx, ecx
sar edx, 0x16
mov esi, edx
add ebx, edx
mov eax, 0xc5432eb
imul ecx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sar edx, 0x12
push 0x800
mov eax, edx
shr esi, 0x1f
lea ecx, [esp + 0x660]
push ecx
shr eax, 0x1f
add esi, ebx
add eax, edx
push 0x44ce59
sub esi, eax
push str.ConfigL3
sub esi, ebp
push str.GameType1
mov dword [0x45ccd8], esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [0x45ccd4]
mov eax, dword [0x45ccc8]
mov ecx, dword [str._r_____r____]
lea esi, [eax + edx]
mov eax, 0x26bae4e5
imul esi, esi, 0x1830cc
imul ecx
imul ecx, ecx, 0x5399dc
sar edx, 0x13
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45ccd8]
mov eax, 0x3b87af8d
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
sub edi, eax
mov eax, 0x1f1f444d
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x61fd3f09
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
lea ecx, [esp + 0x658]
push ecx
mov dword [0x45cce4], edi
call fcn.00430202
mov ecx, dword [0x55f5d8]
add esp, 4
cmp eax, ecx
jge 0x4109bf
mov dword [0x55f5dc], ecx
jmp 0x410a5a
lea edx, [esp + 0x658]
push edx
call fcn.00430202
add esp, 4
cmp eax, 0x64
jle 0x410a45
mov ebx, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov edi, dword [0x45ccd8]
mov eax, 0x54a93351
imul ebx
lea esi, [edi + ecx]
imul ecx, ecx, 0x5399dc
sar edx, 0x13
imul esi, esi, 0x5184aa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, dword [0x45cce0]
sub esi, eax
mov eax, 0x61fd3f09
imul ebx
sar edx, 0x15
add esi, edx
mov eax, edx
mov edx, ebx
imul edx, edx, 0x530e8f
shr eax, 0x1f
add eax, esi
add ecx, ebp
add ecx, eax
lea eax, [edx + ecx - 0x273a49]
mov dword [0x45ccd4], eax
mov dword [0x55f5dc], 0x64
jmp 0x410a66
lea ecx, [esp + 0x658]
push ecx
call fcn.00430202
add esp, 4
mov dword [0x55f5dc], eax
mov ebx, dword [0x45ccdc]
mov edi, dword [0x45ccd8]
mov ecx, dword [0x45cce8]
mov edx, dword [0x45ccd0]
imul ecx, ecx, 0x569052
mov eax, 0x26bae4e5
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xd0d507c9
imul edi
add edx, edi
imul edi, edi, 0x839c4a
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x1f1f444d
imul ebx
sar edx, 0x14
sub ebp, esi
mov eax, edx
add ebp, edi
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, dword [0x45cce4]
add ebp, ecx
mov ecx, dword [0x45ccc8]
imul ecx, ecx, 0x5184aa
add ebp, ecx
sub ebp, eax
sub ebp, 0x273a49
push 0
mov dword [0x45ccd0], ebp
call fcn.00430207
sub eax, dword [0x570830]
add esp, 4
cmp eax, 0xa8c0
jl 0x410b74
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
mov esi, dword [0x45ccdc]
lea edi, [edx + ecx]
imul ecx, ecx, 0x5399dc
mov eax, 0x54a93351
imul edi, edi, 0x5184aa
imul esi
mov ebx, dword [0x45cce0]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x61fd3f09
imul esi
imul esi, esi, 0x530e8f
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add edi, edx
add ecx, ebx
add eax, edi
add ecx, eax
lea ecx, [esi + ecx - 0x273a49]
push 0
mov dword [0x45ccd4], ecx
call fcn.00430207
add esp, 4
xor edi, edi
mov dword [0x570830], eax
mov dword [0x55f5e0], edi
jmp 0x410b7a
mov edi, dword [0x55f5e0]
mov esi, dword [0x45cce0]
mov ecx, dword [0x45cce8]
mov eax, 0x54a93351
imul esi
imul esi, esi, 0x1830cc
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
mov ebx, ecx
imul edx, edx, 0x5399dc
imul ebx, ebx, 0x273a49
mov ebp, eax
sub ebp, ebx
add ebp, esi
add ebp, edx
mov edx, dword [0x45ccd4]
mov eax, 0x61fd3f09
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0xbd455a63
imul ecx
add edx, ecx
sar edx, 0x16
add ebp, edx
mov esi, edx
mov eax, 0xc5432eb
imul ecx
mov eax, dword [0x55f5dc]
sar edx, 0x12
shr esi, 0x1f
mov ecx, edx
shr ecx, 0x1f
add esi, ebp
add ecx, edx
sub esi, ecx
cmp edi, eax
mov dword [0x45ccd8], esi
jge 0x410d25
cmp edi, dword [0x55f5d8]
jge 0x410c38
push 0
call fcn.00430207
sub eax, dword [0x55f5e4]
mov edx, dword [0x570808]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jge 0x410c73
mov edi, dword [0x55f5e0]
cmp edi, dword [0x55f5dc]
jge 0x410d25
cmp edi, dword [0x55f5d8]
jl 0x410d25
push 0
call fcn.00430207
mov ecx, dword [0x57080c]
mov esi, dword [0x55f5e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jl 0x410d25
mov ecx, dword [0x45cccc]
mov edx, dword [0x45ccd0]
mov eax, dword [0x45ccdc]
mov esi, dword [0x45cce4]
imul eax, eax, 0x273a49
lea edi, [edx + ecx]
imul edi, edi, 0x44ce3d
add edi, eax
mov eax, 0x1f1f444d
imul esi
sar edx, 0x14
add edi, edx
mov ebx, edx
mov eax, 0x61fd3f09
imul esi
sar edx, 0x15
mov esi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x6489e9
shr esi, 0x1f
add esi, ebx
add esi, edx
mov eax, 0x647e2ce7
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x55f5e0]
cdq
idiv dword [0x55f5d8]
mov ecx, 0x55f5e8
mov dword [0x45ccdc], 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 0x410d02
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3648]
call fcn.0042fa01
add esp, 0x364c
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3648]
call fcn.0042fa01
add esp, 0x364c
ret
mov ecx, dword [esp + 0x3658]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042fa01
add esp, 0x364c
ret