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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c1c19
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x577c
call fcn.00591b50
mov eax, dword [0x68d01c]
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 [0x68d01c]
lea ecx, [ebx + 0x40]
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ecx], edx
mov dword [ebx], 0x5e2728
mov eax, dword [0x68d01c]
mov dword [ebp - 0x14], eax
push 0x691568
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.005addd6
mov ecx, ebx
call fcn.0042c780
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 0x42ba2d
lea ecx, [ebp - 0x14]
mov dword [0x691610], edi
mov dword [0x69160c], edi
mov dword [0x691608], edi
mov dword [0x691604], edi
mov dword [0x691600], edi
mov dword [0x6915fc], edi
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x691610], eax
jne 0x42ba63
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x69160c], eax
jne 0x42ba96
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x691608], eax
jne 0x42bac9
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x691604], eax
jne 0x42bafc
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x691600], eax
jne 0x42bb2f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x6915fc], eax
jne 0x42bb62
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 [0x691614], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, edi
je 0x42bb9d
push str.InternetGetConnectedState
push eax
call esi
cmp eax, edi
mov dword [0x6915f8], eax
je 0x42bb9d
mov eax, 1
jmp 0x42bb9f
xor eax, eax
cmp eax, edi
mov dword [ebx + 4], eax
jne 0x42bbd5
push 0x669090
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, edi
mov dword [ebx + 0xc], eax
je 0x42bbd0
push str.InetIsOffline
push eax
call esi
cmp eax, edi
mov dword [0x6915f4], eax
je 0x42bbd0
mov eax, 1
jmp 0x42bbd2
xor eax, eax
mov dword [ebx + 8], eax
push 0x108
mov dword [ebp - 0x24], 0x108
call fcn.00591fb0
mov esi, eax
add esp, 4
cmp esi, edi
mov dword [ebp - 0x18], esi
je 0x42bcb6
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push esi
push edi
push edi
mov dword [esi], 0x108
call dword [0x691610]
cmp eax, 0x25b
jne 0x42bcd5
mov eax, dword [ebp - 0x24]
push eax
push esi
call fcn.005931f0
mov esi, eax
add esp, 8
cmp esi, edi
mov dword [ebp - 0x18], esi
je 0x42bcad
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push esi
push edi
push edi
call dword [0x691610]
cmp eax, edi
jne 0x42be8f
cmp dword [ebx + 0x1c], edi
jne 0x42bc5c
cmp dword [ebp - 0x28], edi
jbe 0x42bc5c
mov eax, 1
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x28], eax
cmp dword [ebx + 0x28], edi
je 0x42bd6c
mov ecx, ebx
call fcn.0042c6e0
cmp eax, edi
je 0x42bd6c
cmp edi, dword [ebp - 0x28]
jae 0x42bd6c
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 0x42bce0
test cl, cl
je 0x42bca9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42bce0
add eax, 2
add esi, 2
test cl, cl
jne 0x42bc89
xor eax, eax
jmp 0x42bce5
push edi
call fcn.005918cf
add esp, 4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.005adc4d
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 0x42bc47
push esi
jmp 0x42bcae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42bdf0
mov edx, dword [0x691614]
test edx, edx
je 0x42bd6c
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 0x42bd6c
mov esi, 0x66907c
lea eax, [ebp - 0x348]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x42bd5c
test cl, cl
je 0x42bd58
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x42bd5c
add eax, 2
add esi, 2
test cl, cl
jne 0x42bd38
xor eax, eax
jmp 0x42bd61
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42bd6c
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 0x42be2a
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 [0x69160c]
test eax, eax
jne 0x42be0b
xor edi, edi
cmp edi, dword [ebp - 0x20]
jae 0x42be05
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.0042c460
test eax, eax
je 0x42be02
mov edx, dword [ebp + esi - 0x5788]
lea eax, [ebp + esi - 0x5784]
push eax
lea ecx, [ebx + 0x40]
push 0x665f68
mov dword [ebx + 0x3c], edx
push ecx
jmp 0x42be22
mov ecx, dword [ebp - 0x18]
add ecx, 0x108
inc edi
mov dword [ebp - 0x18], ecx
jmp 0x42bc74
inc edi
jmp 0x42bdab
xor al, al
test al, al
jne 0x42be2a
mov eax, dword [ebp - 0x20]
test eax, eax
jbe 0x42be2a
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 0x40]
add edx, 4
push edx
push 0x665f68
push eax
call fcn.005a6a18
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 0x42be8c
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 [0x691608]
lea eax, [ebp - 0x140]
lea ecx, [ebx + 0x38]
push eax
call fcn.005addd6
mov esi, dword [ebp - 0x18]
push esi
jmp 0x42bcae