Function at 0x4103d0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00430340
mov eax, dword [0x45e640]
mov dword [esp + 0x3644], eax
push ebx
push ebp
push esi
mov esi, dword [0x45cccc]
push edi
mov edi, dword [0x45ccd4]
mov eax, 0x4f576647
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x4f576647
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
sub ebp, ebx
mov ebx, dword [0x45ccdc]
mov edx, ebx
imul edx, edx, 0x242
add ebp, edx
mov eax, 0x38e38e39
imul edi
sar edx, 7
mov edi, edx
add ebp, edx
shr edi, 0x1f
mov eax, esi
imul eax, eax, 0x203
add edi, ebp
add edi, eax
mov ecx, dword [0x45cce8]
mov eax, 0x93459be7
imul ecx, ecx, 0x21e
imul esi
add edx, esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov esi, dword [0x45ccd8]
mov eax, 0x4f576647
imul ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
add edi, ecx
imul edx, edx, 0x242
mov dword [str._r_____r____], edi
mov edi, esi
imul edi, edi, 0x33a
sub edi, eax
add edi, edx
mov edx, dword [0x45ccd0]
mov eax, 0x59493e15
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 7
mov eax, edx
add edi, edx
mov edx, dword [0x45cce4]
shr eax, 0x1f
add eax, edi
sub eax, edx
lea ecx, [eax + ecx - 0xe1]
mov eax, dword [esp + 0x365c]
test eax, eax
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45ccd0], ecx
push 0x2800
jne 0x41050f
lea edx, [esp + 0xe5c]
push edx
push 0x44ce59
push str.ConfigL4
jmp 0x410521
lea eax, [esp + 0xe5c]
push eax
push 0x44ce59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [0x45cce4]
mov ebx, dword [0x45cccc]
mov ecx, dword [0x45ccd0]
mov eax, 0x4f576647
imul edi
lea esi, [ecx + ebx]
sar edx, 8
imul esi, esi, 0x1bd
mov ebp, edx
add esi, edx
shr ebp, 0x1f
add ebp, esi
mov esi, dword [0x45cce0]
mov edx, esi
imul edx, edx, 0x25d
add ebp, edx
mov eax, 0x38e38e39
imul edi
sar edx, 7
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0x71625345
imul ebx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccdc]
imul edx, edx, 0xe1
sub ebp, eax
add ebp, edx
lea eax, [esp + 0xe54]
mov dword [0x45ccdc], ebp
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4105b0
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x4105d9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042fb01
add esp, 0x3648
ret
mov eax, 0x71625345
imul esi, esi, 0x61
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xd8a5df
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x7f411e53
imul ecx
sar edx, 8
sub ebx, edi
mov edi, edx
add ebx, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0xe1
shr edi, 0x1f
add edi, ebx
add edi, edx
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
lea ecx, [esp + 0xe54]
push ecx
add edi, esi
add edi, edx
shr eax, 0x1f
lea edx, [esp + 0x18]
add eax, edi
push 0x190
push edx
mov dword [0x45ccc8], eax
call fcn.0040fc90
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x410e23
and eax, reloc.WS2_32.dll_closesocket
jns 0x410671
dec eax
or eax, 0xfffffffc
inc eax
jne 0x410e23
mov edi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45ccd8]
lea esi, [ebx + ecx]
mov eax, 0x38e38e39
imul esi, esi, 0x242
imul edi
sar edx, 7
add esi, edx
mov eax, edx
shr eax, 0x1f
add eax, esi
mov edx, edi
imul edx, edx, 0x203
add eax, edx
lea ecx, [ecx + ecx*8]
shl ecx, 6
add eax, ecx
mov ecx, eax
mov eax, 0xd20d20d3
imul edi
mov esi, dword [0x45cce0]
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, 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 ecx, [ecx + esi - 0xe1]
mov dword [0x45ccd4], ecx
jg 0x4108dc
mov esi, dword [0x45cce8]
imul ecx, ecx, 0x21e
imul ebx, ebx, 0x25d
mov edx, dword [0x45ccd0]
imul edi, edi, 0xe1
lea eax, [edx + esi]
imul eax, eax, 0x16f
add eax, ebx
sub eax, ecx
mov ecx, dword [0x45cccc]
mov dword [esp + 0x10], eax
mov eax, 0x93459be7
imul esi
mov eax, dword [esp + 0x10]
add edx, esi
sar edx, 8
add eax, edx
mov esi, edx
shr esi, 0x1f
add esi, eax
mov eax, 0x59493e15
imul ecx
sar edx, 7
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov eax, edx
push 0x800
shr eax, 0x1f
lea ecx, [esp + 0x65c]
push ecx
add eax, edx
sub esi, eax
push 0x44ce59
sub esi, edi
push str.ConfigL1
mov dword [0x45cce0], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430302
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x4107b5
mov dword [0x570808], ebp
jmp 0x4107e6
lea eax, [esp + 0x654]
push eax
call fcn.00430302
add esp, 4
cmp eax, edi
jle 0x4107d1
mov dword [0x570808], edi
jmp 0x4107e6
lea ecx, [esp + 0x654]
push ecx
call fcn.00430302
add esp, 4
mov dword [0x570808], eax
mov ecx, dword [0x45cce8]
mov edx, dword [0x45ccd0]
mov eax, dword [0x45ccd8]
lea ebx, [edx + ecx]
imul eax, eax, 0x25d
mov edx, dword [0x45ccd4]
imul ebx, ebx, 0x16f
imul edx, edx, 0x21e
add ebx, eax
sub ebx, edx
mov eax, 0x93459be7
imul ecx
add edx, ecx
mov ecx, dword [0x45cccc]
sar edx, 8
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x59493e15
imul ecx
mov ecx, dword [0x45ccdc]
sar edx, 7
imul ecx, ecx, 0xe1
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.00430302
add esp, 4
cmp eax, ebp
jge 0x410899
mov dword [0x57080c], ebp
jmp 0x4108ca
lea ecx, [esp + 0x654]
push ecx
call fcn.00430302
add esp, 4
cmp eax, edi
jle 0x4108b5
mov dword [0x57080c], edi
jmp 0x4108ca
lea edx, [esp + 0x654]
push edx
call fcn.00430302
add esp, 4
mov dword [0x57080c], eax
mov ecx, dword [0x45ccd4]
mov edi, dword [0x45ccdc]
mov esi, dword [0x45cce0]
mov eax, 0x38e38e39
imul ecx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x71625345
imul ecx
mov ecx, dword [0x45cce8]
sar edx, 8
mov ebp, esi
imul ebp, ebp, 0x203
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov edx, ecx
imul edx, edx, 0x21e
sub eax, edx
mov edx, dword [0x45cce4]
mov ebp, dword [0x45cccc]
imul edx, edx, 0xe1
add eax, edx
mov edx, dword [0x45cccc]
mov dword [esp + 0x10], eax
mov eax, 0xd20d20d3
imul edx
add edx, ebp
mov ebp, dword [esp + 0x10]
sar edx, 7
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 + 0x16f]
mov eax, dword [0x55f5dc]
test eax, eax
mov dword [0x45cccc], edx
jg 0x410b46
mov eax, dword [0x45ccc8]
lea edi, [eax + eax*8]
mov eax, 0xf1d48bd
imul ecx
sar edx, 5
mov ebp, edx
shl edi, 6
add edi, edx
mov eax, 0x7f411e53
imul ecx
imul ecx, ecx, 0xe1
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebp, 0x1f
add ebp, edi
sub ebp, eax
mov eax, 0xd20d20d3
imul esi
add edx, esi
imul esi, esi, 0x9c
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebp, edx
add eax, ebp
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
add eax, esi
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44ce59
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 [0x45cce4]
lea edi, [eax + edx]
mov eax, 0x4f576647
imul edi, edi, 0x9c
imul ecx
sar edx, 8
mov ecx, edx
mov esi, dword [str._r_____r____]
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x45ccd8]
mov eax, 0x38e38e39
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea edx, [esi + esi*8]
shl edx, 6
add edi, edx
mov eax, 0x93459be7
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x59493e15
imul esi
sar edx, 7
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
lea edx, [esp + 0x654]
mov dword [0x45cce4], ecx
push edx
call fcn.00430302
mov ecx, dword [0x55f5d8]
add esp, 4
cmp eax, ecx
jge 0x410a9c
mov dword [0x55f5dc], ecx
jmp 0x410b3a
lea eax, [esp + 0x654]
push eax
call fcn.00430302
add esp, 4
cmp eax, 0x64
jle 0x410b25
mov edi, dword [0x45ccdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
lea esi, [edx + ecx]
mov eax, 0x38e38e39
imul esi, esi, 0x242
imul edi
sar edx, 7
mov eax, edi
imul eax, eax, 0x203
mov ebx, edx
add esi, edx
shr ebx, 0x1f
add ebx, esi
add ebx, eax
mov eax, 0xd20d20d3
imul edi
add edx, edi
sar edx, 7
lea ecx, [ecx + ecx*8]
mov eax, edx
shl ecx, 6
shr eax, 0x1f
add ebx, ecx
mov ecx, dword [0x45cce0]
add eax, edx
sub ebx, eax
lea edx, [ebx + ecx - 0xe1]
mov dword [0x45ccd4], edx
mov dword [0x55f5dc], 0x64
jmp 0x410b40
lea eax, [esp + 0x654]
push eax
call fcn.00430302
add esp, 4
mov dword [0x55f5dc], eax
mov edi, dword [0x45ccdc]
mov ecx, dword [0x45cce8]
mov esi, dword [0x45ccd8]
imul ecx, ecx, 0x21e
mov eax, 0x4f576647
imul edi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45ccc8]
imul edx, edx, 0x242
mov ebx, esi
imul ebx, ebx, 0x33a
sub ebx, eax
add ebx, edx
add ebx, ecx
mov ecx, dword [0x45ccd0]
mov eax, 0x59493e15
imul ecx
sar edx, 7
mov ebp, dword [0x45cce4]
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x91a2b3c5
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
sub ecx, ebp
sub ecx, 0xe1
push 0
mov dword [0x45ccd0], ecx
call fcn.00430307
sub eax, dword [0x570830]
add esp, 4
cmp eax, 0xa8c0
jl 0x410c5b
mov ecx, dword [0x45ccdc]
mov esi, dword [str._r_____r____]
mov edx, dword [0x45ccd8]
lea edi, [edx + esi]
mov eax, 0x38e38e39
imul edi, edi, 0x242
imul ecx
sar edx, 7
mov eax, ecx
imul eax, eax, 0x203
mov ebx, edx
add edi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, eax
lea edx, [esi + esi*8]
shl edx, 6
add ebx, edx
mov eax, 0xd20d20d3
imul ecx
add edx, ecx
mov ecx, dword [0x45cce0]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
lea edx, [ebx + ecx - 0xe1]
push 0
mov dword [0x45ccd4], edx
call fcn.00430307
add esp, 4
xor edi, edi
mov dword [0x570830], eax
mov dword [0x55f5e0], edi
jmp 0x410c61
mov edi, dword [0x55f5e0]
mov eax, dword [0x45ccc8]
mov ecx, dword [0x45ccd4]
lea eax, [eax + eax*8]
shl eax, 6
mov esi, eax
mov eax, 0x38e38e39
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45cce8]
mov eax, 0xf1d48bd
imul ecx
sar edx, 5
add esi, edx
mov ebx, edx
mov eax, 0x7f411e53
imul ecx
imul ecx, ecx, 0xe1
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x45cce0]
sub ebx, eax
mov eax, 0xd20d20d3
imul esi
add edx, esi
imul esi, esi, 0x9c
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, esi
sub eax, ecx
mov dword [0x45ccd8], eax
cmp edi, dword [0x55f5dc]
jge 0x410e07
cmp edi, dword [0x55f5d8]
jge 0x410d1c
push 0
call fcn.00430307
mov ecx, dword [0x570808]
mov esi, dword [0x55f5e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x410d55
mov edi, dword [0x55f5e0]
cmp edi, dword [0x55f5dc]
jge 0x410e07
cmp edi, dword [0x55f5d8]
jl 0x410e07
push 0
call fcn.00430307
sub eax, dword [0x55f5e4]
mov edx, dword [0x57080c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x410e07
mov ecx, dword [0x45cccc]
mov eax, dword [0x45ccd0]
mov esi, dword [0x45cce4]
lea edi, [eax + ecx]
mov eax, 0x4f576647
imul edi, edi, 0x1bd
imul esi
sar edx, 8
add edi, edx
mov ebx, edx
mov edx, dword [0x45cce0]
imul edx, edx, 0x25d
shr ebx, 0x1f
add ebx, edi
add ebx, edx
mov eax, 0x38e38e39
imul esi
sar edx, 7
add ebx, edx
mov esi, edx
mov eax, 0x71625345
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
shr esi, 0x1f
add esi, ebx
sub esi, eax
mov eax, dword [0x55f5e0]
cdq
idiv dword [0x55f5d8]
mov ecx, dword [0x45ccdc]
imul ecx, ecx, 0xe1
add esi, ecx
mov ecx, 0x55f5e8
mov dword [0x45ccdc], esi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
sub ecx, eax
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x410de4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042fb01
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042fb01
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042fb01
add esp, 0x3648
ret