Function at 0x410360
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x364c
call fcn.004306c0
mov eax, dword [0x45e540]
xor eax, esp
mov dword [esp + 0x3648], eax
push ebx
push ebp
push esi
mov esi, dword [0x45cbcc]
mov eax, 0x98eb62a3
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, esi
imul ebx, ebx, 0x898dd
sub ebx, eax
push edi
mov edi, dword [0x45cbd4]
mov eax, 0x220de0d
imul edi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov ecx, dword [0x45cbe8]
mov eax, 0x220de0d
imul ecx, ecx, 0x857ee
imul esi
sar edx, 0xd
mov esi, edx
add ebx, edx
shr esi, 0x1f
add esi, ebx
mov ebx, dword [0x45cbdc]
mov eax, 0x331da7cd
imul edi
sar edx, 0x11
mov ebp, ebx
imul ebp, ebp, 0xa0576
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebp, ecx
add ebp, esi
mov esi, dword [0x45cbd0]
add eax, ebp
mov dword [str._r_____r____], eax
mov eax, 0x9a8b8787
imul esi
add edx, esi
mov esi, dword [0x45cbd8]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x4d49d1e9
imul esi
imul esi, esi, 0xf08ec
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x220de0d
imul ebx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa0576
sub ebp, edi
add ebp, esi
sub ebp, eax
add ebp, edx
sub ebp, dword [0x45cbe4]
lea eax, [ecx + ebp - 0x69fe2]
mov dword [0x45cbd0], eax
mov eax, dword [esp + 0x3660]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x2800
jne 0x41049b
lea ecx, [esp + 0xe60]
push ecx
push 0x44ce89
push str.ConfigL4
jmp 0x4104ad
lea edx, [esp + 0xe60]
push edx
push 0x44ce89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ebx, dword [0x45cbcc]
mov ecx, dword [0x45cbd0]
mov esi, dword [0x45cbe0]
mov edx, dword [0x45cbdc]
mov edi, dword [0x45cbe4]
imul edx, edx, 0x69fe2
lea ebp, [ecx + ebx]
imul ebp, ebp, 0xd6486
mov eax, esi
imul eax, eax, 0xd5e3b
add ebp, eax
add ebp, edx
mov eax, 0x220de0d
imul edi
sar edx, 0xd
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x662e995b
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x331da7cd
imul edi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
mov dword [0x45cbdc], eax
lea eax, [esp + 0xe58]
lea ebx, [eax + 1]
jmp 0x410540
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410540
sub eax, ebx
mov dword [esp + 0x14], eax
jne 0x410557
or eax, 0xffffffff
jmp 0x410d8a
mov eax, 0x99335f19
imul esi, esi, 0x50c98
imul ecx
add edx, ecx
sar edx, 0x13
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0x69fe2
add ebx, edx
mov eax, 0x4d49d1e9
imul ecx
sar edx, 0x11
mov ebp, edx
add ebx, edx
mov eax, 0x3b8e0831
imul ecx
sar edx, 0x11
shr ebp, 0x1f
mov ecx, edx
add ebp, ebx
add ebp, edx
mov eax, 0x662e995b
imul edi
sar edx, 0x12
shr ecx, 0x1f
mov eax, edx
add ecx, ebp
shr eax, 0x1f
sub ecx, esi
add eax, edx
sub ecx, eax
mov dword [0x45cbc8], ecx
lea ecx, [esp + 0xe58]
push ecx
lea edx, [esp + 0x1c]
push 0x190
push edx
call fcn.0040fc00
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x410d85
and eax, reloc.WS2_32.dll_closesocket
jns 0x4105f0
dec eax
or eax, 0xfffffffc
inc eax
jne 0x410d85
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
mov edi, dword [0x45cbdc]
lea eax, [ebx + ecx]
imul ecx, ecx, 0xa0437
imul eax, eax, 0xa0576
mov dword [esp + 0x10], eax
mov eax, 0x63b1cbb5
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
sub edx, eax
mov eax, edi
imul eax, eax, 0x898dd
add edx, eax
mov esi, dword [0x45cbe0]
mov dword [esp + 0x10], edx
mov eax, 0x331da7cd
imul edi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x10]
add eax, esi
add eax, edx
lea ecx, [ecx + eax - 0x69fe2]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [0x55f4d8], eax
mov eax, dword [0x570708]
test eax, eax
mov dword [0x45cbd4], ecx
jg 0x41086b
mov esi, dword [0x45cbe8]
imul ecx, ecx, 0x857ee
imul ebx, ebx, 0xd5e3b
mov edx, dword [0x45cbd0]
imul edi, edi, 0x69fe2
lea ebp, [edx + esi]
mov eax, 0x98eb62a3
imul ebp, ebp, 0x6a03b
imul esi
add edx, esi
sar edx, 0x13
mov esi, edx
shr esi, 0x1f
add ebp, edx
add esi, ebp
add esi, ebx
sub esi, ecx
mov ecx, dword [0x45cbcc]
mov eax, 0x9a8b8787
imul ecx
add edx, ecx
sar edx, 0x12
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov eax, edx
push 0x800
shr eax, 0x1f
lea ecx, [esp + 0x660]
push ecx
add eax, edx
sub esi, eax
push 0x44ce89
sub esi, edi
push str.ConfigL1
mov dword [0x45cbe0], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call esi
lea edx, [esp + 0x658]
push edx
call fcn.00430682
mov edi, 3
add esp, 4
cmp eax, edi
mov ebx, 0x78
jge 0x41073b
mov dword [0x570708], edi
jmp 0x41076c
lea eax, [esp + 0x658]
push eax
call fcn.00430682
add esp, 4
cmp eax, ebx
jle 0x410757
mov dword [0x570708], ebx
jmp 0x41076c
lea ecx, [esp + 0x658]
push ecx
call fcn.00430682
add esp, 4
mov dword [0x570708], eax
mov ecx, dword [0x45cbe8]
mov edx, dword [0x45cbd0]
lea ebp, [edx + ecx]
mov eax, 0x98eb62a3
imul ebp, ebp, 0x6a03b
imul ecx
add edx, ecx
mov ecx, dword [0x45cbd8]
sar edx, 0x13
imul ecx, ecx, 0xd5e3b
add ebp, edx
mov eax, edx
mov edx, dword [0x45cbd4]
imul edx, edx, 0x857ee
shr eax, 0x1f
add eax, ebp
add eax, ecx
mov ecx, dword [0x45cbcc]
sub eax, edx
mov ebp, eax
mov eax, 0x9a8b8787
imul ecx
add edx, ecx
mov ecx, dword [0x45cbdc]
sar edx, 0x12
imul ecx, ecx, 0x69fe2
mov eax, edx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
shr eax, 0x1f
push 0x800
add eax, edx
lea edx, [esp + 0x660]
push edx
push 0x44ce89
sub ebp, eax
push str.ConfigL2
sub ebp, ecx
push str.GameType1
mov dword [0x45cbe0], ebp
call esi
lea eax, [esp + 0x658]
push eax
call fcn.00430682
add esp, 4
cmp eax, edi
jge 0x410822
mov dword [0x57070c], edi
jmp 0x410853
lea ecx, [esp + 0x658]
push ecx
call fcn.00430682
add esp, 4
cmp eax, ebx
jle 0x41083e
mov dword [0x57070c], ebx
jmp 0x410853
lea edx, [esp + 0x658]
push edx
call fcn.00430682
add esp, 4
mov dword [0x57070c], eax
mov ecx, dword [0x45cbd4]
mov edi, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov esi, dword [0x45cbe0]
mov eax, 0x331da7cd
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbcc]
mov dword [esp + 0x14], eax
mov ecx, dword [0x45cbe8]
mov eax, 0x63b1cbb5
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45cbe4]
imul edx, edx, 0x69fe2
mov ebp, ecx
imul ebp, ebp, 0x857ee
sub eax, ebp
add eax, edx
mov edx, esi
imul edx, edx, 0x898dd
add eax, edx
mov ebp, eax
mov eax, 0x662e995b
imul dword [0x45cbd4]
sar edx, 0x12
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 + 0x6a03b]
mov eax, dword [0x55f4dc]
test eax, eax
mov dword [0x45cbcc], edx
jg 0x410adc
mov eax, 0x7abb0ab
imul ecx
sar edx, 0xe
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x63b1cbb5
imul esi
imul esi, esi, 0xa4579
mov eax, ecx
sar edx, 0x12
imul eax, eax, 0x69fe2
mov ebx, edx
shr ebx, 0x1f
add edi, edx
add ebx, edi
add ebx, esi
sub ebx, eax
mov eax, 0x3b8e0831
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa0437
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
lea eax, [esp + 0x660]
push eax
sub ebx, ecx
push 0x44ce89
add ebx, edx
push str.ConfigL3
sub ebx, ebp
push str.GameType1
mov dword [0x45cbd8], ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45cbd4]
mov edx, dword [0x45cbc8]
mov esi, dword [0x45cbd8]
lea edi, [edx + ecx]
mov ecx, dword [str._r_____r____]
imul edi, edi, 0xa4579
mov eax, 0x98eb62a3
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x9a8b8787
imul ecx
add edx, ecx
imul ecx, ecx, 0xa0437
sar edx, 0x12
mov ebx, edx
add edi, edx
mov edx, dword [0x45cbe4]
mov eax, 0x220de0d
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebx, 0x1f
add ebx, edi
sub ebx, eax
mov eax, 0x331da7cd
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
lea ecx, [esp + 0x658]
push ecx
mov dword [0x45cbe4], ebx
call fcn.00430682
mov ecx, dword [0x55f4d8]
add esp, 4
cmp eax, ecx
jge 0x410a2e
mov dword [0x55f4dc], ecx
jmp 0x410aca
lea edx, [esp + 0x658]
push edx
call fcn.00430682
add esp, 4
cmp eax, 0x64
jle 0x410ab5
mov edi, dword [0x45cbdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45cbd8]
mov eax, 0x63b1cbb5
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
lea esi, [ebx + ecx]
imul ecx, ecx, 0xa0437
imul esi, esi, 0xa0576
mov ebp, dword [0x45cbe0]
mov edx, edi
imul edx, edx, 0x898dd
sub esi, eax
add esi, edx
mov eax, 0x331da7cd
imul edi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebp
add eax, esi
lea ecx, [ecx + eax - 0x69fe2]
mov dword [0x45cbd4], ecx
mov dword [0x55f4dc], 0x64
jmp 0x410ad6
lea edx, [esp + 0x658]
push edx
call fcn.00430682
add esp, 4
mov dword [0x55f4dc], eax
mov edi, dword [0x45cbdc]
mov ebx, dword [0x45cbd8]
mov ecx, dword [0x45cbe8]
mov esi, dword [0x45cbd0]
imul ecx, ecx, 0x857ee
mov eax, 0x9a8b8787
imul esi
add edx, esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x4d49d1e9
imul ebx
imul ebx, ebx, 0xf08ec
sar edx, 0x11
add ecx, edx
mov esi, edx
mov eax, 0x220de0d
mov ebp, dword [0x45cbe4]
imul edi
shr esi, 0x1f
add esi, ecx
sar edx, 0xd
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45cbc8]
imul edx, edx, 0xa0576
add esi, ebx
sub esi, ecx
add esi, edx
sub esi, ebp
sub esi, 0x69fe2
push 0
mov dword [0x45cbd0], esi
call fcn.00430687
sub eax, dword [0x570730]
add esp, 4
cmp eax, 0xa8c0
jl 0x410be2
mov ecx, dword [str._r_____r____]
mov eax, dword [0x45cbd8]
mov esi, dword [0x45cbdc]
lea edi, [eax + ecx]
imul ecx, ecx, 0xa0437
mov eax, 0x63b1cbb5
imul edi, edi, 0xa0576
imul esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, dword [0x45cbe0]
mov edx, esi
imul edx, edx, 0x898dd
sub edi, eax
add edi, edx
mov eax, 0x331da7cd
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebx
add eax, edi
lea ecx, [ecx + eax - 0x69fe2]
push 0
mov dword [0x45cbd4], ecx
call fcn.00430687
add esp, 4
xor edi, edi
mov dword [0x570730], eax
mov dword [0x55f4e0], edi
jmp 0x410be8
mov edi, dword [0x55f4e0]
mov esi, dword [0x45cbe8]
mov ecx, dword [0x45cbe0]
mov eax, 0x7abb0ab
imul esi
sar edx, 0xe
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x63b1cbb5
imul ecx
imul ecx, ecx, 0xa4579
sar edx, 0x12
add ebx, edx
mov ebp, edx
mov edx, esi
imul edx, edx, 0x69fe2
shr ebp, 0x1f
add ebp, ebx
add ebp, ecx
mov ecx, dword [0x45cbc8]
sub ebp, edx
imul ecx, ecx, 0xa0437
mov eax, 0x3b8e0831
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
add ebp, ecx
mov ecx, dword [0x45cbd4]
mov eax, 0x331da7cd
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
cmp edi, dword [0x55f4dc]
mov dword [0x45cbd8], ebp
jge 0x410d7e
cmp edi, dword [0x55f4d8]
jge 0x410ca3
push 0
call fcn.00430687
mov ecx, dword [0x570708]
mov esi, dword [0x55f4e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410cdc
mov edi, dword [0x55f4e0]
cmp edi, dword [0x55f4dc]
jge 0x410d7e
cmp edi, dword [0x55f4d8]
jl 0x410d7e
push 0
call fcn.00430687
sub eax, dword [0x55f4e4]
mov edx, dword [0x57070c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x410d7e
mov ecx, dword [0x45cbcc]
mov eax, dword [0x45cbd0]
mov edx, dword [0x45cbe0]
lea edi, [eax + ecx]
imul edx, edx, 0xd5e3b
mov eax, dword [0x45cbdc]
imul edi, edi, 0xd6486
mov esi, dword [0x45cbe4]
imul eax, eax, 0x69fe2
add edi, edx
add edi, eax
mov eax, 0x220de0d
imul esi
sar edx, 0xd
add edi, edx
mov ebx, edx
mov eax, 0x662e995b
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x331da7cd
imul esi
shr ebx, 0x1f
sar edx, 0x11
add ebx, edi
mov eax, edx
shr eax, 0x1f
sub ebx, ecx
add ebx, edx
add eax, ebx
mov dword [0x45cbdc], eax
mov eax, dword [0x55f4e0]
cdq
idiv dword [0x55f4d8]
mov ecx, 0x55f4e8
shl edx, 4
mov eax, dword [esp + edx + 0x18]
sub ecx, eax
lea esp, [esp]
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x410d70
xor eax, eax
jmp 0x410d8a
mov eax, 9
jmp 0x410d8a
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3658]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042fe7d
add esp, 0x364c
ret