Function at 0x40c630
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x3648
call fcn.004298f0
mov eax, dword [0x456fc0]
mov ecx, dword [0x4556a8]
mov dword [esp + 0x3644], eax
mov eax, dword [0x45568c]
push ebx
imul eax, eax, 0x6e7be
push ebp
push esi
mov esi, dword [0x45569c]
push edi
mov edi, ecx
imul ecx, ecx, 0xa0008
imul edi, edi, 0xcecf4
add edi, eax
mov eax, 0x948af151
imul esi
add edx, esi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x455694]
sub edi, eax
mov eax, 0x3b1784cb
imul edx
sar edx, 0x11
mov ebx, edx
add edi, edx
shr ebx, 0x1f
add ebx, edi
mov edi, dword [0x455690]
mov eax, 0xcccc28f7
imul edi
add edx, edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x57ab2ce3
imul edi
mov dword [str._r_____r____], ebx
mov ebx, dword [0x455688]
imul ebx, ebx, 0x5715a
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, 0xcccc28f7
imul esi
mov eax, dword [esp + 0x365c]
add ebx, ecx
add edx, esi
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4556a0]
sub ebx, ecx
sub ebx, edx
sub ebx, 0x205c4
test eax, eax
push str.C:WINDOWS_system32driversetc_service5.ini
mov dword [0x455690], ebx
push 0x2800
jne 0x40c739
lea edx, [esp + 0xe5c]
push edx
push 0x445dd9
push str.ConfigL4
jmp 0x40c74b
lea eax, [esp + 0xe5c]
push eax
push 0x445dd9
push str.ConfigL4x
push str.GameType1
call ebp
mov ecx, dword [0x45568c]
mov esi, dword [0x455690]
mov eax, 0x1784740b
imul ecx
imul ecx, ecx, 0x8a933
sar edx, 0xf
mov edi, esi
imul edi, edi, 0xdc98b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x455694]
mov edx, ecx
imul edx, edx, 0x205c4
add edi, edx
mov eax, 0xcccc28f7
imul ecx
add edx, ecx
sar edx, 0x13
mov ecx, edx
add edi, edx
shr ecx, 0x1f
add ecx, edi
lea eax, [esp + 0xe54]
mov dword [0x45569c], ecx
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40c7b6
sub eax, edi
mov dword [esp + 0x10], eax
jne 0x40c7df
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042909d
add esp, 0x3648
ret
mov edx, dword [0x4556a4]
imul esi, esi, 0x205c4
mov edi, dword [0x4556a0]
mov eax, 0x1784740b
imul edi, edi, 0xfff23675
imul edx
sar edx, 0xf
mov eax, edx
mov ebx, dword [0x455688]
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3b1db3af
imul ecx
mov eax, dword [str._r_____r____]
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
lea edx, [esp + 0xe54]
sub ecx, esi
push edx
add ecx, eax
lea eax, [esp + 0x18]
add ebx, ecx
push 0x190
push eax
mov dword [0x455688], ebx
call fcn.0040c080
mov esi, eax
add esp, 0xc
cmp esi, 4
jl 0x40ce9f
mov ecx, esi
and ecx, reloc.WS2_32.dll_closesocket
jns 0x40c868
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x40ce9f
mov edi, dword [0x455698]
mov ebx, dword [0x45568c]
mov eax, edi
imul eax, eax, 0x5715a
mov edx, ebx
imul edx, edx, 0x6e7be
add eax, edx
mov ecx, eax
mov eax, 0x30f1b28f
imul dword [0x45569c]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [str._r_____r____]
add eax, dword [0x4556a4]
mov edx, ecx
imul edx, edx, 0x8aa1b
lea eax, [edx + eax - 0x205c4]
mov dword [0x455694], eax
mov eax, esi
cdq
mov esi, 3
and edx, esi
add eax, edx
sar eax, 2
mov dword [0x558258], eax
mov eax, dword [0x569484]
test eax, eax
jg 0x40ca31
mov eax, 0xa854d31d
imul edi, edi, 0x64985
imul ecx, ecx, 0xbae2b
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
sub eax, edi
push 0x800
add eax, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445dd9
push str.ConfigL1
push str.GameType1
mov dword [0x4556a0], eax
call ebp
lea edx, [esp + 0x654]
push edx
call fcn.004298aa
add esp, 4
cmp eax, esi
mov edi, 0x78
jge 0x40c952
mov dword [0x569484], esi
jmp 0x40c983
lea eax, [esp + 0x654]
push eax
call fcn.004298aa
add esp, 4
cmp eax, edi
jle 0x40c96e
mov dword [0x569484], edi
jmp 0x40c983
lea ecx, [esp + 0x654]
push ecx
call fcn.004298aa
add esp, 4
mov dword [0x569484], eax
mov ecx, dword [0x45568c]
mov ebx, dword [0x455698]
mov eax, 0xa854d31d
imul ebx, ebx, 0x64985
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x12
imul ecx, ecx, 0xbae2b
mov eax, edx
push str.C:WINDOWS_system32driversetc_service5.ini
shr eax, 0x1f
add eax, edx
push 0x800
lea edx, [esp + 0x65c]
push edx
push 0x445dd9
sub eax, ebx
push str.ConfigL2
add eax, ecx
push str.GameType1
mov dword [0x4556a0], eax
call ebp
lea eax, [esp + 0x654]
push eax
call fcn.004298aa
add esp, 4
cmp eax, esi
jge 0x40c9fa
mov dword [0x569488], esi
jmp 0x40ca2b
lea ecx, [esp + 0x654]
push ecx
call fcn.004298aa
add esp, 4
cmp eax, edi
jle 0x40ca16
mov dword [0x569488], edi
jmp 0x40ca2b
lea edx, [esp + 0x654]
push edx
call fcn.004298aa
add esp, 4
mov dword [0x569488], eax
mov edi, dword [0x455698]
mov ecx, dword [0x4556a8]
mov esi, dword [0x4556a0]
mov eax, ecx
imul eax, eax, 0xcecf4
mov ebx, esi
imul ebx, ebx, 0x6e7be
sub ebx, eax
mov eax, 0x30f1b28f
imul dword [0x45568c]
sar edx, 0x10
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x3b1784cb
imul dword [0x455690]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
mov ebx, dword [0x455694]
sub eax, ebx
add eax, 0xbae2b
mov dword [0x45568c], eax
mov eax, dword [0x55825c]
test eax, eax
jg 0x40cc33
mov eax, 0x9e71fdc9
imul esi, esi, 0x53aff
imul edi
add edx, edi
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x944b09c1
imul ecx
add edx, ecx
imul ecx, ecx, 0x205c4
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x3b1784cb
imul ebx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
push str.C:WINDOWS_system32driversetc_service5.ini
add edi, esi
add eax, edx
sub edi, eax
push 0x800
sub edi, ecx
lea ecx, [esp + 0x65c]
push ecx
push 0x445dd9
push str.ConfigL3
push str.GameType1
mov dword [0x455698], edi
call ebp
mov ecx, dword [0x45569c]
mov esi, dword [0x455688]
mov eax, 0x948af151
imul esi, esi, 0x53aff
imul ecx
add edx, ecx
imul ecx, ecx, 0x8aa1b
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov ecx, dword [0x45568c]
mov eax, 0x3b1784cb
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x4556a4]
mov eax, 0xcccc28f7
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [esp + 0x654]
sub esi, eax
push ecx
mov dword [0x4556a4], esi
call fcn.004298aa
mov ecx, dword [0x558258]
add esp, 4
cmp eax, ecx
jge 0x40cba2
mov dword [0x55825c], ecx
jmp 0x40cc27
lea edx, [esp + 0x654]
push edx
call fcn.004298aa
add esp, 4
cmp eax, 0x64
jle 0x40cc12
mov ecx, dword [0x455698]
mov edx, dword [0x45568c]
imul ecx, ecx, 0x5715a
imul edx, edx, 0x6e7be
add ecx, edx
mov eax, 0x30f1b28f
imul dword [0x45569c]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x8aa1b
sub ecx, eax
add ecx, dword [0x4556a4]
lea eax, [edx + ecx - 0x205c4]
mov dword [0x455694], eax
mov dword [0x55825c], 0x64
jmp 0x40cc27
lea ecx, [esp + 0x654]
push ecx
call fcn.004298aa
add esp, 4
mov dword [0x55825c], eax
mov ecx, dword [0x4556a8]
mov esi, dword [0x4556a0]
mov edi, dword [0x455688]
imul ecx, ecx, 0xa0008
mov eax, 0x57ab2ce3
imul edi, edi, 0x5715a
imul dword [0x455690]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ecx
mov ecx, dword [0x45569c]
mov eax, 0xcccc28f7
imul ecx
add edx, ecx
sar edx, 0x13
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub edi, ecx
sub edi, esi
sub edi, 0x205c4
push 0
mov dword [0x455690], edi
call fcn.004298af
sub eax, dword [0x5694ac]
add esp, 4
cmp eax, 0xa8c0
jl 0x40cd0b
mov esi, dword [0x455698]
mov edx, dword [0x45568c]
imul esi, esi, 0x5715a
mov ecx, dword [0x45569c]
imul edx, edx, 0x6e7be
mov edi, dword [0x4556a4]
add esi, edx
mov eax, 0x30f1b28f
imul ecx
mov ecx, dword [str._r_____r____]
sar edx, 0x10
imul ecx, ecx, 0x8aa1b
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, edi
lea edx, [ecx + esi - 0x205c4]
push 0
mov dword [0x455694], edx
call fcn.004298af
add esp, 4
xor esi, esi
mov dword [0x5694ac], eax
mov dword [0x558260], esi
jmp 0x40cd11
mov esi, dword [0x558260]
mov ecx, dword [0x455698]
mov eax, 0x9e71fdc9
imul ecx
add edx, ecx
mov ecx, dword [0x4556a8]
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x944b09c1
imul ecx
add edx, ecx
imul ecx, ecx, 0x205c4
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4556a0]
imul edx, edx, 0x53aff
sub edi, eax
add edi, edx
mov edx, dword [0x455694]
mov eax, 0x3b1784cb
imul edx
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, dword [0x55825c]
sub edi, ecx
cmp esi, eax
mov dword [0x455698], edi
jge 0x40ce83
cmp esi, dword [0x558258]
jge 0x40cdb6
push 0
call fcn.004298af
mov ecx, dword [0x569484]
mov esi, dword [0x558264]
imul ecx, ecx, 0x3c
sub eax, esi
add esp, 4
cmp eax, ecx
jge 0x40cdef
mov esi, dword [0x558260]
cmp esi, dword [0x55825c]
jge 0x40ce83
cmp esi, dword [0x558258]
jl 0x40ce83
push 0
call fcn.004298af
sub eax, dword [0x558264]
mov edx, dword [0x569488]
imul edx, edx, 0x3c
add esp, 4
cmp eax, edx
jl 0x40ce83
mov ecx, dword [0x45568c]
mov esi, dword [0x455690]
mov eax, 0x1784740b
imul esi, esi, 0xdc98b
imul ecx
imul ecx, ecx, 0x8a933
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
add esi, ecx
mov ecx, dword [0x455694]
mov edx, ecx
imul edx, edx, 0x205c4
add esi, edx
mov eax, 0xcccc28f7
imul ecx
add edx, ecx
sar edx, 0x13
mov eax, edx
shr eax, 0x1f
add esi, edx
add eax, esi
mov dword [0x45569c], eax
mov eax, dword [0x558260]
cdq
idiv dword [0x558258]
shl edx, 4
mov eax, dword [esp + edx + 0x14]
mov edx, 0x558268
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x40ce60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042909d
add esp, 0x3648
ret
pop edi
pop esi
pop ebp
mov eax, 9
pop ebx
mov ecx, dword [esp + 0x3644]
call fcn.0042909d
add esp, 0x3648
ret
mov ecx, dword [esp + 0x3654]
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
call fcn.0042909d
add esp, 0x3648
ret