Function at 0x411330
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3658
call fcn.00432110
mov eax, dword [0x460640]
xor eax, esp
push ebx
push ebp
push esi
mov esi, dword [0x45ece8]
mov dword [esp + 0x3660], eax
imul esi, esi, 0x6b66a94
mov eax, dword [0x45ecd4]
push edi
mov edi, dword [0x45eccc]
cdq
mov ebx, eax
push 2
mov ebp, edx
mov eax, edi
cdq
push 0xb57eb16
push edx
push eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.004319f0
push 2
push 0xb57eb16
push ebp
push ebx
mov dword [esp + 0x20], eax
call fcn.004319f0
mov ecx, dword [esp + 0x10]
push 1
sub ecx, eax
push 0xeae0c6d3
mov eax, ebp
push eax
push ebx
mov dword [esp + 0x20], ecx
call fcn.004319f0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 1
push 0x86050f76
add ecx, eax
mov eax, dword [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x20], ecx
call fcn.004319f0
imul edi, edi, 0x140cef57
mov ecx, dword [esp + 0x10]
sub ecx, eax
mov eax, dword [0x45ecdc]
mov edx, eax
imul edx, edx, 0x5295f78d
sub ecx, edi
add ecx, esi
add edx, ecx
push 2
mov dword [str._r_____r____], edx
cdq
push 0xb57eb16
push edx
push eax
call fcn.004319f0
mov edi, eax
mov eax, dword [0x45ecd0]
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
mov ecx, dword [0x45ecd8]
mov ebx, eax
mov eax, ecx
imul eax, eax, 0xb57eb16
sub ebx, edi
add ebx, eax
mov eax, 0x2a01e433
imul ecx
sar edx, 0x1c
add ebx, edx
mov ecx, edx
mov edx, dword [0x45ecc8]
imul edx, edx, 0x5295f78d
shr ecx, 0x1f
add ecx, ebx
add ecx, edx
sub ecx, dword [0x45ece4]
lea eax, [ecx + esi - 0x6181b446]
mov dword [0x45ecd0], eax
mov eax, dword [esp + 0x366c]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x2800
jne 0x41148b
lea ecx, [esp + 0xe6c]
push ecx
push 0x44ee59
push str.ConfigL4
jmp 0x41149d
lea edx, [esp + 0xe6c]
push edx
push 0x44ee59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45ece4]
mov ebp, dword [0x45eccc]
cdq
mov esi, eax
push 0xfffffffffffffffe
mov edi, edx
mov eax, ebp
cdq
push 0xad6a0873
push edx
push eax
call fcn.004319f0
mov ebx, dword [0x45ecd0]
lea ecx, [ebx + ebp]
imul ecx, ecx, 0x79faf08a
push 2
push 0xb57eb16
push edi
sub eax, ecx
push esi
mov dword [esp + 0x20], eax
call fcn.004319f0
mov ecx, dword [esp + 0x10]
push 1
push 0xeae0c6d3
push edi
add ecx, eax
push esi
mov dword [esp + 0x20], ecx
call fcn.004319f0
mov ebp, dword [0x45ece0]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [0x45ecdc]
mov edx, ebp
imul eax, eax, 0x6181b446
imul edx, edx, 0x2c857103
sub ecx, edx
add ecx, eax
lea eax, [esp + 0xe64]
mov dword [0x45ecdc], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411537
sub eax, edx
mov dword [esp + 0x14], eax
jne 0x41154e
or eax, 0xffffffff
jmp 0x411d6f
push 1
mov eax, ebx
cdq
push 0xebf310a9
push edx
push eax
call fcn.004319f0
mov dword [esp + 0x10], eax
mov eax, 0x4d7937c3
mul ebx
mov eax, dword [esp + 0x10]
push 1
push 0x5295f78d
shr edx, 0x1e
push edi
add eax, edx
push esi
mov dword [esp + 0x20], eax
call fcn.004319f0
imul ebp, ebp, 0x7f4ea4e2
mov edx, dword [0x45ecc8]
mov ecx, dword [esp + 0x10]
imul edx, edx, 0x6181b446
sub ecx, eax
sub ecx, ebp
add ecx, edx
mov eax, 0x2a01e433
imul ebx
sar edx, 0x1c
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
lea ecx, [esp + 0xe64]
push ecx
lea edx, [esp + 0x28]
push 0x190
push edx
mov dword [0x45ecc8], eax
call fcn.00410ba0
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x411d6a
and eax, reloc.WS2_32.dll_closesocket
jns 0x4115ec
dec eax
or eax, 0xfffffffc
inc eax
jne 0x411d6a
mov ebx, dword [0x45ecdc]
push 1
mov eax, ebx
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov ebp, dword [0x45ecd8]
mov esi, eax
lea eax, [ecx + ebp]
imul ecx, ecx, 0x151f392d
imul eax, eax, 0x5295f78d
add esi, eax
mov eax, 0x2a215c6f
mul ebx
mov edi, dword [0x45ece0]
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
mov edx, ebx
imul edx, edx, 0x140cef57
shr eax, 0x1f
sub esi, eax
mov eax, dword [esp + 0x10]
sub esi, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
sub esi, ecx
mov dword [0x5615d8], eax
mov eax, dword [0x572808]
test eax, eax
lea esi, [esi + edi - 0x6181b446]
mov dword [0x45ecd4], esi
jg 0x41184f
mov eax, dword [0x45ecd0]
mov ecx, dword [0x45ece8]
lea edi, [eax + ecx]
mov eax, dword [0x45eccc]
imul edi, edi, 0x4f64023c
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
sub eax, edi
mov edi, eax
mov eax, dword [0x45ece8]
push 1
cdq
push 0x86050f76
push edx
push eax
call fcn.004319f0
imul esi, esi, 0x6b66a94
imul ebp, ebp, 0x2c857103
imul ebx, ebx, 0x6181b446
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add edi, eax
push 0x800
sub edi, esi
lea edx, [esp + 0x66c]
push edx
sub edi, ebp
push 0x44ee59
sub edi, ebx
push str.ConfigL1
mov dword [0x45ece0], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call edi
lea eax, [esp + 0x664]
push eax
call fcn.004320d2
mov ebx, 3
add esp, 4
cmp eax, ebx
jge 0x411724
mov dword [0x572808], ebx
jmp 0x41175a
lea ecx, [esp + 0x664]
push ecx
call fcn.004320d2
add esp, 4
cmp eax, 0x78
jle 0x411745
mov dword [0x572808], 0x78
jmp 0x41175a
lea edx, [esp + 0x664]
push edx
call fcn.004320d2
add esp, 4
mov dword [0x572808], eax
mov eax, dword [0x45ecd0]
mov esi, dword [0x45ece8]
lea ebp, [eax + esi]
mov eax, dword [0x45eccc]
imul ebp, ebp, 0x4f64023c
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
sub eax, ebp
mov ebp, eax
push 1
mov eax, esi
cdq
push 0x86050f76
push edx
push eax
call fcn.004319f0
mov ecx, dword [0x45ecd4]
imul ecx, ecx, 0x6b66a94
mov edx, dword [0x45ecd8]
add ebp, eax
imul edx, edx, 0x2c857103
mov eax, dword [0x45ecdc]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
imul eax, eax, 0x6181b446
sub ebp, ecx
push 0x800
lea ecx, [esp + 0x66c]
push ecx
push 0x44ee59
sub ebp, edx
push str.ConfigL2
sub ebp, eax
push str.GameType1
mov dword [0x45ece0], ebp
call edi
lea edx, [esp + 0x664]
push edx
call fcn.004320d2
add esp, 4
cmp eax, ebx
jge 0x411807
mov dword [0x57280c], ebx
jmp 0x41183d
lea eax, [esp + 0x664]
push eax
call fcn.004320d2
add esp, 4
cmp eax, 0x78
jle 0x411828
mov dword [0x57280c], 0x78
jmp 0x41183d
lea ecx, [esp + 0x664]
push ecx
call fcn.004320d2
add esp, 4
mov dword [0x57280c], eax
mov esi, dword [0x45ecd4]
mov ebx, dword [0x45ecdc]
mov edi, dword [0x45ece0]
push 1
mov eax, esi
cdq
push 0xeae0c6d3
mov ebp, eax
push edx
push ebp
mov dword [esp + 0x30], edx
call fcn.004319f0
mov esi, dword [0x45eccc]
mov dword [esp + 0x10], eax
mov eax, 0x2a215c6f
mul esi
sub esi, edx
push 1
shr esi, 1
add esi, edx
mov edx, dword [esp + 0x24]
push 0x5295f78d
push edx
push ebp
shr esi, 0x1f
call fcn.004319f0
mov ebp, dword [0x45ece8]
mov edx, dword [0x45ece4]
add esi, eax
imul edx, edx, 0x6181b446
mov eax, edi
imul eax, eax, 0x140cef57
mov ecx, ebp
imul ecx, ecx, 0x6b66a94
sub esi, eax
mov eax, dword [esp + 0x10]
sub esi, ecx
mov ecx, dword [str._r_____r____]
add esi, edx
sub esi, ecx
lea ecx, [esi + eax - 0x4f64023c]
mov eax, dword [0x5615dc]
test eax, eax
mov dword [0x45eccc], ecx
jg 0x411ac1
mov eax, ebp
cdq
push 1
push 0xebf310a9
mov ebx, edx
mov esi, eax
push ebx
push esi
call fcn.004319f0
push 2
push 0x6b66a94
push ebx
push esi
mov dword [esp + 0x24], eax
call fcn.004319f0
imul ebp, ebp, 0x6181b446
mov ecx, eax
mov eax, dword [esp + 0x14]
sub ecx, eax
mov eax, 0x2a215c6f
mul edi
mov eax, edi
imul edi, edi, 0x242d3a05
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [0x45ecc8]
imul edx, edx, 0x151f392d
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
add ecx, eax
push 0x800
sub ecx, ebp
mov ebp, dword [esp + 0x18]
lea eax, [esp + 0x66c]
push eax
sub ecx, edx
push 0x44ee59
sub ecx, edi
push str.ConfigL3
sub ecx, ebp
push str.GameType1
mov dword [0x45ecd8], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45ecd8]
cdq
mov edi, eax
mov eax, dword [0x45ece4]
push 0xfffffffffffffffd
mov ebx, edx
cdq
push 0xf4a814ea
push edx
push eax
call fcn.004319f0
mov ecx, dword [0x45ecd4]
mov edx, dword [0x45ecc8]
mov esi, dword [str._r_____r____]
add edx, ecx
imul edx, edx, 0x242d3a05
mov ebp, eax
push 1
sub ebp, edx
mov eax, esi
cdq
push 0xb09bfdc4
push edx
push eax
call fcn.004319f0
push 1
push 0xeae0c6d3
push ebx
push edi
add ebp, eax
call fcn.004319f0
push 1
push 0x86050f76
push ebx
push edi
sub ebp, eax
call fcn.004319f0
imul esi, esi, 0x151f392d
sub ebp, eax
lea eax, [esp + 0x664]
sub ebp, esi
push eax
mov dword [0x45ece4], ebp
call fcn.004320d2
mov ecx, dword [0x5615d8]
add esp, 4
cmp eax, ecx
jge 0x411a18
mov dword [0x5615dc], ecx
jmp 0x411ab5
lea ecx, [esp + 0x664]
push ecx
call fcn.004320d2
add esp, 4
cmp eax, 0x64
jle 0x411aa0
mov ebx, dword [0x45ecdc]
push 1
mov eax, ebx
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ecd8]
add edx, ecx
imul ecx, ecx, 0x151f392d
imul edx, edx, 0x5295f78d
mov esi, eax
add esi, edx
mov eax, 0x2a215c6f
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
mov edx, ebx
imul edx, edx, 0x140cef57
shr eax, 0x1f
sub esi, eax
mov eax, dword [0x45ece0]
sub esi, edx
sub esi, ecx
lea ecx, [esi + eax - 0x6181b446]
mov dword [0x45ecd4], ecx
mov dword [0x5615dc], 0x64
jmp 0x411abb
lea edx, [esp + 0x664]
push edx
call fcn.004320d2
add esp, 4
mov dword [0x5615dc], eax
mov ebx, dword [0x45ecdc]
mov ebp, dword [0x45ece8]
push 2
mov eax, ebx
cdq
push 0xb57eb16
push edx
push eax
call fcn.004319f0
mov esi, eax
mov eax, dword [0x45ecd0]
push 0xfffffffffffffffe
cdq
push 0x4f64023c
push edx
push eax
call fcn.004319f0
imul ebp, ebp, 0x6b66a94
mov ecx, dword [0x45ecd8]
mov edi, eax
mov eax, ecx
imul eax, eax, 0xb57eb16
sub edi, esi
add edi, ebp
add edi, eax
mov ebp, dword [0x45ece4]
mov eax, 0x2a01e433
imul ecx
sar edx, 0x1c
mov ecx, edx
add edi, edx
mov edx, dword [0x45ecc8]
imul edx, edx, 0x5295f78d
shr ecx, 0x1f
add ecx, edi
add ecx, edx
sub ecx, ebp
sub ecx, 0x6181b446
push 0
mov dword [0x45ecd0], ecx
call fcn.004320d7
sub eax, dword [0x572830]
add esp, 4
cmp eax, 0xa8c0
jl 0x411bce
mov esi, dword [0x45ecdc]
push 1
mov eax, esi
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
mov ecx, dword [str._r_____r____]
mov edi, eax
mov eax, dword [0x45ecd8]
add eax, ecx
imul ecx, ecx, 0x151f392d
imul eax, eax, 0x5295f78d
add edi, eax
mov eax, 0x2a215c6f
mul esi
mov eax, esi
imul esi, esi, 0x140cef57
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
sub edi, eax
sub edi, esi
sub edi, ecx
mov ecx, dword [0x45ece0]
lea edx, [edi + ecx - 0x6181b446]
push 0
mov dword [0x45ecd4], edx
call fcn.004320d7
add esp, 4
mov dword [0x572830], eax
mov dword [0x5615e0], 0
mov esi, dword [0x45ece8]
mov eax, esi
cdq
mov edi, eax
mov eax, dword [0x45ecd4]
push 1
mov ebx, edx
cdq
push 0xeae0c6d3
push edx
push eax
call fcn.004319f0
push 0xfffffffffffffffe
push 0x140cef57
push ebx
push edi
mov ebp, eax
call fcn.004319f0
push 2
push 0x6b66a94
push ebx
sub eax, ebp
push edi
mov ebp, eax
call fcn.004319f0
imul esi, esi, 0x6181b446
mov ecx, dword [0x45ece0]
add ebp, eax
mov eax, 0x2a215c6f
mul ecx
mov eax, ecx
imul ecx, ecx, 0x242d3a05
sub eax, edx
shr eax, 1
add eax, edx
mov edx, dword [0x45ecc8]
imul edx, edx, 0x151f392d
shr eax, 0x1f
add ebp, eax
mov eax, dword [0x5615e0]
sub ebp, esi
sub ebp, edx
sub ebp, ecx
cmp eax, dword [0x5615dc]
mov dword [0x45ecd8], ebp
jge 0x411d63
cmp eax, dword [0x5615d8]
jge 0x411c8e
push 0
call fcn.004320d7
mov ecx, dword [0x572808]
mov esi, dword [0x5615e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x411cc7
mov eax, dword [0x5615e0]
cmp eax, dword [0x5615dc]
jge 0x411d63
cmp eax, dword [0x5615d8]
jl 0x411d63
push 0
call fcn.004320d7
sub eax, dword [0x5615e4]
mov edx, dword [0x57280c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x411d63
mov eax, dword [0x45ece4]
mov ebx, dword [0x45eccc]
cdq
mov esi, eax
push 0xfffffffffffffffe
mov edi, edx
mov eax, ebx
cdq
push 0xad6a0873
push edx
push eax
call fcn.004319f0
mov ebp, eax
mov eax, dword [0x45ecd0]
add eax, ebx
imul eax, eax, 0x79faf08a
push 2
push 0xb57eb16
push edi
push esi
sub ebp, eax
call fcn.004319f0
push 1
push 0xeae0c6d3
push edi
push esi
add ebp, eax
call fcn.004319f0
mov ecx, dword [0x45ece0]
mov edx, dword [0x45ecdc]
imul ecx, ecx, 0x2c857103
imul edx, edx, 0x6181b446
add ebp, eax
mov eax, dword [0x5615e0]
sub ebp, ecx
add ebp, edx
cdq
idiv dword [0x5615d8]
mov ecx, 0x5615e8
mov dword [0x45ecdc], ebp
shl edx, 4
mov eax, dword [esp + edx + 0x24]
sub ecx, eax
mov dl, byte [eax]
mov byte [eax + ecx], dl
inc eax
test dl, dl
jne 0x411d55
xor eax, eax
jmp 0x411d6f
mov eax, 9
jmp 0x411d6f
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3664]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043180d
add esp, 0x3658
ret