Function at 0x40e8d0
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042d750
mov eax, dword [0x45b4b0]
mov dword [esp + 0x3644], eax
push ebx
mov ebx, dword [0x459b3c]
push ebp
push esi
mov esi, dword [0x459b58]
push edi
imul esi, esi, 0x171ed6e
mov edi, dword [0x459b44]
mov eax, 0x5e407cd
imul edi
sar edx, 0x14
mov ecx, edx
mov eax, ebx
imul eax, eax, 0x1a0fa8c
shr ecx, 0x1f
add ecx, edx
add eax, ecx
add eax, esi
shl eax, 1
mov ebp, eax
mov eax, 0x702fe9a3
imul edi
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x565ef47
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b4c]
mov edi, dword [0x459b48]
sub ebp, eax
imul edi, edi, 0x4905557
mov eax, 0x702fe9a3
imul edx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b38]
imul edx, edx, 0xd0a84b
sub edi, eax
mov ebx, dword [0x459b54]
add edi, edx
mov edx, dword [0x459b40]
mov eax, 0x4eb6fa85
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [esp + 0x365c]
sub edi, ebx
add edi, ecx
test eax, eax
lea ecx, [edi + esi - 0x53d33c3]
push str.C:_WINDOWS_system32driversetc_service5.ini
mov dword [str._r_____r____], ebp
mov dword [0x459b40], ecx
push 0x2800
jne 0x40e9db
lea edx, [esp + 0xe5c]
push edx
push 0x449e59
push str.ConfigL4
jmp 0x40e9ed
lea eax, [esp + 0xe5c]
push eax
push 0x449e59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x459b44]
mov esi, dword [0x459b58]
mov ebp, dword [0x459b54]
imul esi, esi, 0x171ed6e
mov eax, 0x5e407cd
imul ecx
sar edx, 0x14
mov ecx, edx
add esi, edx
shr ecx, 0x1f
add esi, ecx
mov ecx, dword [0x459b50]
mov eax, 0x702fe9a3
imul ebp
mov edi, ecx
imul edi, edi, 0x185d014
sar edx, 0x19
mov ebx, edx
add edi, edx
mov edx, dword [0x459b4c]
shr ebx, 0x1f
imul edx, edx, 0x53d33c3
add ebx, edi
mov edi, dword [0x459b40]
mov eax, edi
imul eax, eax, 0xbdb188
add ebx, edx
mov edx, dword [0x459b3c]
add ebx, eax
mov eax, 0x2742b221
imul edx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, esi
lea eax, [esp + 0xe54]
mov dword [0x459b4c], ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x40ea90
sub eax, edx
mov dword [esp + 0x10], eax
jne 0x40eab9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042cf11
add esp, 0x3648
ret
mov eax, 0x540f9495
imul ecx, ecx, 0xbdb188
imul edi
sar edx, 0x17
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x459b38]
imul edx, edx, 0x53d33c3
add ebx, edx
mov eax, 0x186e8b3d
imul edi
sar edx, 0x17
mov edi, edx
add ebx, edx
mov eax, 0x2742b221
imul ebp
shr edi, 0x1f
sar edx, 0x15
add edi, ebx
mov eax, edx
sub edi, ecx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0xe54]
push ecx
sub edi, eax
lea edx, [esp + 0x18]
push 0x190
add edi, esi
push edx
mov dword [0x459b38], edi
call fcn.0040e230
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x40f2b1
and eax, reloc.WS2_32.dll_closesocket
jns 0x40eb41
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40f2b1
mov edi, dword [0x459b4c]
mov ecx, dword [0x459b58]
mov eax, 0x545b9e19
imul edi
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, edi
imul esi, esi, 0x341f518
sub esi, eax
mov edx, ecx
imul edx, edx, 0x171ed6e
mov ebx, dword [0x459b48]
add esi, edx
mov edx, dword [0x459b44]
mov eax, 0x5e407cd
imul edx
sar edx, 0x14
add esi, edx
mov eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x2b75400
shr eax, 0x1f
add eax, esi
mov esi, dword [0x459b50]
mov ebp, ebx
imul ebp, ebp, 0xd0a84b
add edx, esi
add edx, eax
lea eax, [edx + ebp - 0x53d33c3]
mov dword [0x459b44], eax
mov eax, dword [esp + 0x10]
cdq
mov ebp, 3
and edx, ebp
add eax, edx
sar eax, 2
mov dword [0x55c438], eax
mov eax, dword [0x56d668]
test eax, eax
jg 0x40edad
mov edx, dword [0x459b44]
imul ebx, ebx, 0x185d014
imul edi, edi, 0x53d33c3
mov esi, edx
imul ecx, ecx, 0x4b280d2
mov eax, 0x5e407cd
imul esi, esi, 0x171ed6e
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b3c]
sub eax, esi
add eax, ebx
sub eax, edi
mov esi, eax
mov eax, 0x4eb6fa85
imul edx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
push str.C:_WINDOWS_system32driversetc_service5.ini
add eax, edx
sub esi, eax
add esi, ecx
push 0x800
lea ecx, [esp + 0x65c]
push ecx
push 0x449e59
push str.ConfigL1
mov dword [0x459b50], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.GameType1
call esi
lea edx, [esp + 0x654]
push edx
call fcn.0042d712
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x40ec88
mov dword [0x56d668], ebp
jmp 0x40ecb9
lea eax, [esp + 0x654]
push eax
call fcn.0042d712
add esp, 4
cmp eax, edi
jle 0x40eca4
mov dword [0x56d668], edi
jmp 0x40ecb9
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d712
add esp, 4
mov dword [0x56d668], eax
mov ecx, dword [0x459b44]
mov eax, 0x5e407cd
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b4c]
mov ebx, ecx
imul edx, edx, 0x53d33c3
mov ecx, dword [0x459b48]
imul ebx, ebx, 0x171ed6e
imul ecx, ecx, 0x185d014
sub eax, ebx
add eax, ecx
mov ecx, dword [0x459b3c]
sub eax, edx
mov ebx, eax
mov eax, 0x4eb6fa85
imul ecx
mov ecx, dword [0x459b58]
sar edx, 0x18
imul ecx, ecx, 0x4b280d2
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 0x449e59
sub ebx, eax
push str.ConfigL2
add ebx, ecx
push str.GameType1
mov dword [0x459b50], ebx
call esi
lea eax, [esp + 0x654]
push eax
call fcn.0042d712
add esp, 4
cmp eax, ebp
jge 0x40ed64
mov dword [0x56d66c], ebp
jmp 0x40ed95
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d712
add esp, 4
cmp eax, edi
jle 0x40ed80
mov dword [0x56d66c], edi
jmp 0x40ed95
lea edx, [esp + 0x654]
push edx
call fcn.0042d712
add esp, 4
mov dword [0x56d66c], eax
mov ecx, dword [0x459b58]
mov ebx, dword [0x459b48]
mov edi, dword [0x459b4c]
mov esi, dword [0x459b50]
mov eax, 0x5e407cd
imul dword [0x459b44]
sar edx, 0x14
mov ebp, esi
imul ebp, ebp, 0x1a0fa8c
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b3c]
add ebp, eax
mov eax, 0x545b9e19
imul edx
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + ebp*2 + 0x3409364]
mov ebp, dword [str._r_____r____]
mov eax, dword [0x55c43c]
sub edx, ebp
test eax, eax
mov dword [0x459b3c], edx
jg 0x40efdb
mov eax, 0x9d2b2fed
imul esi, esi, 0x18470b7
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x58945bfd
imul ecx
imul ecx, ecx, 0x3cb4655
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
push str.C:_WINDOWS_system32driversetc_service5.ini
add esi, edx
add eax, esi
push 0x800
sub eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x449e59
push str.ConfigL3
push str.GameType1
mov dword [0x459b48], eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov esi, dword [0x459b38]
mov edx, dword [0x459b58]
imul esi, esi, 0x18470b7
mov ecx, dword [0x459b44]
imul edx, edx, 0x171ed6e
add esi, edx
mov eax, 0x5e407cd
imul ecx
mov eax, dword [str._r_____r____]
mov ecx, dword [0x459b54]
imul eax, eax, 0x2b75400
sar edx, 0x14
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x702fe9a3
imul ecx
sar edx, 0x19
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x459b48]
mov eax, 0x5e407cd
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x565ef47
imul ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0x654]
sub edi, ecx
push edx
mov dword [0x459b54], edi
call fcn.0042d712
mov ecx, dword [0x55c438]
add esp, 4
cmp eax, ecx
jge 0x40ef17
mov dword [0x55c43c], ecx
jmp 0x40efc9
lea eax, [esp + 0x654]
push eax
call fcn.0042d712
add esp, 4
cmp eax, 0x64
jle 0x40efb4
mov edi, dword [0x459b4c]
mov eax, 0x545b9e19
imul edi
sar edx, 0x17
mov ecx, edx
mov esi, edi
imul esi, esi, 0x341f518
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x459b58]
mov edx, ecx
imul edx, edx, 0x171ed6e
add esi, edx
mov edx, dword [0x459b44]
mov ebx, dword [0x459b48]
mov eax, 0x5e407cd
imul edx
sar edx, 0x14
add esi, edx
mov eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x2b75400
shr eax, 0x1f
add eax, esi
add edx, dword [0x459b50]
mov esi, ebx
imul esi, esi, 0xd0a84b
add edx, eax
lea eax, [esi + edx - 0x53d33c3]
mov dword [0x459b44], eax
mov dword [0x55c43c], 0x64
jmp 0x40efdb
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d712
add esp, 4
mov dword [0x55c43c], eax
mov ecx, dword [0x459b58]
mov ebx, dword [0x459b48]
mov edi, dword [0x459b4c]
imul ecx, ecx, 0x171ed6e
imul ebx, ebx, 0x4905557
mov eax, 0x5e407cd
imul dword [0x459b44]
sar edx, 0x14
add ecx, edx
mov esi, edx
mov eax, 0x702fe9a3
imul edi
shr esi, 0x1f
add esi, ecx
mov ecx, dword [0x459b38]
sar edx, 0x19
imul ecx, ecx, 0xd0a84b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov ebp, dword [0x459b54]
add esi, ebx
add esi, ecx
mov ecx, dword [0x459b40]
mov eax, 0x4eb6fa85
imul ecx
sar edx, 0x18
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
sub esi, ebp
sub esi, 0x53d33c3
push 0
mov dword [0x459b40], esi
call fcn.0042d717
sub eax, dword [0x56d690]
add esp, 4
cmp eax, 0xa8c0
jl 0x40f0f8
mov ecx, dword [0x459b4c]
mov eax, 0x545b9e19
imul ecx
mov esi, ecx
sar edx, 0x17
imul esi, esi, 0x341f518
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x459b58]
imul edx, edx, 0x171ed6e
mov edi, dword [0x459b50]
sub esi, ecx
mov ecx, dword [0x459b44]
add esi, edx
mov eax, 0x5e407cd
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x14
imul ecx, ecx, 0x2b75400
mov eax, edx
add esi, edx
mov edx, dword [0x459b48]
imul edx, edx, 0xd0a84b
shr eax, 0x1f
add eax, esi
add ecx, edi
add ecx, eax
lea eax, [edx + ecx - 0x53d33c3]
push 0
mov dword [0x459b44], eax
call fcn.0042d717
add esp, 4
xor esi, esi
mov dword [0x56d690], eax
mov dword [0x55c440], esi
jmp 0x40f0fe
mov esi, dword [0x55c440]
mov ecx, dword [0x459b44]
mov eax, 0x5e407cd
imul ecx
mov edi, dword [0x459b50]
sar edx, 0x14
imul edi, edi, 0x18470b7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [0x459b58]
mov eax, 0x9d2b2fed
imul ecx
add edx, ecx
sar edx, 0x19
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x58945bfd
imul ecx
imul ecx, ecx, 0x3cb4655
sar edx, 0x17
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
sub eax, ecx
mov dword [0x459b48], eax
cmp esi, dword [0x55c43c]
jge 0x40f295
cmp esi, dword [0x55c438]
jge 0x40f199
push 0
call fcn.0042d717
mov ecx, dword [0x56d668]
mov esi, dword [0x55c444]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40f1d2
mov esi, dword [0x55c440]
cmp esi, dword [0x55c43c]
jge 0x40f295
cmp esi, dword [0x55c438]
jl 0x40f295
push 0
call fcn.0042d717
sub eax, dword [0x55c444]
mov edx, dword [0x56d66c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40f295
mov ecx, dword [0x459b44]
mov esi, dword [0x459b58]
imul esi, esi, 0x171ed6e
mov eax, 0x5e407cd
imul ecx
mov eax, dword [0x459b50]
mov ecx, dword [0x459b54]
imul eax, eax, 0x185d014
sar edx, 0x14
add esi, edx
mov edi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
mov eax, 0x702fe9a3
imul ecx
mov ecx, dword [0x459b4c]
sar edx, 0x19
imul ecx, ecx, 0x53d33c3
add edi, edx
mov esi, edx
mov edx, dword [0x459b40]
imul edx, edx, 0xbdb188
shr esi, 0x1f
add esi, edi
add esi, ecx
mov ecx, dword [0x459b3c]
add esi, edx
mov eax, 0x2742b221
imul ecx
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, dword [0x55c440]
cdq
idiv dword [0x55c438]
mov ecx, 0x55c448
mov dword [0x459b4c], 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 0x40f272
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042cf11
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042cf11
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042cf11
add esp, 0x3648
ret