Function at 0x4105f0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.004306c0
mov eax, dword [0x45e640]
xor eax, esp
mov dword [esp + 0x3644], eax
push ebx
push ebp
push esi
mov esi, dword [0x45cccc]
mov eax, 0x4227fdad
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
push edi
mov edi, dword [0x45ccd4]
mov eax, 0xbb03c5cb
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov ecx, dword [0x45cce8]
mov eax, 0x44fc3a35
imul ecx, ecx, 0xa74
imul esi
imul esi, esi, 0x1865
sar edx, 0xb
sub ebp, ebx
add ebp, edx
mov ebx, edx
mov eax, 0x5c9900d1
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccdc]
shr ebx, 0x1f
add eax, ecx
add ebx, ebp
add ebx, esi
mov esi, edx
imul esi, esi, 0x1545
add eax, ebx
add esi, eax
mov eax, 0x44fc3a35
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
mov dword [str._r_____r____], esi
imul edx, edx, 0x1545
mov esi, dword [0x45ccd8]
mov edi, esi
imul edi, edi, 0x1db0
sub edi, eax
add edi, edx
mov eax, 0x6f9f33f1
imul esi
sar edx, 0xb
add edi, edx
mov esi, edx
mov edx, dword [0x45ccd0]
mov eax, 0x5df55b35
imul edx
sar edx, 0xa
mov eax, edx
shr esi, 0x1f
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
add esi, edi
sub esi, eax
sub esi, edx
lea ecx, [esi + ecx - 0x1259]
mov eax, dword [esp + 0x365c]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45ccd0], ecx
push 0x2800
jne 0x41072b
lea edx, [esp + 0xe5c]
push edx
push 0x44ce59
push str.ConfigL4
jmp 0x41073d
lea eax, [esp + 0xe5c]
push eax
push 0x44ce59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x45cccc]
mov ecx, dword [0x45cce4]
mov esi, dword [0x45ccd0]
mov eax, 0x44fc3a35
imul ecx
lea ebx, [esi + edi]
imul ebx, ebx, 0x1ef5
sar edx, 0xb
add ebx, edx
mov ebp, edx
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov ebx, edx
mov eax, 0xc09370e3
imul edi
add edx, edi
mov edi, dword [0x45cce0]
sar edx, 0xc
shr ebx, 0x1f
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccdc]
add ebx, ebp
imul edx, edx, 0x1259
sub ebx, eax
mov eax, edi
imul eax, eax, 0xade
add ebx, edx
add ebx, eax
lea eax, [esp + 0xe54]
mov dword [0x45ccdc], ebx
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4107d0
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x4107e7
or eax, 0xffffffff
jmp 0x410ffa
mov eax, 0x53f407b5
imul edi, edi, 0x1481
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0xc09370e3
imul ecx
add edx, ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x1259
sub ebx, ecx
sub ebx, edi
add ebx, edx
mov eax, 0x6f9f33f1
imul esi
sar edx, 0xb
mov ecx, edx
add ebx, edx
mov eax, 0x2f1d432d
imul esi
shr ecx, 0x1f
sar edx, 9
add ecx, ebx
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 [0x45ccc8], eax
call fcn.0040feb0
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x410ff5
and eax, reloc.WS2_32.dll_closesocket
jns 0x410881
dec eax
or eax, 0xfffffffc
inc eax
jne 0x410ff5
mov edi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45ccd8]
lea esi, [ebx + ecx]
imul ecx, ecx, 0x161e
imul esi, esi, 0x1545
mov edx, edi
imul edx, edx, 0x1865
add esi, edx
mov eax, 0x5c9900d1
imul edi
sar edx, 0xb
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
add eax, ecx
mov esi, eax
mov eax, 0x6614bc37
imul edi
mov ecx, dword [0x45cce0]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, ebp
cdq
mov ebp, 3
and edx, ebp
add eax, edx
sar eax, 2
mov dword [0x55f5d8], eax
mov eax, dword [0x570808]
test eax, eax
lea esi, [esi + ecx - 0x1259]
mov dword [0x45ccd4], esi
jg 0x410aef
mov ecx, dword [0x45cce8]
imul edi, edi, 0x1259
imul ebx, ebx, 0xade
mov edx, dword [0x45ccd0]
imul esi, esi, 0xa74
lea eax, [edx + ecx]
imul eax, eax, 0xae6
mov dword [esp + 0x10], eax
mov eax, 0x4227fdad
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xb
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x45cccc]
sub eax, edi
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, 0x5df55b35
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sub ecx, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x800
mov dword [0x45cce0], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44ce59
push str.ConfigL1
push str.GameType1
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430682
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x4109c9
mov dword [0x570808], ebp
jmp 0x4109fa
lea eax, [esp + 0x654]
push eax
call fcn.00430682
add esp, 4
cmp eax, edi
jle 0x4109e5
mov dword [0x570808], edi
jmp 0x4109fa
lea ecx, [esp + 0x654]
push ecx
call fcn.00430682
add esp, 4
mov dword [0x570808], eax
mov ecx, dword [0x45cce8]
mov edx, dword [0x45ccd0]
lea ebx, [edx + ecx]
mov eax, 0x4227fdad
imul ebx, ebx, 0xae6
imul ecx
mov ecx, dword [0x45ccdc]
sar edx, 0xb
imul ecx, ecx, 0x1259
add ebx, edx
mov eax, edx
mov edx, dword [0x45ccd8]
imul edx, edx, 0xade
shr eax, 0x1f
add eax, ebx
sub eax, ecx
mov ecx, dword [0x45cccc]
add eax, edx
mov ebx, eax
mov eax, 0x5df55b35
imul ecx
mov ecx, dword [0x45ccd4]
sar edx, 0xa
imul ecx, ecx, 0xa74
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
push 0x800
add eax, edx
lea edx, [esp + 0x65c]
push edx
push 0x44ce59
sub ebx, eax
push str.ConfigL2
sub ebx, ecx
push str.GameType1
mov dword [0x45cce0], ebx
call esi
lea eax, [esp + 0x654]
push eax
call fcn.00430682
add esp, 4
cmp eax, ebp
jge 0x410aac
mov dword [0x57080c], ebp
jmp 0x410add
lea ecx, [esp + 0x654]
push ecx
call fcn.00430682
add esp, 4
cmp eax, edi
jle 0x410ac8
mov dword [0x57080c], edi
jmp 0x410add
lea edx, [esp + 0x654]
push edx
call fcn.00430682
add esp, 4
mov dword [0x57080c], eax
mov esi, dword [0x45ccd4]
mov edi, dword [0x45ccdc]
mov ecx, dword [0x45cce0]
mov eax, 0x5c9900d1
imul esi
sar edx, 0xb
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0xc09370e3
imul esi
add edx, esi
mov esi, dword [0x45cce8]
mov ebp, ecx
imul ebp, ebp, 0x1865
sar edx, 0xc
add ebp, edx
mov eax, edx
mov edx, dword [0x45cce4]
imul edx, edx, 0x1259
shr eax, 0x1f
add eax, ebp
add eax, edx
mov edx, esi
imul edx, edx, 0xa74
sub eax, edx
mov edx, dword [0x45cccc]
mov ebp, eax
mov eax, 0x6614bc37
imul edx
sar edx, 0xa
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 + 0xae6]
mov eax, dword [0x55f5dc]
test eax, eax
mov dword [0x45cccc], edx
jg 0x410d4a
mov edi, dword [0x45ccc8]
mov eax, 0x53f407b5
imul edi, edi, 0x161e
imul esi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul edx, edx, 0x1259
sub edi, eax
sub edi, edx
mov eax, 0x6614bc37
imul ecx
imul ecx, ecx, 0xa08
sar edx, 0xa
mov ebp, edx
add edi, edx
mov eax, 0x61f60d03
imul esi
shr ebp, 0x1f
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add ebp, edi
push 0x800
add ebp, ecx
sar edx, 0xa
lea ecx, [esp + 0x65c]
push ecx
mov eax, edx
shr eax, 0x1f
add ebp, edx
push 0x44ce59
add eax, ebp
push str.ConfigL3
sub eax, ebx
push str.GameType1
mov dword [0x45ccd8], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [0x45ccd4]
mov eax, dword [0x45ccc8]
mov ecx, dword [0x45ccd8]
lea esi, [eax + edx]
mov eax, 0x4227fdad
imul esi, esi, 0xa08
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cce4]
sub esi, eax
mov eax, 0x44fc3a35
imul edx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [str._r_____r____]
mov edx, ecx
imul edx, edx, 0x161e
add esi, edx
mov eax, 0x5df55b35
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, edx
lea ecx, [esp + 0x654]
add eax, esi
push ecx
mov dword [0x45cce4], eax
call fcn.00430682
add esp, 4
mov ecx, dword [0x55f5d8]
cmp eax, ecx
jge 0x410ca3
mov dword [0x55f5dc], ecx
jmp 0x410d3e
lea edx, [esp + 0x654]
push edx
call fcn.00430682
add esp, 4
cmp eax, 0x64
jle 0x410d29
mov edi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov eax, dword [0x45ccd8]
lea esi, [eax + ecx]
imul ecx, ecx, 0x161e
imul esi, esi, 0x1545
mov edx, edi
imul edx, edx, 0x1865
add esi, edx
mov eax, 0x5c9900d1
imul edi
sar edx, 0xb
add esi, edx
mov ebx, edx
mov eax, 0x6614bc37
imul edi
sar edx, 0xa
shr ebx, 0x1f
mov eax, edx
add ebx, esi
shr eax, 0x1f
add ebx, ecx
mov ecx, dword [0x45cce0]
add eax, edx
sub ebx, eax
lea edx, [ebx + ecx - 0x1259]
mov dword [0x45ccd4], edx
mov dword [0x55f5dc], 0x64
jmp 0x410d44
lea eax, [esp + 0x654]
push eax
call fcn.00430682
add esp, 4
mov dword [0x55f5dc], eax
mov edi, dword [0x45ccdc]
mov esi, dword [0x45cce8]
mov ecx, dword [0x45ccd8]
imul esi, esi, 0xa74
mov eax, 0x44fc3a35
imul edi
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
mov ebx, ecx
imul edx, edx, 0x1545
imul ebx, ebx, 0x1db0
sub ebx, eax
add ebx, edx
mov eax, 0x6f9f33f1
imul ecx
mov ecx, dword [0x45ccd0]
mov ebp, dword [0x45cce4]
sar edx, 0xb
mov edi, edx
add ebx, edx
mov eax, 0x5df55b35
imul ecx
sar edx, 0xa
shr edi, 0x1f
mov eax, edx
add edi, ebx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, esi
sub edi, ebp
sub edi, 0x1259
push 0
mov dword [0x45ccd0], edi
call fcn.00430687
sub eax, dword [0x570830]
add esp, 4
cmp eax, 0xa8c0
jl 0x410e56
mov esi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x161e
mov eax, esi
imul edi, edi, 0x1545
imul eax, eax, 0x1865
add edi, eax
mov eax, 0x5c9900d1
imul esi
sar edx, 0xb
mov ebx, edx
add edi, edx
mov eax, 0x6614bc37
imul esi
shr ebx, 0x1f
sar edx, 0xa
add ebx, edi
add ebx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cce0]
sub ebx, ecx
lea eax, [ebx + edx - 0x1259]
push 0
mov dword [0x45ccd4], eax
call fcn.00430687
add esp, 4
xor edi, edi
mov dword [0x570830], eax
mov dword [0x55f5e0], edi
jmp 0x410e5c
mov edi, dword [0x55f5e0]
mov esi, dword [0x45cce8]
mov ebx, dword [0x45ccc8]
mov eax, 0x53f407b5
imul ebx, ebx, 0x161e
imul esi
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x45ccd4]
mov eax, 0x5c9900d1
imul ecx
sar edx, 0xb
mov ecx, esi
imul ecx, ecx, 0x1259
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, ecx
mov ecx, dword [0x45cce0]
mov eax, 0x6614bc37
imul ecx
imul ecx, ecx, 0xa08
sar edx, 0xa
add ebx, edx
mov ebp, edx
mov eax, 0x61f60d03
imul esi
shr ebp, 0x1f
add ebp, ebx
sar edx, 0xa
add ebp, ecx
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
mov dword [0x45ccd8], eax
cmp edi, dword [0x55f5dc]
jge 0x410fee
cmp edi, dword [0x55f5d8]
jge 0x410f16
push 0
call fcn.00430687
mov ecx, dword [0x570808]
mov esi, dword [0x55f5e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410f4f
mov edi, dword [0x55f5e0]
cmp edi, dword [0x55f5dc]
jge 0x410fee
cmp edi, dword [0x55f5d8]
jl 0x410fee
push 0
call fcn.00430687
sub eax, dword [0x55f5e4]
mov edx, dword [0x57080c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x410fee
mov ecx, dword [0x45cccc]
mov eax, dword [0x45ccd0]
mov esi, dword [0x45cce4]
lea edi, [eax + ecx]
mov eax, 0x44fc3a35
imul edi, edi, 0x1ef5
imul esi
sar edx, 0xb
add edi, edx
mov ebx, edx
mov eax, 0x5c9900d1
imul esi
sar edx, 0xb
mov esi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov eax, 0xc09370e3
imul ecx
mov eax, dword [0x45cce0]
add edx, ecx
imul eax, eax, 0xade
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0x1259
shr esi, 0x1f
add esi, ebx
sub esi, ecx
add esi, edx
add 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 + 0x14]
sub ecx, eax
nop
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x410fe0
xor eax, eax
jmp 0x410ffa
mov eax, 9
jmp 0x410ffa
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042fe7d
add esp, 0x3648
ret