Function at 0x40a8fc
Capabilities:
Link many functions at runtime

Disassembly:
sub esp, 0x100
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x38], edi
jne 0x40a914
cmp dword [esi + 0x3c], edi
je 0x40a91b
mov ecx, esi
call fcn.0040ab3e
push str.rasapi32.dll
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
cmp eax, edi
mov dword [esi + 0x38], eax
jne 0x40a93f
push 0x30
push str.DLL_Error
push str.Dial_Up_Networking_drivers_were_not_detected_on_this_system._nPlease_install_Dial_Up_Networking_from_your_Windows_CD.
push edi
jmp 0x40ab2b
mov edi, dword [sym.imp.KERNEL32.DLL_GetProcAddress]
push str.RasDialA
push eax
mov dword [esi + 0x3c], eax
call edi
push str.RasHangUpA
mov dword [esi + 4], eax
push dword [esi + 0x38]
call edi
push str.RasGetConnectStatusA
mov dword [esi + 8], eax
push dword [esi + 0x38]
call edi
push str.RasGetErrorStringA
mov dword [esi + 0xc], eax
push dword [esi + 0x38]
call edi
push str.RasEnumConnectionsA
mov dword [esi + 0x10], eax
push dword [esi + 0x38]
call edi
push str.RasValidateEntryNameA
mov dword [esi + 0x14], eax
push dword [esi + 0x3c]
call edi
push str.RasEnumEntriesA
mov dword [esi + 0x20], eax
push dword [esi + 0x3c]
call edi
push str.RasDeleteEntryA
mov dword [esi + 0x30], eax
push dword [esi + 0x3c]
call edi
mov ebp, str.RasSetEntryPropertiesA
mov dword [esi + 0x34], eax
push ebp
push dword [esi + 0x3c]
call edi
mov ebx, str.RasGetEntryPropertiesA
mov dword [esi + 0x24], eax
push ebx
push dword [esi + 0x3c]
call edi
push str.RasSetEntryDialParamsA
mov dword [esi + 0x28], eax
push dword [esi + 0x3c]
call edi
push str.RasGetEntryDialParamsA
mov dword [esi + 0x18], eax
push dword [esi + 0x3c]
call edi
push str.RasEnumDevicesA
mov dword [esi + 0x1c], eax
push dword [esi + 0x3c]
call edi
mov dword [esi + 0x2c], eax
xor eax, eax
cmp dword [esi + 0x20], eax
jne 0x40aa90
push str.rnaph.dll
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
test eax, eax
mov dword [esi + 0x3c], eax
jne 0x40aa1d
mov ecx, esi
call fcn.0040ab69
test eax, eax
je 0x40ab31
push str.RasValidateEntryNameA
push dword [esi + 0x3c]
call edi
push str.RasDeleteEntryA
mov dword [esi + 0x20], eax
push dword [esi + 0x3c]
call edi
push ebp
mov dword [esi + 0x34], eax
push dword [esi + 0x3c]
call edi
push ebx
mov dword [esi + 0x24], eax
push dword [esi + 0x3c]
call edi
xor ebx, ebx
mov dword [esi + 0x28], eax
cmp dword [esi + 0x30], ebx
jne 0x40aa5d
push str.RasEnumEntriesA
push dword [esi + 0x3c]
call edi
mov dword [esi + 0x30], eax
cmp dword [esi + 0x18], ebx
jne 0x40aa6f
push str.RasSetEntryDialParamsA
push dword [esi + 0x3c]
call edi
mov dword [esi + 0x18], eax
cmp dword [esi + 0x1c], ebx
jne 0x40aa81
push str.RasGetEntryDialParamsA
push dword [esi + 0x3c]
call edi
mov dword [esi + 0x1c], eax
push str.RasEnumDevicesA
push dword [esi + 0x3c]
call edi
mov dword [esi + 0x2c], eax
xor eax, eax
cmp dword [esi + 0x1c], eax
jne 0x40aaa1
push 0x32
push dword [esi + 0x38]
call edi
mov dword [esi + 0x1c], eax
xor eax, eax
cmp dword [esi + 0x18], eax
jne 0x40aab2
push 0x3a
push dword [esi + 0x38]
call edi
mov dword [esi + 0x18], eax
xor eax, eax
cmp dword [esi + 0x30], eax
jne 0x40aac3
push 0x2e
push dword [esi + 0x38]
call edi
mov dword [esi + 0x30], eax
xor eax, eax
cmp dword [esi + 4], eax
je 0x40ab04
cmp dword [esi + 8], eax
je 0x40ab04
cmp dword [esi + 0xc], eax
je 0x40ab04
cmp dword [esi + 0x10], eax
je 0x40ab04
cmp dword [esi + 0x14], eax
je 0x40ab04
cmp dword [esi + 0x20], eax
je 0x40ab04
cmp dword [esi + 0x24], eax
je 0x40ab04
cmp dword [esi + 0x2c], eax
je 0x40ab04
cmp dword [esi + 0x18], eax
je 0x40ab04
cmp dword [esi + 0x1c], eax
je 0x40ab04
cmp dword [esi + 0x30], eax
je 0x40ab04
cmp dword [esi + 0x34], eax
je 0x40ab04
push 1
pop eax
jmp 0x40ab33
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
lea eax, [esp + 0x14]
push str.Your_Dial_Up_Networking_drivers_are_incomplete_nPlease_re_install_Dial_Up_networking_from_your_Windows_CD_n_nError_code__d
push eax
call sub.MSVCRT.dll_sprintf
add esp, 0xc
lea eax, [esp + 0x10]
push 0x30
push str.DLL_Error
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x100
ret