Function at 0x410900
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.00430ea0
mov eax, dword [0x45f540]
xor eax, esp
mov dword [esp + 0x3644], eax
push ebx
mov ebx, dword [0x45dbdc]
push ebp
push esi
mov esi, dword [0x45dbd4]
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, ebx
imul ebp, ebp, 0xdbb5
sub ebp, eax
push edi
mov edi, dword [0x45dbcc]
mov eax, 0xbf1fa759
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
add ebp, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov esi, edx
add ebp, edx
mov ecx, dword [0x45dbe8]
mov edx, edi
imul ecx, ecx, 0x156ac
imul edx, edx, 0x14289
shr esi, 0x1f
add esi, ebp
add esi, edx
mov eax, 0x7f55e343
imul edi
mov edi, dword [0x45dbc8]
sar edx, 0xf
imul edi, edi, 0xdbb5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov dword [str._r_____r____], esi
mov esi, dword [0x45dbd8]
mov edx, esi
imul edx, edx, 0x156e6
add edi, edx
mov eax, 0xbf1fa759
imul ebx
add edx, ebx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x8116582f
imul esi
add edx, esi
sar edx, 0xd
mov esi, edx
add edi, edx
mov edx, dword [0x45dbd0]
mov eax, 0x39f7b4f
imul edx
shr esi, 0x1f
add esi, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe4]
sub esi, eax
mov eax, dword [esp + 0x365c]
sub esi, edx
test eax, eax
lea ecx, [esi + ecx - 0x3f76]
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov dword [0x45dbd0], ecx
push 0x2800
jne 0x410a45
lea edx, [esp + 0xe5c]
push edx
push 0x44de89
push str.ConfigL4
jmp 0x410a57
lea eax, [esp + 0xe5c]
push eax
push 0x44de89
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x45dbcc]
mov edi, dword [0x45dbd0]
mov eax, 0x9524e185
imul ecx
add edx, ecx
sar edx, 0xf
lea esi, [edi + ecx]
mov ecx, edx
imul esi, esi, 0x10156
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov ebx, edx
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
shr ebx, 0x1f
add ebx, esi
mov esi, dword [0x45dbe0]
add ebx, edx
mov eax, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x3f76
shr eax, 0x1f
add eax, ebx
add eax, edx
mov edx, esi
imul edx, edx, 0x8af5
add eax, edx
mov dword [0x45dbdc], eax
lea eax, [esp + 0xe54]
lea ebx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410af0
sub eax, ebx
mov dword [esp + 0x10], eax
jne 0x410b07
or eax, 0xffffffff
jmp 0x411332
mov eax, 0x9524e185
imul esi, esi, 0x5556
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x32cc2d1b
imul edi
sar edx, 0xe
add esi, edx
mov ecx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr ecx, 0x1f
add ecx, esi
add ecx, edx
mov eax, 0x8116582f
imul edi
add edx, edi
sar edx, 0xd
add ecx, edx
mov esi, edx
mov eax, 0x3af417
imul edi
shr esi, 0x1f
sar edx, 5
add esi, ecx
mov eax, edx
lea ecx, [esp + 0xe54]
push ecx
add esi, edx
shr eax, 0x1f
lea edx, [esp + 0x18]
add eax, esi
push 0x190
push edx
mov dword [0x45dbc8], eax
call fcn.004101c0
mov ebp, eax
add esp, 0xc
cmp ebp, 4
jl 0x41132d
and eax, reloc.WS2_32.dll_closesocket
jns 0x410ba1
dec eax
or eax, 0xfffffffc
inc eax
jne 0x41132d
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45dbd8]
lea edi, [ebx + ecx]
imul ecx, ecx, 0x14373
mov eax, 0xca9db4d5
imul edi, edi, 0xdbb5
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, ecx
mov ecx, esi
imul ecx, ecx, 0x14289
add eax, ecx
mov ecx, eax
mov eax, 0x72c3c0b5
imul esi
mov edi, dword [0x45dbe0]
sar edx, 0xe
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 [0x5604d8], eax
mov eax, dword [0x571708]
test eax, eax
lea ecx, [ecx + edi - 0x3f76]
mov dword [0x45dbd4], ecx
jg 0x410e0a
mov edi, dword [0x45dbe8]
imul ecx, ecx, 0x156ac
imul esi, esi, 0x3f76
mov edx, dword [0x45dbd0]
imul ebx, ebx, 0x8af5
lea eax, [edx + edi]
imul eax, eax, 0x11aa4
sub eax, ecx
mov ecx, dword [0x45dbcc]
sub eax, esi
mov dword [esp + 0x10], eax
mov eax, 0x39f7b4f
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0x7f55e343
imul edi
sar edx, 0xf
add ecx, ebx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
mov eax, edx
add ecx, edx
shr eax, 0x1f
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x44de89
push str.ConfigL1
push str.GameType1
mov dword [0x45dbe0], eax
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430e62
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x410ce2
mov dword [0x571708], ebp
jmp 0x410d13
lea eax, [esp + 0x654]
push eax
call fcn.00430e62
add esp, 4
cmp eax, edi
jle 0x410cfe
mov dword [0x571708], edi
jmp 0x410d13
lea ecx, [esp + 0x654]
push ecx
call fcn.00430e62
add esp, 4
mov dword [0x571708], eax
mov ecx, dword [0x45dbe8]
mov edx, dword [0x45dbd0]
mov eax, dword [0x45dbd4]
lea ebx, [edx + ecx]
imul eax, eax, 0x156ac
mov edx, dword [0x45dbdc]
imul ebx, ebx, 0x11aa4
imul edx, edx, 0x3f76
sub ebx, eax
sub ebx, edx
mov edx, dword [0x45dbcc]
mov eax, 0x39f7b4f
imul edx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbd8]
imul edx, edx, 0x8af5
sub ebx, eax
add ebx, edx
mov eax, 0x7f55e343
imul ecx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
push 0x800
sar edx, 0xf
lea ecx, [esp + 0x65c]
push ecx
mov eax, edx
push 0x44de89
shr eax, 0x1f
add ebx, edx
push str.ConfigL2
add eax, ebx
push str.GameType1
mov dword [0x45dbe0], eax
call esi
lea edx, [esp + 0x654]
push edx
call fcn.00430e62
add esp, 4
cmp eax, ebp
jge 0x410dc1
mov dword [0x57170c], ebp
jmp 0x410df2
lea eax, [esp + 0x654]
push eax
call fcn.00430e62
add esp, 4
cmp eax, edi
jle 0x410ddd
mov dword [0x57170c], edi
jmp 0x410df2
lea ecx, [esp + 0x654]
push ecx
call fcn.00430e62
add esp, 4
mov dword [0x57170c], eax
mov ecx, dword [0x45dbd4]
mov esi, dword [0x45dbdc]
mov ebx, dword [0x45dbd8]
mov edi, dword [0x45dbe0]
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x9524e185
imul ecx
add edx, ecx
mov ecx, dword [0x45dbe8]
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x156ac
mov ebp, eax
sub ebp, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x3f76
mov eax, edi
imul eax, eax, 0x14289
add ebp, eax
add ebp, edx
mov edx, dword [0x45dbcc]
mov eax, 0x72c3c0b5
imul edx
sar edx, 0xe
mov eax, edx
add ebp, edx
mov edx, dword [str._r_____r____]
shr eax, 0x1f
add eax, ebp
mov ebp, dword [esp + 0x10]
sub eax, edx
lea edx, [eax + ebp + 0x11aa4]
mov eax, dword [0x5604dc]
test eax, eax
mov dword [0x45dbcc], edx
jg 0x41107b
mov eax, 0x2fd0003
imul ecx
mov eax, dword [0x45dbc8]
imul eax, eax, 0x14373
sar edx, 0xa
mov esi, edx
shr esi, 0x1f
add esi, edx
add esi, eax
mov eax, 0x32cc2d1b
imul ecx
imul ecx, ecx, 0x3f76
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x72c3c0b5
imul edi
imul edi, edi, 0x8ec3
sub esi, ecx
push str.C:_WINDoWS_system32driversetc_serViCe5.ini
sar edx, 0xe
push 0x800
mov ecx, edx
add esi, edx
shr ecx, 0x1f
lea edx, [esp + 0x65c]
push edx
add ecx, esi
push 0x44de89
add ecx, edi
push str.ConfigL3
sub ecx, ebp
push str.GameType1
mov dword [0x45dbd8], ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [0x45dbd4]
mov ecx, dword [0x45dbc8]
lea esi, [ecx + eax]
mov ecx, dword [0x45dbe4]
imul esi, esi, 0x8ec3
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
mov ecx, dword [0x45dbd8]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
sub esi, eax
mov eax, edx
imul eax, eax, 0x14373
add esi, eax
mov eax, 0x39f7b4f
imul edx
sar edx, 0xa
mov edi, edx
add esi, edx
mov eax, 0x7f55e343
imul ecx
sar edx, 0xf
mov ecx, edx
shr edi, 0x1f
shr ecx, 0x1f
add ecx, edx
add edi, esi
lea edx, [esp + 0x654]
sub edi, ecx
push edx
mov dword [0x45dbe4], edi
call fcn.00430e62
mov ecx, dword [0x5604d8]
add esp, 4
cmp eax, ecx
jge 0x410fcb
mov dword [0x5604dc], ecx
jmp 0x411069
lea eax, [esp + 0x654]
push eax
call fcn.00430e62
add esp, 4
cmp eax, 0x64
jle 0x411054
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov ebx, dword [0x45dbd8]
mov eax, 0xca9db4d5
imul esi
lea edi, [ebx + ecx]
imul ecx, ecx, 0x14373
imul edi, edi, 0xdbb5
add edx, esi
sar edx, 0x10
mov ebp, edx
add edi, edx
shr ebp, 0x1f
mov eax, 0x72c3c0b5
imul esi
add ebp, edi
add ebp, ecx
mov ecx, esi
imul ecx, ecx, 0x14289
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebp, ecx
mov ecx, dword [0x45dbe0]
add eax, edx
sub ebp, eax
lea edx, [ecx + ebp - 0x3f76]
mov dword [0x45dbd4], edx
mov dword [0x5604dc], 0x64
jmp 0x411075
lea eax, [esp + 0x654]
push eax
call fcn.00430e62
add esp, 4
mov dword [0x5604dc], eax
mov esi, dword [0x45dbdc]
mov ebx, dword [0x45dbd8]
mov ecx, dword [0x45dbe8]
mov edi, dword [0x45dbc8]
imul ecx, ecx, 0x156ac
imul edi, edi, 0xdbb5
mov edx, ebx
imul edx, edx, 0x156e6
add edi, edx
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x8116582f
imul ebx
mov ebp, dword [0x45dbe4]
add edi, ecx
mov ecx, dword [0x45dbd0]
add edx, ebx
sar edx, 0xd
mov esi, edx
add edi, edx
mov eax, 0x39f7b4f
imul ecx
sar edx, 0xa
shr esi, 0x1f
mov ecx, edx
shr ecx, 0x1f
add esi, edi
add ecx, edx
sub esi, ecx
sub esi, ebp
sub esi, 0x3f76
push 0
mov dword [0x45dbd0], esi
call fcn.00430e67
sub eax, dword [0x571730]
add esp, 4
cmp eax, 0xa8c0
jl 0x41118b
mov esi, dword [0x45dbdc]
mov ecx, dword [str._r_____r____]
mov edx, dword [0x45dbd8]
lea edi, [edx + ecx]
imul ecx, ecx, 0x14373
mov eax, 0xca9db4d5
imul edi, edi, 0xdbb5
imul esi
add edx, esi
sar edx, 0x10
mov eax, esi
imul eax, eax, 0x14289
mov ebx, edx
add edi, edx
shr ebx, 0x1f
add ebx, edi
add ebx, ecx
add ebx, eax
mov eax, 0x72c3c0b5
imul esi
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbe0]
sub ebx, ecx
lea eax, [ebx + edx - 0x3f76]
push 0
mov dword [0x45dbd4], eax
call fcn.00430e67
add esp, 4
xor edi, edi
mov dword [0x571730], eax
mov dword [0x5604e0], edi
jmp 0x411191
mov edi, dword [0x5604e0]
mov ecx, dword [0x45dbe8]
mov esi, dword [0x45dbd4]
mov eax, 0x2fd0003
imul ecx
sar edx, 0xa
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x14373
add ebx, edx
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x32cc2d1b
imul ecx
imul ecx, ecx, 0x3f76
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, ecx
mov ecx, dword [0x45dbe0]
mov eax, 0x72c3c0b5
imul ecx
imul ecx, ecx, 0x8ec3
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
add eax, ecx
mov dword [0x45dbd8], eax
cmp edi, dword [0x5604dc]
jge 0x411326
cmp edi, dword [0x5604d8]
jge 0x41124b
push 0
call fcn.00430e67
mov ecx, dword [0x571708]
mov esi, dword [0x5604e4]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x411284
mov edi, dword [0x5604e0]
cmp edi, dword [0x5604dc]
jge 0x411326
cmp edi, dword [0x5604d8]
jl 0x411326
push 0
call fcn.00430e67
sub eax, dword [0x5604e4]
mov edx, dword [0x57170c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x411326
mov ecx, dword [0x45dbcc]
mov eax, dword [0x45dbd0]
lea esi, [eax + ecx]
mov eax, 0x9524e185
imul esi, esi, 0x10156
imul ecx
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45dbe4]
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
sar edx, 0x10
add esi, edx
mov edi, edx
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
mov ecx, dword [0x45dbdc]
sar edx, 0x10
imul ecx, ecx, 0x3f76
shr edi, 0x1f
mov eax, edx
add edi, esi
add edi, edx
mov edx, dword [0x45dbe0]
imul edx, edx, 0x8af5
shr eax, 0x1f
add eax, edi
add eax, ecx
add eax, edx
mov dword [0x45dbdc], eax
mov eax, dword [0x5604e0]
cdq
idiv dword [0x5604d8]
mov ecx, 0x5604e8
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 0x411318
xor eax, eax
jmp 0x411332
mov eax, 9
jmp 0x411332
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043065d
add esp, 0x3648
ret