Function at 0x42a150
Capabilities:
Access peb ldr_data
Get kernel32 base address
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b99e9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x577c
call fcn.00589870
mov eax, dword [0x682f9c]
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], esp
mov dword [ebx + 0x38], eax
mov edx, dword [0x682f9c]
lea ecx, [ebx + 0x40]
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ecx], edx
mov dword [ebx], 0x5d9740
mov eax, dword [0x682f9c]
mov dword [ebp - 0x14], eax
push 0x6874e8
mov byte [ebp - 4], 3
mov dword [ebx + 0x3c], edi
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x2c], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x34], edi
call fcn.005a59d6
mov ecx, ebx
call fcn.0042af80
push str.RASAPI32
mov byte [ebx + 0x14], 0
mov dword [ebx + 8], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0xc], edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, edi
mov dword [ebx + 0x18], eax
jne 0x42a22d
lea ecx, [ebp - 0x14]
mov dword [0x687590], edi
mov dword [0x68758c], edi
mov dword [0x687588], edi
mov dword [0x687584], edi
mov dword [0x687580], edi
mov dword [0x68757c], edi
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.RasEnumEntriesA
push eax
call esi
cmp eax, edi
mov dword [0x687590], eax
jne 0x42a263
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x18]
push str.RasEnumConnectionsA
push ecx
call esi
cmp eax, edi
mov dword [0x68758c], eax
jne 0x42a296
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x18]
push str.RasGetEntryDialParamsA
push edx
call esi
cmp eax, edi
mov dword [0x687588], eax
jne 0x42a2c9
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x18]
push str.RasSetEntryDialParamsA
push eax
call esi
cmp eax, edi
mov dword [0x687584], eax
jne 0x42a2fc
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x18]
push str.RasHangUpA
push ecx
call esi
cmp eax, edi
mov dword [0x687580], eax
jne 0x42a32f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0x18]
push str.RasGetConnectStatusA
push edx
call esi
cmp eax, edi
mov dword [0x68757c], eax
jne 0x42a362
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x18]
push str.RasGetEntryPropertiesA
push eax
mov byte [ebx + 0x14], 1
call esi
push str.WININET
mov dword [0x687594], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, edi
je 0x42a39d
push str.InternetGetConnectedState
push eax
call esi
cmp eax, edi
mov dword [0x687578], eax
je 0x42a39d
mov eax, 1
jmp 0x42a39f
xor eax, eax
cmp eax, edi
mov dword [ebx + 4], eax
jne 0x42a3d5
push 0x65f058
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, edi
mov dword [ebx + 0xc], eax
je 0x42a3d0
push str.InetIsOffline
push eax
call esi
cmp eax, edi
mov dword [0x687574], eax
je 0x42a3d0
mov eax, 1
jmp 0x42a3d2
xor eax, eax
mov dword [ebx + 8], eax
push 0x108
mov dword [ebp - 0x24], 0x108
call fcn.00589cd0
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [ebp - 0x18], esi
je 0x42a4b6
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push esi
push edi
push edi
mov dword [esi], 0x108
call dword [0x687590]
cmp eax, 0x25b
jne 0x42a4d5
mov eax, dword [ebp - 0x24]
push eax
push esi
call fcn.0058af10
mov esi, eax
add esp, 8
cmp esi, edi
mov dword [ebp - 0x18], esi
je 0x42a4ad
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push esi
push edi
push edi
call dword [0x687590]
cmp eax, edi
jne 0x42a68f
cmp dword [ebx + 0x1c], edi
jne 0x42a45c
cmp dword [ebp - 0x28], edi
jbe 0x42a45c
mov eax, 1
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x28], eax
cmp dword [ebx + 0x28], edi
je 0x42a56c
mov ecx, ebx
call fcn.0042aee0
cmp eax, edi
je 0x42a56c
cmp edi, dword [ebp - 0x28]
jae 0x42a56c
mov esi, dword [ebx + 0x40]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], esi
add eax, 4
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42a4e0
test cl, cl
je 0x42a4a9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42a4e0
add eax, 2
add esi, 2
test cl, cl
jne 0x42a489
xor eax, eax
jmp 0x42a4e5
push edi
call fcn.005895ef
add esp, 4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005a584d
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edi
je 0x42a447
push esi
jmp 0x42a4ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a5f0
mov edx, dword [0x687594]
test edx, edx
je 0x42a56c
mov ecx, 0x1b9
lea edi, [ebp - 0x710]
rep stosd dword es:[edi], eax
mov eax, 0x6e8
push 0
mov dword [ebp - 0x714], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push 0
push eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x714]
push ecx
push eax
push 0
call edx
test eax, eax
jne 0x42a56c
mov esi, 0x65f044
lea eax, [ebp - 0x348]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42a55c
test cl, cl
je 0x42a558
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42a55c
add eax, 2
add esi, 2
test cl, cl
jne 0x42a538
xor eax, eax
jmp 0x42a561
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42a56c
mov dword [ebx + 0x34], 1
mov edi, dword [ebx + 0x40]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x42a62a
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x578c]
push ecx
push edx
mov dword [ebp - 0x578c], 0x19c
mov dword [ebp - 0x1c], 0x5078
call dword [0x68758c]
test eax, eax
jne 0x42a60b
xor edi, edi
cmp edi, dword [ebp - 0x20]
jae 0x42a605
mov eax, edi
shl eax, 4
add eax, edi
lea eax, [eax + eax*2]
lea esi, [edi + eax*2]
shl esi, 2
mov ecx, dword [ebp + esi - 0x5788]
push ecx
mov ecx, ebx
call fcn.0042ac60
test eax, eax
je 0x42a602
mov edx, dword [ebp + esi - 0x5788]
lea eax, [ebp + esi - 0x5784]
push eax
lea ecx, [ebx + 0x40]
push 0x65bf6c
mov dword [ebx + 0x3c], edx
push ecx
jmp 0x42a622
mov ecx, dword [ebp - 0x18]
add ecx, 0x108
inc edi
mov dword [ebp - 0x18], ecx
jmp 0x42a474
inc edi
jmp 0x42a5ab
xor al, al
test al, al
jne 0x42a62a
mov eax, dword [ebp - 0x20]
test eax, eax
jbe 0x42a62a
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 0x40]
add edx, 4
push edx
push 0x65bf6c
push eax
call fcn.0059e618
add esp, 0xc
mov edx, dword [ebx + 0x40]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x42a68c
mov edi, edx
or ecx, 0xffffffff
mov dword [ebp - 0x448], 0x41c
lea esi, [ebp - 0x444]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, esi
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [ebp - 0x448]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x1c]
push ecx
push edx
push 0
call dword [0x687588]
lea eax, [ebp - 0x140]
lea ecx, [ebx + 0x38]
push eax
call fcn.005a59d6
mov esi, dword [ebp - 0x18]
push esi
jmp 0x42a4ae