Function at 0x4115d0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3664
call fcn.00432740
mov eax, dword [0x460640]
xor eax, esp
push ebx
push ebp
mov dword [esp + 0x3668], eax
mov eax, dword [0x45ecd4]
push esi
mov esi, dword [0x45eccc]
cdq
push edi
mov edi, dword [0x45ece8]
mov ebx, eax
imul edi, edi, 0x471ee414
push 0x14
mov ebp, edx
mov eax, esi
cdq
push 0x76aab896
push edx
push eax
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.00432020
push 0x14
push 0x76aab896
push ebp
push ebx
mov dword [esp + 0x20], eax
call fcn.00432020
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0xf
sub ecx, eax
mov eax, dword [esp + 0x20]
push 0x3c2325f6
push eax
push edx
mov dword [esp + 0x20], ecx
call fcn.00432020
mov ecx, dword [esp + 0x10]
push 0x13
sub ecx, eax
push 0x2c2da253
mov eax, ebp
push eax
push ebx
mov dword [esp + 0x20], ecx
call fcn.00432020
imul esi, esi, 0x392bae29
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [0x45ecdc]
mov edx, eax
imul edx, edx, 0x3dbf610d
add edx, edi
add edx, ecx
push 0x14
add esi, edx
cdq
push 0x76aab896
push edx
push eax
mov dword [str._r_____r____], esi
call fcn.00432020
mov esi, dword [0x45ecd8]
mov ebx, eax
push 3
mov eax, esi
cdq
push 0xce4a7dc6
push edx
push eax
call fcn.00432020
mov ebp, eax
mov eax, dword [0x45ecd0]
sub ebp, ebx
cdq
push 0x10
push 0xe4325444
push edx
push eax
call fcn.00432020
imul esi, esi, 0x76aab896
mov ecx, dword [0x45ece4]
sub ebp, eax
mov eax, dword [0x45ecc8]
imul eax, eax, 0x3dbf610d
add ebp, eax
mov eax, dword [esp + 0x3678]
add ebp, esi
sub ebp, ecx
test eax, eax
lea ecx, [edi + ebp + 0x31b5823a]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45ecd0], ecx
push 0x2800
jne 0x41172b
lea edx, [esp + 0xe78]
push edx
push 0x44ee59
push str.ConfigL4
jmp 0x41173d
lea eax, [esp + 0xe78]
push eax
push 0x44ee59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45ece4]
mov ebx, dword [0x45eccc]
cdq
mov ebp, eax
push 0xd
mov esi, edx
mov eax, ebx
cdq
push 0x3dbf610d
push edx
push eax
mov dword [esp + 0x2c], esi
call fcn.00432020
mov edi, dword [0x45ecd0]
lea ecx, [edi + ebx]
imul ecx, ecx, 0x3c2325f6
push 0x14
push 0x76aab896
push esi
sub ecx, eax
push ebp
mov dword [esp + 0x20], ecx
call fcn.00432020
mov ecx, dword [esp + 0x10]
push 0x13
push 0x2c2da253
push esi
add ecx, eax
push ebp
mov dword [esp + 0x20], ecx
call fcn.00432020
mov ebx, dword [0x45ece0]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [0x45ecdc]
mov edx, ebx
imul eax, eax, 0x31b5823a
imul edx, edx, 0x42a7b17d
add ecx, edx
sub ecx, eax
lea eax, [esp + 0xe70]
mov dword [0x45ecdc], ecx
lea edx, [eax + 1]
jmp 0x4117e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4117e0
sub eax, edx
mov dword [esp + 0x14], eax
jne 0x4117f7
or eax, 0xffffffff
jmp 0x41205d
mov eax, edi
cdq
push 8
push 0x42a7b17d
mov edi, edx
mov esi, eax
push edi
push esi
call fcn.00432020
mov ecx, dword [esp + 0x1c]
push 0xd
push 0x3dbf610d
push ecx
push ebp
mov dword [esp + 0x20], eax
call fcn.00432020
mov ecx, dword [esp + 0x10]
push 3
push 0xce4a7dc6
push edi
sub ecx, eax
push esi
mov dword [esp + 0x20], ecx
call fcn.00432020
mov ecx, dword [esp + 0x10]
push 0x13
push 0x392bae29
push edi
add ecx, eax
push esi
mov dword [esp + 0x20], ecx
call fcn.00432020
imul ebx, ebx, 0xafbbe1e
mov edx, dword [0x45ecc8]
mov ecx, dword [esp + 0x10]
imul edx, edx, 0x31b5823a
add ecx, eax
add ecx, ebx
sub ecx, edx
lea eax, [esp + 0xe70]
push eax
mov dword [0x45ecc8], ecx
lea ecx, [esp + 0x34]
push 0x190
push ecx
call fcn.00410e30
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x412058
and eax, reloc.WS2_32.dll_closesocket
jns 0x4118a7
dec eax
or eax, 0xfffffffc
inc eax
jne 0x412058
mov ebp, dword [0x45ecdc]
mov ebx, dword [0x45ecd8]
mov eax, ebp
cdq
push 8
mov edi, eax
mov eax, dword [str._r_____r____]
push 0x974b287b
push edx
lea esi, [ebx + eax]
push edi
imul esi, esi, 0x3dbf610d
mov dword [esp + 0x34], edx
call fcn.00432020
mov ecx, dword [esp + 0x24]
push 0x13
push 0x2c2da253
push ecx
push edi
sub esi, eax
call fcn.00432020
mov edi, dword [0x45ece0]
add esi, eax
mov eax, dword [str._r_____r____]
mov edx, ebp
imul eax, eax, 0x2c2da253
imul edx, edx, 0x392bae29
add edx, edi
add edx, esi
lea esi, [eax + edx + 0x31b5823a]
mov eax, dword [esp + 0x10]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x5615d8], eax
mov eax, dword [0x572808]
test eax, eax
mov dword [0x45ecd4], esi
jg 0x411b1a
mov ecx, dword [0x45ecd0]
mov edx, dword [0x45ece8]
mov eax, dword [0x45eccc]
push 0xffffffffffffffef
lea edi, [ecx + edx]
cdq
imul edi, edi, 0x1bcdabbc
push 0x1bcdabbc
push edx
push eax
call fcn.00432020
sub eax, edi
mov edi, eax
mov eax, dword [0x45ece8]
push 0xf
cdq
push 0x3c2325f6
push edx
push eax
call fcn.00432020
imul ebx, ebx, 0x42a7b17d
imul ebp, ebp, 0x31b5823a
imul esi, esi, 0x471ee414
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add edi, eax
push 0x800
add edi, ebx
lea eax, [esp + 0x678]
push eax
add edi, ebp
push 0x44ee59
sub edi, esi
push str.ConfigL1
mov dword [0x45ece0], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call edi
lea ecx, [esp + 0x670]
push ecx
call fcn.00432702
mov ebx, 3
add esp, 4
cmp eax, ebx
jge 0x4119e8
mov dword [0x572808], ebx
jmp 0x411a1e
lea edx, [esp + 0x670]
push edx
call fcn.00432702
add esp, 4
cmp eax, 0x78
jle 0x411a09
mov dword [0x572808], 0x78
jmp 0x411a1e
lea eax, [esp + 0x670]
push eax
call fcn.00432702
add esp, 4
mov dword [0x572808], eax
mov eax, dword [0x45eccc]
mov ecx, dword [0x45ecd0]
mov esi, dword [0x45ece8]
push 0xffffffffffffffef
cdq
push 0x1bcdabbc
push edx
lea ebp, [ecx + esi]
push eax
imul ebp, ebp, 0x1bcdabbc
call fcn.00432020
sub eax, ebp
mov ebp, eax
push 0xf
mov eax, esi
cdq
push 0x3c2325f6
push edx
push eax
call fcn.00432020
mov edx, dword [0x45ecd8]
imul edx, edx, 0x42a7b17d
mov ecx, dword [0x45ecd4]
add ebp, eax
imul ecx, ecx, 0x471ee414
mov eax, dword [0x45ecdc]
imul eax, eax, 0x31b5823a
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add ebp, edx
push 0x800
lea edx, [esp + 0x678]
push edx
push 0x44ee59
add ebp, eax
push str.ConfigL2
sub ebp, ecx
push str.GameType1
mov dword [0x45ece0], ebp
call edi
lea eax, [esp + 0x670]
push eax
call fcn.00432702
add esp, 4
cmp eax, ebx
jge 0x411acc
mov dword [0x57280c], ebx
jmp 0x411b02
lea ecx, [esp + 0x670]
push ecx
call fcn.00432702
add esp, 4
cmp eax, 0x78
jle 0x411aed
mov dword [0x57280c], 0x78
jmp 0x411b02
lea edx, [esp + 0x670]
push edx
call fcn.00432702
add esp, 4
mov dword [0x57280c], eax
mov esi, dword [0x45ecd4]
mov ebp, dword [0x45ecdc]
mov ebx, dword [0x45ecd8]
mov edi, dword [0x45ece0]
push 0x13
mov eax, esi
cdq
push 0x2c2da253
mov esi, eax
push edx
push esi
mov dword [esp + 0x3c], edx
call fcn.00432020
mov dword [esp + 0x10], eax
mov eax, dword [0x45eccc]
push 8
cdq
push 0x974b287b
push edx
push eax
call fcn.00432020
mov ecx, dword [esp + 0x2c]
push 0xd
push 0x3dbf610d
push ecx
push esi
mov dword [esp + 0x24], eax
call fcn.00432020
mov edx, dword [0x45ece4]
mov ecx, dword [esp + 0x14]
imul edx, edx, 0x31b5823a
mov esi, dword [0x45ece8]
add ecx, eax
sub ecx, edx
mov eax, esi
imul eax, eax, 0x471ee414
mov edx, edi
imul edx, edx, 0x392bae29
sub ecx, eax
mov eax, dword [esp + 0x10]
add ecx, edx
sub ecx, dword [str._r_____r____]
lea ecx, [ecx + eax - 0x1bcdabbc]
mov eax, dword [0x5615dc]
test eax, eax
mov dword [0x45eccc], ecx
jg 0x411daa
mov eax, esi
cdq
mov ebx, eax
push 8
mov ebp, edx
mov eax, edi
cdq
push 0x974b287b
push edx
push eax
mov dword [esp + 0x2c], ebp
call fcn.00432020
push 0x14
push 0x471ee414
push ebp
push ebx
mov dword [esp + 0x24], eax
call fcn.00432020
mov ecx, dword [esp + 0x14]
push 0x13
push 0x392bae29
mov edx, ebp
push edx
add ecx, eax
push ebx
mov dword [esp + 0x24], ecx
call fcn.00432020
imul edi, edi, 0x68b4d785
imul esi, esi, 0x31b5823a
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [0x45ecc8]
imul eax, eax, 0x2c2da253
sub ecx, edi
add ecx, esi
mov esi, dword [esp + 0x10]
add ecx, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sub ecx, esi
push 0x800
mov dword [0x45ecd8], ecx
lea ecx, [esp + 0x678]
push ecx
push 0x44ee59
push str.ConfigL3
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45ecd8]
cdq
mov edi, eax
mov eax, dword [0x45ece4]
push 0xffffffffffffffeb
mov ebx, edx
cdq
push 0x8955476a
push edx
push eax
call fcn.00432020
mov edx, dword [0x45ecd4]
mov esi, dword [str._r_____r____]
mov ebp, eax
mov eax, dword [0x45ecc8]
add eax, edx
imul eax, eax, 0x68b4d785
sub ebp, eax
push 0x10
mov eax, esi
cdq
push 0xe4325444
push edx
push eax
call fcn.00432020
push 0xf
push 0x3c2325f6
push ebx
push edi
add ebp, eax
call fcn.00432020
push 0x13
sub ebp, eax
push 0x2c2da253
push ebx
push edi
call fcn.00432020
imul esi, esi, 0x2c2da253
sub ebp, eax
lea ecx, [esp + 0x670]
add ebp, esi
push ecx
mov dword [0x45ece4], ebp
call fcn.00432702
mov ecx, dword [0x5615d8]
add esp, 4
cmp eax, ecx
jge 0x411cf0
mov dword [0x5615dc], ecx
jmp 0x411d98
lea edx, [esp + 0x670]
push edx
call fcn.00432702
add esp, 4
cmp eax, 0x64
jle 0x411d83
mov ebp, dword [0x45ecdc]
mov ebx, dword [0x45ecd8]
mov esi, dword [str._r_____r____]
push 8
mov eax, ebp
cdq
push 0x974b287b
push edx
lea edi, [ebx + esi]
push eax
imul edi, edi, 0x3dbf610d
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
call fcn.00432020
mov ecx, dword [esp + 0x20]
push 0x13
sub edi, eax
mov eax, dword [esp + 0x28]
push 0x2c2da253
push eax
push ecx
call fcn.00432020
imul esi, esi, 0x2c2da253
mov ecx, dword [0x45ece0]
mov edx, ebp
imul edx, edx, 0x392bae29
add edi, eax
add edx, ecx
add edx, edi
lea eax, [esi + edx + 0x31b5823a]
mov dword [0x45ecd4], eax
mov dword [0x5615dc], 0x64
jmp 0x411da4
lea ecx, [esp + 0x670]
push ecx
call fcn.00432702
add esp, 4
mov dword [0x5615dc], eax
mov ebp, dword [0x45ecdc]
mov ebx, dword [0x45ecd8]
mov esi, dword [0x45ece8]
push 0x14
mov eax, ebp
cdq
push 0x76aab896
push edx
push eax
call fcn.00432020
mov edi, eax
push 3
mov eax, ebx
cdq
push 0xce4a7dc6
push edx
push eax
call fcn.00432020
mov ebp, eax
mov eax, dword [0x45ecd0]
push 0x10
cdq
push 0xe4325444
push edx
push eax
sub ebp, edi
call fcn.00432020
imul ebx, ebx, 0x76aab896
imul esi, esi, 0x471ee414
mov edx, dword [0x45ecc8]
imul edx, edx, 0x3dbf610d
sub ebp, eax
mov eax, dword [0x45ece4]
add ebp, edx
add ebp, ebx
add ebp, esi
sub ebp, eax
add ebp, 0x31b5823a
push 0
mov dword [0x45ecd0], ebp
call fcn.00432707
sub eax, dword [0x572830]
add esp, 4
cmp eax, 0xa8c0
jl 0x411eb5
mov esi, dword [0x45ecdc]
mov edi, dword [str._r_____r____]
mov eax, esi
cdq
push 8
mov ebx, eax
mov eax, dword [0x45ecd8]
push 0x974b287b
push edx
lea ebp, [eax + edi]
push ebx
imul ebp, ebp, 0x3dbf610d
mov dword [esp + 0x34], edx
call fcn.00432020
mov ecx, dword [esp + 0x24]
push 0x13
push 0x2c2da253
push ecx
push ebx
sub ebp, eax
call fcn.00432020
imul esi, esi, 0x392bae29
imul edi, edi, 0x2c2da253
add ebp, eax
add esi, dword [0x45ece0]
add esi, ebp
lea edx, [edi + esi + 0x31b5823a]
push 0
mov dword [0x45ecd4], edx
call fcn.00432707
add esp, 4
mov dword [0x572830], eax
mov dword [0x5615e0], 0
mov esi, dword [0x45ece8]
mov edi, dword [0x45ece0]
mov eax, esi
cdq
mov ebx, eax
push 8
mov dword [esp + 0x20], edx
mov eax, edi
cdq
push 0x974b287b
push edx
push eax
call fcn.00432020
mov ebp, eax
mov eax, dword [0x45ecd4]
push 0x13
cdq
push 0x2c2da253
push edx
push eax
call fcn.00432020
push 0x14
sub ebp, eax
mov eax, dword [esp + 0x20]
push 0x471ee414
push eax
push ebx
call fcn.00432020
mov ecx, dword [esp + 0x1c]
push 0x13
push 0x392bae29
push ecx
push ebx
add ebp, eax
call fcn.00432020
imul edi, edi, 0x68b4d785
imul esi, esi, 0x31b5823a
mov edx, dword [0x45ecc8]
mov ecx, dword [0x5615dc]
imul edx, edx, 0x2c2da253
sub ebp, eax
mov eax, dword [0x5615e0]
sub ebp, edi
add ebp, esi
add ebp, edx
cmp eax, ecx
mov dword [0x45ecd8], ebp
jge 0x412051
cmp eax, dword [0x5615d8]
jge 0x411f7e
push 0
call fcn.00432707
mov ecx, dword [0x572808]
mov esi, dword [0x5615e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x411fb7
mov eax, dword [0x5615e0]
cmp eax, dword [0x5615dc]
jge 0x412051
cmp eax, dword [0x5615d8]
jl 0x412051
push 0
call fcn.00432707
sub eax, dword [0x5615e4]
mov edx, dword [0x57280c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x412051
mov eax, dword [0x45ece4]
mov ebx, dword [0x45eccc]
cdq
mov esi, eax
push 0xd
mov edi, edx
mov eax, ebx
cdq
push 0x3dbf610d
push edx
push eax
call fcn.00432020
mov ecx, dword [0x45ecd0]
add ebx, ecx
imul ebx, ebx, 0x3c2325f6
push 0x14
push 0x76aab896
push edi
push esi
sub ebx, eax
call fcn.00432020
push 0x13
push 0x2c2da253
push edi
push esi
add ebx, eax
call fcn.00432020
mov edx, dword [0x45ece0]
add ebx, eax
imul edx, edx, 0x42a7b17d
mov eax, dword [0x45ecdc]
imul eax, eax, 0x31b5823a
add ebx, edx
sub ebx, eax
mov eax, dword [0x5615e0]
cdq
idiv dword [0x5615d8]
mov ecx, 0x5615e8
mov dword [0x45ecdc], ebx
shl edx, 4
mov eax, dword [esp + edx + 0x30]
sub ecx, eax
mov dl, byte [eax]
mov byte [eax + ecx], dl
inc eax
test dl, dl
jne 0x412043
xor eax, eax
jmp 0x41205d
mov eax, 9
jmp 0x41205d
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3670]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00431e3d
add esp, 0x3664
ret