Function at 0x40e970
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042d840
mov eax, dword [0x45b4b0]
mov dword [esp + 0x3644], eax
push ebx
mov ebx, dword [0x459b44]
push ebp
push esi
mov esi, dword [0x459b58]
mov eax, 0x491979d9
imul esi, esi, 0x3b76e
imul ebx
sar edx, 0x11
mov ecx, edx
push edi
mov edi, dword [0x459b3c]
mov eax, edi
imul eax, eax, 0x426f4
shr ecx, 0x1f
add ecx, edx
add eax, ecx
add eax, esi
shl eax, 1
mov ebp, eax
mov eax, 0x89cc5bfb
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebp, eax
mov eax, 0x5764ae1b
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b40]
sub ebp, eax
mov eax, 0xf6ddfe9
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b4c]
mov edi, eax
mov eax, 0xa89b51e5
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b48]
imul edx, edx, 0xbb797
sub eax, edi
mov edi, dword [0x459b54]
add eax, edx
mov edx, dword [0x459b38]
imul edx, edx, 0x20dab
add eax, edx
sub eax, edi
add eax, ecx
lea eax, [eax + esi - 0xd61e3]
mov dword [0x459b40], eax
mov eax, dword [esp + 0x365c]
test eax, eax
push str.C:_WINDOWS_system32driversetc_service5.ini
mov dword [str._r_____r____], ebp
push 0x2800
jne 0x40ea7e
lea ecx, [esp + 0xe5c]
push ecx
push 0x449e59
push str.ConfigL4
jmp 0x40ea90
lea edx, [esp + 0xe5c]
push edx
push 0x449e59
push str.ConfigL4x
push str.GameType1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [0x459b44]
mov edi, dword [0x459b50]
mov ebp, dword [0x459b40]
mov eax, 0x491979d9
imul ecx
mov eax, dword [0x459b4c]
sar edx, 0x11
imul eax, eax, 0xd61e3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, edi
imul ebx, ebx, 0x3eb04
add ebx, eax
mov edx, ebp
imul edx, edx, 0x1db98
add ebx, edx
mov eax, 0x5764ae1b
imul dword [0x459b54]
mov esi, dword [0x459b58]
sar edx, 0x12
imul esi, esi, 0x3b76e
add ebx, edx
mov eax, edx
mov edx, dword [0x459b3c]
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0xf957fd3
imul edx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, ecx
add ebx, esi
lea eax, [esp + 0xe54]
mov dword [0x459b4c], ebx
lea edx, [eax + 1]
nop
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x40eb30
sub eax, edx
mov dword [esp + 0x10], eax
jne 0x40eb59
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042d001
add esp, 0x3648
ret
mov eax, 0x20ab631d
imul edi, edi, 0x1db98
imul ebp
sar edx, 0xf
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x459b38]
imul edx, edx, 0xd61e3
add ebx, edx
mov eax, 0x4c84c1e9
imul ebp
sar edx, 0x12
mov ebp, edx
add ebx, edx
mov eax, 0xf957fd3
imul dword [0x459b54]
sar edx, 0xd
shr ebp, 0x1f
mov eax, edx
add ebp, ebx
shr eax, 0x1f
sub ebp, edi
add eax, edx
sub ebp, eax
add ebp, ecx
lea ecx, [esp + 0xe54]
push ecx
lea edx, [esp + 0x18]
push 0x190
add ebp, esi
push edx
mov dword [0x459b38], ebp
call fcn.0040e2c0
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x10], eax
jl 0x40f353
and eax, reloc.WS2_32.dll_closesocket
jns 0x40ebe7
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40f353
mov ebx, dword [0x459b4c]
mov ecx, dword [0x459b58]
mov esi, dword [0x459b48]
mov eax, 0x415373e5
imul ebx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, ebx
imul ebp, ebp, 0x84de8
sub ebp, eax
mov edx, ecx
imul edx, edx, 0x3b76e
mov eax, esi
imul eax, eax, 0x20dab
add ebp, edx
mov edx, dword [0x459b44]
add ebp, eax
mov edi, dword [0x459b50]
mov eax, 0x491979d9
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x70110
add eax, edi
add eax, ebp
lea eax, [edx + eax - 0xd61e3]
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 0x40ee4d
mov edx, dword [0x459b3c]
imul esi, esi, 0x3eb04
imul ebx, ebx, 0xd61e3
mov eax, 0xf6ddfe9
imul ecx, ecx, 0xc0332
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b44]
sub esi, ebx
sub esi, eax
mov eax, edx
imul eax, eax, 0x3b76e
sub esi, eax
mov eax, 0x491979d9
imul edx
add esi, ecx
push str.C:_WINDOWS_system32driversetc_service5.ini
sar edx, 0x11
add esi, edx
push 0x800
mov ecx, edx
lea edx, [esp + 0x65c]
push edx
push 0x449e59
shr ecx, 0x1f
add ecx, esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.ConfigL1
push str.GameType1
mov dword [0x459b50], ecx
call esi
lea eax, [esp + 0x654]
push eax
call fcn.0042d802
add esp, 4
cmp eax, ebp
mov edi, 0x78
jge 0x40ed2c
mov dword [0x56d668], ebp
jmp 0x40ed5d
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d802
add esp, 4
cmp eax, edi
jle 0x40ed48
mov dword [0x56d668], edi
jmp 0x40ed5d
lea edx, [esp + 0x654]
push edx
call fcn.0042d802
add esp, 4
mov dword [0x56d668], eax
mov ebx, dword [0x459b48]
mov eax, dword [0x459b4c]
imul ebx, ebx, 0x3eb04
mov ecx, dword [0x459b3c]
imul eax, eax, 0xd61e3
sub ebx, eax
mov eax, 0xf6ddfe9
imul ecx
mov eax, dword [0x459b58]
sar edx, 0xf
imul eax, eax, 0xc0332
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
mov ecx, dword [0x459b44]
mov edx, ecx
imul edx, edx, 0x3b76e
sub ebx, edx
add ebx, eax
mov eax, 0x491979d9
imul ecx
push str.C:_WINDOWS_system32driversetc_service5.ini
sar edx, 0x11
push 0x800
mov ecx, edx
add ebx, edx
lea edx, [esp + 0x65c]
push edx
push 0x449e59
shr ecx, 0x1f
push str.ConfigL2
add ecx, ebx
push str.GameType1
mov dword [0x459b50], ecx
call esi
lea eax, [esp + 0x654]
push eax
call fcn.0042d802
add esp, 4
cmp eax, ebp
jge 0x40ee04
mov dword [0x56d66c], ebp
jmp 0x40ee35
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d802
add esp, 4
cmp eax, edi
jle 0x40ee20
mov dword [0x56d66c], edi
jmp 0x40ee35
lea edx, [esp + 0x654]
push edx
call fcn.0042d802
add esp, 4
mov dword [0x56d66c], eax
mov ecx, dword [0x459b58]
mov esi, dword [0x459b48]
mov ebx, dword [0x459b4c]
mov edi, dword [0x459b50]
mov eax, 0x491979d9
imul dword [0x459b44]
sar edx, 0x11
mov ebp, edi
imul ebp, ebp, 0x426f4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b3c]
add ebp, eax
mov eax, 0x415373e5
imul edx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + ebp*2 + 0x84bc4]
mov ebp, dword [str._r_____r____]
mov eax, dword [0x55c43c]
sub edx, ebp
test eax, eax
mov dword [0x459b3c], edx
jg 0x40f07e
mov eax, 0x3da796f7
imul edi, edi, 0x3eb37
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x89c36131
imul ecx
add edx, ecx
imul ecx, ecx, 0x9aa75
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
push str.C:_WINDOWS_system32driversetc_service5.ini
add edi, edx
add eax, edi
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 ecx, dword [0x459b48]
mov esi, dword [0x459b38]
mov eax, 0x89cc5bfb
imul esi, esi, 0x3eb37
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b54]
sub esi, eax
mov eax, 0x5764ae1b
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b58]
imul edx, edx, 0x3b76e
sub esi, eax
add esi, edx
mov eax, 0x491979d9
imul ecx
mov ecx, dword [0x459b44]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x491979d9
imul ecx
sar edx, 0x11
mov ecx, edx
add esi, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x70110
shr ecx, 0x1f
add ecx, esi
lea eax, [esp + 0x654]
add ecx, edx
push eax
mov dword [0x459b54], ecx
call fcn.0042d802
mov ecx, dword [0x55c438]
add esp, 4
cmp eax, ecx
jge 0x40efba
mov dword [0x55c43c], ecx
jmp 0x40f06c
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d802
add esp, 4
cmp eax, 0x64
jle 0x40f057
mov ebx, dword [0x459b4c]
mov ecx, dword [0x459b58]
mov esi, dword [0x459b48]
mov eax, 0x415373e5
imul ebx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, ebx
imul edi, edi, 0x84de8
sub edi, eax
mov edx, ecx
imul edx, edx, 0x3b76e
mov eax, esi
imul eax, eax, 0x20dab
add edi, edx
mov edx, dword [0x459b44]
add edi, eax
mov eax, 0x491979d9
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, dword [0x459b50]
mov edx, dword [str._r_____r____]
imul edx, edx, 0x70110
add eax, edi
lea eax, [edx + eax - 0xd61e3]
mov dword [0x459b44], eax
mov dword [0x55c43c], 0x64
jmp 0x40f07e
lea ecx, [esp + 0x654]
push ecx
call fcn.0042d802
add esp, 4
mov dword [0x55c43c], eax
mov ecx, dword [0x459b58]
mov esi, dword [0x459b48]
mov ebx, dword [0x459b4c]
mov edx, dword [0x459b40]
imul ecx, ecx, 0x3b76e
imul esi, esi, 0xbb797
mov eax, 0xf6ddfe9
imul edx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xa89b51e5
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, dword [0x459b54]
mov ebx, eax
sub ebx, edi
add ebx, esi
add ebx, ecx
mov ecx, dword [0x459b38]
mov eax, 0x491979d9
imul ecx, ecx, 0x20dab
imul dword [0x459b44]
sar edx, 0x11
add ebx, ecx
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
sub eax, ebp
sub eax, 0xd61e3
push 0
mov dword [0x459b40], eax
call fcn.0042d807
sub eax, dword [0x56d690]
add esp, 4
cmp eax, 0xa8c0
jl 0x40f19a
mov ecx, dword [0x459b4c]
mov eax, 0x415373e5
imul ecx
imul ecx, ecx, 0x84de8
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x459b58]
sub ecx, eax
imul edx, edx, 0x3b76e
mov eax, dword [0x459b48]
imul eax, eax, 0x20dab
add ecx, edx
mov edx, dword [0x459b44]
add ecx, eax
mov edi, dword [0x459b50]
mov eax, 0x491979d9
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x70110
add eax, edi
add eax, ecx
lea eax, [edx + eax - 0xd61e3]
push 0
mov dword [0x459b44], eax
call fcn.0042d807
add esp, 4
xor esi, esi
mov dword [0x56d690], eax
mov dword [0x55c440], esi
jmp 0x40f1a0
mov esi, dword [0x55c440]
mov ecx, dword [0x459b44]
mov edi, dword [0x459b50]
mov eax, 0x491979d9
imul edi, edi, 0x3eb37
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [0x459b58]
mov eax, 0x3da796f7
imul ecx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x89c36131
imul ecx
add edx, ecx
imul ecx, ecx, 0x9aa75
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
sub eax, ecx
mov dword [0x459b48], eax
cmp esi, dword [0x55c43c]
jge 0x40f337
cmp esi, dword [0x55c438]
jge 0x40f23b
push 0
call fcn.0042d807
mov ecx, dword [0x56d668]
mov esi, dword [0x55c444]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40f274
mov esi, dword [0x55c440]
cmp esi, dword [0x55c43c]
jge 0x40f337
cmp esi, dword [0x55c438]
jl 0x40f337
push 0
call fcn.0042d807
sub eax, dword [0x55c444]
mov edx, dword [0x56d66c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40f337
mov eax, dword [0x459b4c]
mov esi, dword [0x459b50]
imul eax, eax, 0xd61e3
mov ecx, dword [0x459b40]
imul esi, esi, 0x3eb04
imul ecx, ecx, 0x1db98
add esi, eax
add esi, ecx
mov ecx, dword [0x459b54]
mov eax, 0x5764ae1b
imul ecx
mov ecx, dword [0x459b3c]
sar edx, 0x12
add esi, edx
mov edi, edx
mov edx, dword [0x459b58]
imul edx, edx, 0x3b76e
shr edi, 0x1f
add edi, esi
add edi, edx
mov eax, 0xf957fd3
imul ecx
mov ecx, dword [0x459b44]
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x491979d9
imul ecx
mov eax, dword [0x55c440]
sar edx, 0x11
add edi, edx
mov ecx, edx
cdq
idiv dword [0x55c438]
shr ecx, 0x1f
add ecx, edi
mov dword [0x459b4c], ecx
mov ecx, 0x55c448
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 0x40f314
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042d001
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042d001
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042d001
add esp, 0x3648
ret