Function at 0x4c19d0
Capabilities:
Check if file exists
Inspect section memory permissions
Read .ini file
Reference google public dns server

Disassembly:
push 0xffffffffffffffff
push 0x57dbf6
mov eax, dword fs:[0]
push eax
sub esp, 0x258
mov eax, dword [0x5d7050]
xor eax, esp
mov dword [esp + 0x250], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x26c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x27c]
mov eax, dword [ebp + 0xd84]
mov ecx, dword [ebp + 0xd88]
and eax, 0x2fffffff
and ecx, 0xfffefffa
or eax, 0x40000000
or ecx, 2
mov esi, ebp
mov dword [ebp + 0xd84], eax
mov dword [ebp + 0xd88], ecx
call fcn.004c1dd0
mov eax, dword [0x619880]
test eax, eax
jne 0x4c1a57
call fcn.00418600
mov dword [0x619880], eax
cmp eax, 6
jle 0x4c1aa9
test eax, eax
jne 0x4c1a6a
call fcn.00418600
mov dword [0x619880], eax
cmp eax, 0xb
jge 0x4c1a9d
call fcn.005177f0
test eax, eax
jne 0x4c1a87
call fcn.00438ee0
push eax
call fcn.0043c7d0
test eax, eax
je 0x4c1a98
or dword [ebp + 0xd84], 0x10000000
mov eax, dword [0x619880]
jmp 0x4c1ab3
mov eax, dword [0x619880]
and dword [ebp + 0xd84], 0xfbffffff
jmp 0x4c1ab3
or dword [ebp + 0xd84], 0x14000000
test eax, eax
jne 0x4c1ac1
call fcn.00418600
mov dword [0x619880], eax
cmp eax, 0xb
mov esi, 0xefffffff
jl 0x4c1ad1
and dword [ebp + 0xd84], esi
mov ebx, 1
test byte [0x6198b8], bl
jne 0x4c1ae9
or dword [0x6198b8], ebx
call fcn.0043b8d0
push str.autoselnetwork
call fcn.0043b990
test eax, eax
je 0x4c1b0f
mov eax, dword [ebp + 0xd84]
test eax, 0x10000000
jne 0x4c1b0f
or eax, 0x10000000
mov dword [ebp + 0xd84], eax
call fcn.00418760
cmp eax, ebx
jne 0x4c1b24
and dword [ebp + 0xd84], 0xf7ffffff
jmp 0x4c1b2e
or dword [ebp + 0xd84], 0x8000000
xor edi, edi
lea ebx, [esp + 0x18]
call fcn.004125d0
push eax
lea edx, [esp + 0x18]
push edx
mov ebx, str.kwifi.ini
mov dword [esp + 0x27c], edi
call fcn.0041a8a0
add esp, 8
mov byte [esp + 0x274], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4c1b7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4c1d6f
push 0x206
lea edx, [esp + 0x62]
push edi
push edx
mov word [esp + 0x68], di
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push eax
push 0x103
lea ecx, [esp + 0x64]
push ecx
push edi
push str.config
push str.common
call ebx
cmp eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
je 0x4c1cd5
mov edx, dword [esp + 0x14]
mov eax, dword [ebp + 0xd84]
push edx
shr eax, 0x1f
push eax
push str.myonly
lea ecx, [esp + 0x68]
push ecx
call edi
test eax, eax
je 0x4c1c01
or dword [ebp + 0xd84], 0x80000000
jmp 0x4c1c0b
and dword [ebp + 0xd84], 0x7fffffff
mov eax, dword [ebp + 0xd84]
mov edx, dword [esp + 0x14]
push edx
shr eax, 0x1c
and eax, 1
push eax
push str.softap
lea ecx, [esp + 0x68]
push ecx
call edi
test eax, eax
je 0x4c1c39
or dword [ebp + 0xd84], 0x10000000
jmp 0x4c1c3f
and dword [ebp + 0xd84], esi
mov eax, dword [ebp + 0xd84]
mov edx, dword [esp + 0x14]
push edx
shr eax, 0x1d
and eax, 1
push eax
push str.shared
lea ecx, [esp + 0x68]
push ecx
call edi
test eax, eax
je 0x4c1c6d
or dword [ebp + 0xd84], 0x20000000
jmp 0x4c1c77
and dword [ebp + 0xd84], 0xdfffffff
mov edx, dword [esp + 0x14]
push edx
push 3
push str.dhcpsw
lea eax, [esp + 0x68]
push eax
call edi
test al, 1
je 0x4c1c9a
or dword [ebp + 0xd84], 0x40000000
jmp 0x4c1ca4
and dword [ebp + 0xd84], 0xbfffffff
test al, 2
je 0x4c1cb1
or dword [ebp + 0xd88], 2
jmp 0x4c1cb8
and dword [ebp + 0xd88], 0xfffffffd
mov ecx, dword [esp + 0x14]
push ecx
push 0
push str.natopt
lea edx, [esp + 0x68]
push edx
call edi
test eax, eax
je 0x4c1cd5
mov dword [ebp + 0xd9c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0xd88]
push eax
and ecx, 1
push ecx
push str.dbgview
push str.common
call edi
test eax, eax
je 0x4c1cfd
or dword [ebp + 0xd88], 1
jmp 0x4c1d04
and dword [ebp + 0xd88], 0xfffffffe
push 0x3e
lea edx, [esp + 0x22]
push 0
push edx
mov word [esp + 0x28], 0
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
push 0x1e
lea ecx, [esp + 0x24]
push ecx
push 0x5a13b8
push 0x5a13c8
push str.common
call ebx
test eax, eax
je 0x4c1d68
lea esi, [esp + 0x1c]
call fcn.005173f0
test eax, eax
je 0x4c1d68
or dword [ebp + 0xd88], 4
push 0x20
mov edx, esi
push edx
add ebp, 0xda0
push ebp
call dword [sym.imp.MSVCR80.dll_wcstombs]
add esp, 0xc
jmp 0x4c1d6f
and dword [ebp + 0xd88], 0xfffffffb
mov dword [esp + 0x274], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4c1d9a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x26c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.00569ed6
add esp, 0x264
ret 4