Function at 0x40cf10
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.0042aa70
mov eax, dword [0x458190]
mov dword [esp + 0x3644], eax
push ebp
push esi
mov esi, dword [0x45682c]
push edi
mov edi, dword [0x456824]
mov eax, 0x606c8017
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, 0xc4570565
imul esi
add edx, esi
sar edx, 0x16
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x329dfa79
imul edi
mov edi, dword [0x456830]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456838]
sub ecx, eax
imul edx, edx, 0x15bc8b
add ecx, edx
mov eax, edi
imul eax, eax, 0x53af19
add ecx, eax
mov eax, 0x329dfa79
imul esi
mov dword [str._r_____r____], ecx
imul ecx, ecx, 0x50ebd8
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456820]
sub ecx, eax
mov eax, 0x1eefbef3
imul edx
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
imul edx, edx, 0x779018
sub ecx, eax
mov eax, dword [esp + 0x3658]
add ecx, edx
sub ecx, edi
sub ecx, 0x45ab63
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x456820], ecx
push 0x2800
jne 0x40d011
lea eax, [esp + 0xe58]
push eax
push 0x446e1d
push str.ConfigL4
jmp 0x40d023
lea ecx, [esp + 0xe58]
push ecx
push 0x446e1d
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x456820]
mov eax, 0x329dfa79
imul ecx
mov eax, dword [0x456824]
mov esi, ecx
imul eax, eax, 0x45ab63
imul esi, esi, 0x537276
sar edx, 0x14
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x456830]
mov edx, esi
imul edx, edx, 0x31e0ba
add edi, edx
mov edx, dword [0x45681c]
add edi, eax
mov eax, 0x224214b1
imul edx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
lea eax, [esp + 0xe50]
mov dword [0x45682c], edi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40d091
sub eax, edi
mov dword [esp + 0xc], eax
jne 0x40d0b9
pop edi
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a161
add esp, 0x3648
ret
mov eax, 0x521ee247
imul esi, esi, 0x537276
imul ecx
imul ecx, ecx, 0x45ab63
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
sub edi, esi
mov esi, dword [0x456834]
mov eax, 0x759571eb
imul esi
push ebx
sar edx, 0x15
mov ebx, edx
add edi, edx
mov eax, 0x224214b1
imul esi
shr ebx, 0x1f
sar edx, 0x14
add ebx, edi
add ebx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0xe54]
push edx
lea eax, [esp + 0x18]
sub ebx, ecx
push 0x190
push eax
mov dword [0x456818], ebx
call fcn.0040c960
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x40d78f
mov ecx, esi
and ecx, reloc.WS2_32.dll_closesocket
jns 0x40d143
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x40d78f
mov ebx, dword [str._r_____r____]
mov eax, 0x622f07f9
imul dword [0x45682c]
mov ecx, dword [0x456828]
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
mov edi, ebx
imul edx, edx, 0x53af19
imul edi, edi, 0x54f550
sub edi, eax
add edx, dword [0x456834]
mov eax, ecx
imul eax, eax, 0x779018
add edx, edi
lea edi, [eax + edx - 0x45ab63]
mov eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
mov dword [0x559118], eax
mov eax, dword [0x56a348]
test eax, eax
mov dword [0x456824], edi
jg 0x40d32f
mov edx, dword [0x45681c]
imul edi, edi, 0x42333a
imul ecx, ecx, 0x1c242f
mov eax, 0x1eefbef3
imul edx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x45682c]
imul eax, eax, 0x45ab63
push str.C:WINDOWS_system32driversetc_service5.ini
sub edi, eax
push 0x800
add edi, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e1d
push str.ConfigL1
push str.GameType1
mov dword [0x456830], edi
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042aa25
add esp, 4
cmp eax, esi
mov edi, 0x78
jge 0x40d23c
mov dword [0x56a348], esi
jmp 0x40d26d
lea eax, [esp + 0x654]
push eax
call fcn.0042aa25
add esp, 4
cmp eax, edi
jle 0x40d258
mov dword [0x56a348], edi
jmp 0x40d26d
lea ecx, [esp + 0x654]
push ecx
call fcn.0042aa25
add esp, 4
mov dword [0x56a348], eax
mov ecx, dword [0x45681c]
mov eax, 0x1eefbef3
imul ecx
mov ecx, dword [0x456824]
imul ecx, ecx, 0x42333a
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45682c]
sub ecx, eax
imul edx, edx, 0x45ab63
mov eax, dword [0x456828]
imul eax, eax, 0x1c242f
sub ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
add ecx, eax
push 0x800
mov dword [0x456830], ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x446e1d
push str.ConfigL2
push str.GameType1
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.0042aa25
add esp, 4
cmp eax, esi
jge 0x40d2f2
mov dword [0x56a34c], esi
jmp 0x40d323
lea eax, [esp + 0x654]
push eax
call fcn.0042aa25
add esp, 4
cmp eax, edi
jle 0x40d30e
mov dword [0x56a34c], edi
jmp 0x40d323
lea ecx, [esp + 0x654]
push ecx
call fcn.0042aa25
add esp, 4
mov dword [0x56a34c], eax
mov ebx, dword [str._r_____r____]
mov edi, dword [0x456824]
mov esi, dword [0x456838]
mov ecx, dword [0x45681c]
mov eax, 0x606c8017
imul esi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], eax
mov eax, 0x622f07f9
imul ecx
mov eax, dword [esp + 0x10]
sar edx, 0x15
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, dword [0x456830]
mov edx, esi
imul eax, eax, 0x53af19
imul edx, edx, 0x15bc8b
sub ecx, edx
add ecx, eax
mov eax, dword [0x55911c]
sub ecx, edi
add ecx, 0x42333a
test eax, eax
mov dword [0x45681c], ecx
jg 0x40d526
mov eax, 0x606c8017
imul ecx, ecx, 0x536f78
imul edi
sar edx, 0x15
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xbc70579
imul esi
sar edx, 0x10
add ecx, edx
mov edi, edx
mov eax, 0x61e4609d
imul esi
imul esi, esi, 0x45ab63
shr edi, 0x1f
add edi, ecx
sar edx, 0x15
mov ecx, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr ecx, 0x1f
push 0x800
add ecx, edx
lea edx, [esp + 0x65c]
push edx
push 0x446e1d
sub edi, ecx
push str.ConfigL3
sub edi, esi
push str.GameType1
mov dword [0x456828], edi
call ebp
mov edx, dword [0x45681c]
mov ecx, dword [0x456828]
mov eax, 0x606c8017
imul edx
mov esi, ecx
sar edx, 0x15
imul esi, esi, 0x54f550
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0xc4570565
imul ecx
add edx, ecx
sar edx, 0x16
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x456818]
imul edx, edx, 0x536f78
sub esi, ecx
mov ecx, dword [0x456834]
add esi, edx
mov eax, 0x329dfa79
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x654]
sub esi, eax
push ecx
mov dword [0x456834], esi
call fcn.0042aa25
mov ecx, dword [0x559118]
add esp, 4
cmp eax, ecx
jge 0x40d497
mov dword [0x55911c], ecx
jmp 0x40d520
lea edx, [esp + 0x654]
push edx
call fcn.0042aa25
add esp, 4
cmp eax, 0x64
jle 0x40d50b
mov ebx, dword [str._r_____r____]
mov edi, dword [0x456834]
mov eax, 0x622f07f9
imul dword [0x45682c]
sar edx, 0x15
mov ecx, ebx
imul ecx, ecx, 0x54f550
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456818]
sub ecx, eax
imul edx, edx, 0x53af19
mov eax, dword [0x456828]
imul eax, eax, 0x779018
add edx, edi
add edx, ecx
lea ecx, [eax + edx - 0x45ab63]
mov dword [0x456824], ecx
mov dword [0x55911c], 0x64
jmp 0x40d526
lea edx, [esp + 0x654]
push edx
call fcn.0042aa25
add esp, 4
mov dword [0x55911c], eax
mov ebx, dword [str._r_____r____]
mov ecx, dword [0x456820]
imul ebx, ebx, 0x50ebd8
mov eax, 0x329dfa79
imul dword [0x45682c]
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x1eefbef3
imul ecx
mov eax, dword [0x456818]
imul eax, eax, 0x779018
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
add ebx, eax
sub ebx, dword [0x456830]
sub ebx, 0x45ab63
push 0
mov dword [0x456820], ebx
call fcn.0042aa2a
sub eax, dword [0x56a370]
add esp, 4
cmp eax, 0xa8c0
jl 0x40d5fe
mov ecx, dword [0x45682c]
mov esi, dword [str._r_____r____]
mov ebx, dword [0x456834]
imul esi, esi, 0x54f550
mov eax, 0x622f07f9
imul ecx
mov ecx, dword [0x456818]
sar edx, 0x15
imul ecx, ecx, 0x53af19
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x456828]
imul edx, edx, 0x779018
sub esi, eax
add ecx, ebx
add ecx, esi
lea eax, [edx + ecx - 0x45ab63]
push 0
mov dword [0x456824], eax
call fcn.0042aa2a
add esp, 4
xor esi, esi
mov dword [0x56a370], eax
mov dword [0x559120], esi
jmp 0x40d604
mov esi, dword [0x559120]
mov ecx, dword [0x456824]
mov edi, dword [0x45681c]
mov eax, 0x606c8017
imul edi, edi, 0x536f78
imul ecx
sar edx, 0x15
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
mov ecx, dword [0x456838]
mov eax, 0xbc70579
imul ecx
sar edx, 0x10
add edi, edx
mov ebx, edx
mov eax, 0x61e4609d
imul ecx
imul ecx, ecx, 0x45ab63
sar edx, 0x15
shr ebx, 0x1f
mov eax, edx
shr eax, 0x1f
add ebx, edi
add eax, edx
sub ebx, eax
mov eax, dword [0x55911c]
sub ebx, ecx
cmp esi, eax
mov dword [0x456828], ebx
jge 0x40d773
cmp esi, dword [0x559118]
jge 0x40d69d
push 0
call fcn.0042aa2a
mov ecx, dword [0x56a348]
mov esi, dword [0x559124]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40d6d6
mov esi, dword [0x559120]
cmp esi, dword [0x55911c]
jge 0x40d773
cmp esi, dword [0x559118]
jl 0x40d773
push 0
call fcn.0042aa2a
sub eax, dword [0x559124]
mov edx, dword [0x56a34c]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40d773
mov ecx, dword [0x456820]
mov eax, 0x329dfa79
imul ecx
mov eax, dword [0x456830]
imul eax, eax, 0x31e0ba
mov esi, ecx
mov ecx, dword [0x456824]
imul esi, esi, 0x537276
sar edx, 0x14
imul ecx, ecx, 0x45ab63
mov edi, edx
add esi, edx
shr edi, 0x1f
add edi, esi
add edi, eax
add edi, ecx
mov ecx, dword [0x45681c]
mov eax, 0x224214b1
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x559120]
cdq
idiv dword [0x559118]
mov dword [0x45682c], edi
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x559128
sub edx, eax
jmp 0x40d750
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40d750
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a161
add esp, 0x3648
ret
pop ebx
pop edi
pop esi
mov eax, 9
pop ebp
mov ecx, dword [esp + 0x3644]
call fcn.0042a161
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop ebx
pop edi
pop esi
mov eax, 0xfffffffe
pop ebp
call fcn.0042a161
add esp, 0x3648
ret