; Source File Generated on 10-04-2003 @ hh:mm:ss by BCET_Gen Version 0.04 (Beta) ; (Time left out to make generation compare easier - jlw) ; Later - all the compile & generation options will be listed here Include BcetXc.Inc ; This is Optional! Include Bcet.Inc ; This is REQUIRED! fdSet_T Struc fdCount_ Dword ? fdArray_ Dword 64 dup (?) fdSet_T Ends timeval_T Struc tvSec_ Dword ? tvUsec_ Dword ? timeval_T Ends hostent_T Struc hName_ Dword ? hAliases_ Dword ? hAddrtype_ Word ? hLength_ Word ? hAddrList_ Dword ? hostent_T Ends netent_T Struc nName_ Dword ? nAliases_ Dword ? nAddrtype_ Word ? nNet_ Dword ? netent_T Ends servent_T Struc sName_ Dword ? sAliases_ Dword ? sPort_ Word ? sProto_ Dword ? servent_T Ends protoent_T Struc pName_ Dword ? pAliases_ Dword ? pProto_ Word ? protoent_T Ends InAddr_T Struc Saddr_ Dword ? InAddr_T Ends sockaddrIn_T Struc sinFamily_ Word ? sinPort_ Word ? sinAddr_ Dword ? sinZero_ Byte 8 dup (?) sockaddrIn_T Ends WsaData_T Struc wVersion_ Word ? wHighVersion_ Word ? szDescription_ Byte 257 dup (?) szSystemStatus_ Byte 129 dup (?) iMaxSockets_ Word ? iMaxUdpDg_ Word ? lpVendorInfo_ Dword ? WsaData_T Ends SOCKADDR_T Struc saFamily_ Word ? saData_ Byte 14 dup (?) SOCKADDR_T Ends sockproto_T Struc spFamily_ Word ? spProtocol_ Word ? sockproto_T Ends accept Proto StdCall :Dword, :Ptr, :Ptr bind Proto StdCall :Dword, :Ptr, :Dword closesocket Proto StdCall :Dword connect Proto StdCall :Dword, :Ptr, :Dword ioctlsocket Proto StdCall :Dword, :Dword, :Ptr getpeername Proto StdCall :Dword, :Ptr, :Ptr getsockname Proto StdCall :Dword, :Ptr, :Ptr getsockopt Proto StdCall :Dword, :Dword, :Dword, :$Str, :Ptr htonl Proto StdCall :Dword htons Proto StdCall :Dword inet_addr Proto StdCall :$Str inet_ntoa Proto StdCall :Dword listen Proto StdCall :Dword, :Dword ntonl Proto StdCall :Dword ntons Proto StdCall :Dword recv Proto StdCall :Dword, :$Str, :Dword, :Dword recvfrom Proto StdCall :Dword, :$Str, :Dword, :Dword, :Ptr, :Ptr select Proto StdCall :Dword, :Ptr, :Ptr, :Ptr, :Ptr send Proto StdCall :Dword, :$Str, :Dword, :Dword sendto Proto StdCall :Dword, :$Str, :Dword, :Dword, :Ptr, :Ptr setsockopt Proto StdCall :Dword, :Dword, :Dword, :$Str, :Ptr shutdown Proto StdCall :Dword, :Dword socket Proto StdCall :Dword, :Dword, :Dword gethostbyaddr Proto StdCall :$Str, :Dword, :Dword gethostbyname Proto StdCall :$Str gethostname Proto StdCall :$Str, :Dword WSAStartup Proto StdCall :Word, :Ptr WSACleanup Proto StdCall WSAGetLastError Proto StdCall LastShellReturnCode Proto Basic GetMouseFlag Proto Basic :Ptr GetMouse Proto Basic GetKeyFlag Proto Basic :Ptr GetKey Proto Basic GetInput Proto Basic GetInputFlag Proto Basic :Ptr GetLongPP Proto Basic :Dword, :Ptr GetCharP Proto Basic :Dword GetCharPP Proto Basic :Dword, :Dword, :$Str GetStruc Proto Basic :Dword, :Ptr, :Dword IncludeLib ws2_32.lib ?ModuleStart Dword DNSLOOK_Module Byte 'B', 0, 4, 0 ; version info Dword 0 ; String Pool Size Dword 0 ; Nothing Yet @CurSeg Ends ?StringConst Align 4 Dword 6 String_0001 Byte "ws2_32", 0 Align 4 Dword 39 String_0002 Byte "DNSLOOK - Very simple DSN lookup sample", 0 Align 4 String_0003 Dword 0 ; a null string Align 4 Dword 25 String_0004 Byte "Usage: DSNLOOK ", 0 Align 4 Dword 13 String_0005 Byte "Looking up: '", 0 Align 4 Dword 1 String_0006 Byte "'", 0 Align 4 Dword 15 String_0007 Byte "WsaStartup Rc: ", 0 Align 4 Dword 34 String_0008 Byte "gethostbyname WsaGetLastError Rc: ", 0 Align 4 Dword 16 String_0009 Byte "Name Returned: '", 0 Align 4 Dword 16 String_0010 Byte "Aliases Returned", 0 Align 4 Dword 18 String_0011 Byte "Addresses Returned", 0 Align 4 Dword 31 String_0012 Byte "WsaCleanup WsaGetLastError Rc: ", 0 @CurSeg Ends ?NumberConst Number_0001 Dword 63 ; "63" Number_0002 Dword 0 ; "0" Number_0003 Dword 11 ; "11" Number_0004 Dword -1 ; "-1" Number_0005 Dword 514 ; "&H202" Number_0006 Dword 16 ; "16" Number_0007 Dword 1 ; "1" ; Block: 1: Module: DNSLOOK_Module ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ; Block Init Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; StmtData 1: DIM Src Line: 1463 @CurSeg Ends ?UserVars W_T_vat_0_278 WsaData_T <> ; StmtData 2: DIM Src Line: 1464 H_T_vat_0_279 hostent_T <> ; StmtData 3: DIM Src Line: 1465 Rc_L_v_0_280 Dword 0 ; StmtData 4: DIM Src Line: 1465 Rd_L_v_0_281 Dword 0 ; StmtData 5: DIM Src Line: 1465 V_L_v_0_282 Dword 0 ; StmtData 6: DIM Src Line: 1465 N_$_v_0_283 $Str 0 ; StmtData 7: DIM Src Line: 1465 N_L_v_0_284 Dword 0 ; StmtData 8: DIM Src Line: 1465 Re_L_v_0_285 Dword 0 ; StmtData 9: redim Src Line: 1469 @CurSeg Ends ?ArrayDesc H1_$_a_0_286 \ Dword 2E776C4Ah ; Magic 1 Dword 0 ; Addr of the Data Dword 4 ; Total Size of the Data in Bytes Byte 1, 4, 0, 0 ; # of Dims, Flags, fill, fill Dword 79617241h ; Magic 2 Dword 4 ; Element Size Dword 0, 0 ; Bounds ; StmtData 10: redim Src Line: 1469 H2_L_a_0_287 \ Dword 2E776C4Ah ; Magic 1 Dword 0 ; Addr of the Data Dword 4 ; Total Size of the Data in Bytes Byte 1, 0, 0, 0 ; # of Dims, Flags, fill, fill Dword 79617241h ; Magic 2 Dword 4 ; Element Size Dword 0, 0 ; Bounds ; StmtData 15: vardim Src Line: 1475 @CurSeg Ends ?UserVars _StrTmp_00001 $Str 0 ; StmtData 16: vardim Src Line: 1475 _StrTmp_00002 $Str 0 ; StmtData 17: vardim Src Line: 1475 _StrTmp_00003 $Str 0 ; StmtData 48: vardim Src Line: 1524 _ForEnd_00004 Dword 0 ; Block Init End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ @CurSeg Ends .code DNSLOOK_Module Proc ; Block Variable Init Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; Block Variable Init End Code ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; Block Statements Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; ===> REDIM H1(0) AS STRING, H2(0) AS LONG ; Stmt 9: redim Src Line: 1469 push 0 ; Lbound push 0 ; Ubound RT=L, RC=C, Ty=Num, Val="0" push 4 ; Element Size push 0401h ; Flags, # of Dims push Offset H1_$_a_0_286 ; Array Descriptor Addr AE: Addr of Ary Desc GA: 'dAryBvR4 $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 call js$ReDim@ ; ===> REDIM H1(0) AS STRING, H2(0) AS LONG ; Stmt 10: redim Src Line: 1469 push 0 ; Lbound push 0 ; Ubound RT=L, RC=C, Ty=Num, Val="0" push 4 ; Element Size push 01h ; Flags, # of Dims push Offset H2_L_a_0_287 ; Array Descriptor Addr AE: Addr of Ary Desc GA: 'dAryBvR4 &' RT=L, RC=V, Ty=Sym, Name=H2_L_a_0_287 call js$ReDim@ ; ===> COLOR 11: CLS ; Stmt 11: COLOR Src Line: 1471 push 11 ; RT=L, RC=C, Ty=Num, Val="11" push -1 ; RT=L, RC=C, Ty=Num, Val="-1" call js$Color@8 ; ===> COLOR 11: CLS ; Stmt 12: CLS Src Line: 1471 call js$Cls@0 ; ===> PRINT "DNSLOOK - Very simple DSN lookup sample" ; Stmt 13: PRINT Src Line: 1472 push Offset String_0002 ; RT=$, RC=C, Ty=Str, Value="DNSLOOK - Very simple DSN lookup sample" call js$Print$@4 ; ===> PRINT ; Stmt 14: PRINT Src Line: 1473 call js$Print@0 ; ===> N$ = LTRIM$(RTRIM$(COMMAND$)) ; Stmt 18: Assignment Src Line: 1475 call jf$COMMAND$__$@0 ; Sys Fun Call, Name=LTRIM$ Sys Fun Call, Name=RTRIM$ Sys Fun Call, Name=COMMAND$ push eax call jf$RTRIM$_$_$@4 push eax call jf$LTRIM$_$_$@4 push eax push Offset N_$_v_0_283 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 call j$StringAssign@8 ; GS: 'dVarBvR4 $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 ; ===> IF N$ = "" THEN ; Stmt 19: IF Src Line: 1476 push Offset N_$_v_0_283 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 push Offset String_0003 ; RT=$, RC=C, Ty=Str, Value="" call j$StringCompare@8 jne IF_01002 ; ===> PRINT "Usage: DSNLOOK " ; Stmt 20: PRINT Src Line: 1477 push Offset String_0004 ; RT=$, RC=C, Ty=Str, Value="Usage: DSNLOOK " call js$Print$@4 ; ===> SYSTEM ; Stmt 21: system Src Line: 1478 call js$End@0 ; ===> ELSE ; Stmt 22: ELSE Src Line: 1479 jmp IF_01001 ; case else IF_01002: ; ; ===> PRINT "Looking up: '" + N$ + "'" ; Stmt 23: PRINT Src Line: 1480 push Offset String_0005 ; RT=$, RC=C, Ty=Str, Value="Looking up: '" push Offset N_$_v_0_283 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 call j$StringConcat@8 push eax push Offset String_0006 ; RT=$, RC=C, Ty=Str, Value="'" call j$StringConcat@8 push eax call js$Print$@4 ; ===> PRINT ; Stmt 24: PRINT Src Line: 1481 call js$Print@0 ; ===> END IF ; Stmt 25: ENDIF Src Line: 1482 IF_01001: ; IF Exit Label IF_01003: ; ; ===> V = &H202 ' (byte)minor + (byte)major ; Stmt 26: Assignment Src Line: 1486 mov V_L_v_0_282, 514 ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=V_L_v_0_282 RT=L, RC=C, Ty=Num, Val="&H202" ; ===> Rc = WsaStartup(V, W) ; Stmt 27: Assignment Src Line: 1487 push Offset W_T_vat_0_278 ; PA: Parameter 1 GA: 'dVaTBvR4 t' RT=T, RC=V, Ty=Sym, Name=W_T_vat_0_278 push V_L_v_0_282 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=V_L_v_0_282 PA: Parameter 2, E: 4 P: 2 call WSAStartup ; Usr Fun Call, Name=WSAStartup mov Rc_L_v_0_280, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=Rc_L_v_0_280 ; ===> IF Rc <> 0 THEN ; Stmt 28: IF Src Line: 1488 cmp Rc_L_v_0_280, 0 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Rc_L_v_0_280 je IF_01005 ; ===> PRINT "WsaStartup Rc: ", Rc ; Stmt 29: PRINT COMMA Src Line: 1489 push Offset String_0007 ; RT=$, RC=C, Ty=Str, Value="WsaStartup Rc: " call js$PrintComma$@4 ; ===> PRINT "WsaStartup Rc: ", Rc ; Stmt 30: PRINT Src Line: 1489 push Rc_L_v_0_280 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Rc_L_v_0_280 call js$PrintL@4 ; ===> GOTO CloseIt ; Stmt 31: GOTO Src Line: 1490 jmp L_CloseIt ; ===> END IF ; Stmt 32: ENDIF Src Line: 1491 IF_01004: ; IF Exit Label IF_01005: ; ; ===> Re = gethostbyname(N$) ; Stmt 33: Assignment Src Line: 1495 lea edi, N_$_v_0_283 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 PA: Parameter 1 push [edi] ; byval string - use ACTUAL string address call gethostbyname ; Usr Fun Call, Name=gethostbyname mov Re_L_v_0_285, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=Re_L_v_0_285 ; ===> IF Re = 0 THEN ; Stmt 34: IF Src Line: 1497 cmp Re_L_v_0_285, 0 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Re_L_v_0_285 jne IF_01007 ; ===> Rd = WsaGetLastError ; Stmt 35: Assignment Src Line: 1498 call WSAGetLastError ; Usr Fun Call, Name=WSAGetLastError mov Rd_L_v_0_281, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=Rd_L_v_0_281 ; ===> PRINT "gethostbyname WsaGetLastError Rc: ", Rd ; Stmt 36: PRINT COMMA Src Line: 1499 push Offset String_0008 ; RT=$, RC=C, Ty=Str, Value="gethostbyname WsaGetLastError Rc: " call js$PrintComma$@4 ; ===> PRINT "gethostbyname WsaGetLastError Rc: ", Rd ; Stmt 37: PRINT Src Line: 1499 push Rd_L_v_0_281 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Rd_L_v_0_281 call js$PrintL@4 ; ===> GOTO CloseIt ; Stmt 38: GOTO Src Line: 1500 jmp L_CloseIt ; ===> END IF ; Stmt 39: ENDIF Src Line: 1501 IF_01006: ; IF Exit Label IF_01007: ; ; ===> GetStruc Re, H, LEN(H) ; Stmt 40: SubCall Src Line: 1505 push Re_L_v_0_285 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Re_L_v_0_285 PA: Parameter 1 push Offset H_T_vat_0_279 ; PA: Parameter 2, E: 256 P: 1 GA: 'dVaTBvR4 t' RT=T, RC=V, Ty=Sym, Name=H_T_vat_0_279 push 16 ; PA: Parameter 3 RT=L, RC=C, Ty=Num, Val="16" call GetStruc ; Usr Sub Call, Name=GetStruc ; ===> PRINT "Name Returned: '" + GetCharP(H.hName) + "'" ; Stmt 41: PRINT Src Line: 1509 push H_T_vat_0_279.hName_ ; GL: 'dCvrBvR4g &' RT=L, RC=V, Ty=Sym, Name=H_T_vat_0_279.hName_ PA: Parameter 1 call GetCharP ; Usr Fun Call, Name=GetCharP push Offset String_0009 ; RT=$, RC=C, Ty=Str, Value="Name Returned: '" push eax call j$StringConcat@8 push eax push Offset String_0006 ; RT=$, RC=C, Ty=Str, Value="'" call j$StringConcat@8 push eax call js$Print$@4 ; ===> PRINT ; Stmt 42: PRINT Src Line: 1510 call js$Print@0 ; ===> GetCharPP H.hAliases, 0, H1() ; Stmt 43: SubCall Src Line: 1514 push H_T_vat_0_279.hAliases_ ; GL: 'dCvrBvR4g &' RT=L, RC=V, Ty=Sym, Name=H_T_vat_0_279.hAliases_ PA: Parameter 1 push 0 ; PA: Parameter 2 RT=L, RC=C, Ty=Num, Val="0" push Offset H1_$_a_0_286 ; AE: Addr of Ary Desc PA: Parameter 3 GA: 'dAryBvR4 $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 call GetCharPP ; Usr Sub Call, Name=GetCharPP ; ===> GetLongPP H.hAddrList, H2() ; Stmt 44: SubCall Src Line: 1518 push H_T_vat_0_279.hAddrList_; GL: 'dCvrBvR4g &' RT=L, RC=V, Ty=Sym, Name=H_T_vat_0_279.hAddrList_ PA: Parameter 1 push Offset H2_L_a_0_287 ; AE: Addr of Ary Desc PA: Parameter 2 GA: 'dAryBvR4 &' RT=L, RC=V, Ty=Sym, Name=H2_L_a_0_287 call GetLongPP ; Usr Sub Call, Name=GetLongPP ; ===> IF UBOUND(H1) > 0 THEN ; Stmt 45: IF Src Line: 1522 push Offset H1_$_a_0_286 ; AE: Addr of Ary Desc Sys Fun Call, Name=UBOUND GA: 'dAryBvR4 $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 call jf$UBOUND_A_L@4 mov edi, eax cmp edi, 0 jle IF_01009 ; ===> PRINT "Aliases Returned" ; Stmt 46: PRINT Src Line: 1523 push Offset String_0010 ; RT=$, RC=C, Ty=Str, Value="Aliases Returned" call js$Print$@4 ; ===> FOR N = 1 TO UBOUND(H1) ; Stmt 47: FOR Src Line: 1524 ; setup 'TO' value push Offset H1_$_a_0_286 ; AE: Addr of Ary Desc Sys Fun Call, Name=UBOUND GA: 'dAryBvR4 $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 call jf$UBOUND_A_L@4 mov _ForEnd_00004, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=_ForEnd_00004 ; setup 'FROM' value mov edi, 1 ; RT=L, RC=C, Ty=Num, Val="1" jmp FR_01011 ; goto Compare FR_01010: ; FOR/NEXT loop here (Increment) mov edi, N_L_v_0_284 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=N_L_v_0_284 inc edi ; RT=L, RC=C, Ty=Num, Val="1" FR_01011: ; FOR/NEXT (Compare) mov N_L_v_0_284, edi ; save control var cmp edi, _ForEnd_00004 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=_ForEnd_00004 jg FR_01013 ; goto Exit FR_01012: ; FOR/NEXT (Statement) ; ===> PRINT "'" + H1(N) + "'" ; Stmt 49: PRINT Src Line: 1525 push Offset String_0006 ; RT=$, RC=C, Ty=Str, Value="'" lea esi, H1_$_a_0_286 ; AE: Addr of Ary Desc GL: 'dAryBvR4g $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 mov ecx, N_L_v_0_284 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=N_L_v_0_284 AE: Dim 1 bound ecx, [esi]+24 ; AE: Bounds Check sub ecx, [esi]+24 ; AE: Sub out Lbound mov esi, [esi]+4 ; AE: Start of Data lea edi, [esi+ecx*4] ; AE:Ed-$L: Address of Element push edi call j$StringConcat@8 push eax push Offset String_0006 ; RT=$, RC=C, Ty=Str, Value="'" call j$StringConcat@8 push eax call js$Print$@4 ; ===> NEXT N ; Stmt 50: NEXT Src Line: 1526 jmp FR_01010 ; goto Increment code FR_01013: ; FOR/NEXT (Exit) ; ===> PRINT ; Stmt 51: PRINT Src Line: 1527 call js$Print@0 ; ===> END IF ; Stmt 52: ENDIF Src Line: 1528 IF_01008: ; IF Exit Label IF_01009: ; ; ===> IF UBOUND(H2) > 0 THEN ; Stmt 53: IF Src Line: 1532 push Offset H2_L_a_0_287 ; AE: Addr of Ary Desc Sys Fun Call, Name=UBOUND GA: 'dAryBvR4 &' RT=L, RC=V, Ty=Sym, Name=H2_L_a_0_287 call jf$UBOUND_A_L@4 mov edi, eax cmp edi, 0 jle IF_01015 ; ===> PRINT "Addresses Returned" ; Stmt 54: PRINT Src Line: 1533 push Offset String_0011 ; RT=$, RC=C, Ty=Str, Value="Addresses Returned" call js$Print$@4 ; ===> FOR N = 1 TO UBOUND(H2) ; Stmt 55: FOR Src Line: 1534 ; setup 'TO' value push Offset H2_L_a_0_287 ; AE: Addr of Ary Desc Sys Fun Call, Name=UBOUND GA: 'dAryBvR4 &' RT=L, RC=V, Ty=Sym, Name=H2_L_a_0_287 call jf$UBOUND_A_L@4 mov _ForEnd_00004, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=_ForEnd_00004 ; setup 'FROM' value mov edi, 1 ; RT=L, RC=C, Ty=Num, Val="1" jmp FR_01017 ; goto Compare FR_01016: ; FOR/NEXT loop here (Increment) mov edi, N_L_v_0_284 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=N_L_v_0_284 inc edi ; RT=L, RC=C, Ty=Num, Val="1" FR_01017: ; FOR/NEXT (Compare) mov N_L_v_0_284, edi ; save control var cmp edi, _ForEnd_00004 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=_ForEnd_00004 jg FR_01019 ; goto Exit FR_01018: ; FOR/NEXT (Statement) ; ===> PRINT GetCharP$(inetntoa(H2(N))) ; Stmt 56: PRINT Src Line: 1535 lea esi, H2_L_a_0_287 ; AE: Addr of Ary Desc PA: Parameter 1 PA: Parameter 1 mov ecx, N_L_v_0_284 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=N_L_v_0_284 AE: Dim 1 bound ecx, [esi]+24 ; AE: Bounds Check sub ecx, [esi]+24 ; AE: Sub out Lbound mov esi, [esi]+4 ; AE: Start of Data push [esi+ecx*4] ; AE:Ed-#L: Data Element call inet_ntoa ; Usr Fun Call, Name=inet_ntoa push eax call GetCharP ; Usr Fun Call, Name=GetCharP push eax call js$Print$@4 ; ===> NEXT N ; Stmt 57: NEXT Src Line: 1536 jmp FR_01016 ; goto Increment code FR_01019: ; FOR/NEXT (Exit) ; ===> PRINT ; Stmt 58: PRINT Src Line: 1537 call js$Print@0 ; ===> END IF ; Stmt 59: ENDIF Src Line: 1538 IF_01014: ; IF Exit Label IF_01015: ; ; ===> CloseIt: ; Stmt 60: jlwlabel Src Line: 1542 L_CloseIt: ; ; ===> Rd = WsaCleanup ; Stmt 61: Assignment Src Line: 1543 call WSACleanup ; Usr Fun Call, Name=WSACleanup mov Rd_L_v_0_281, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=Rd_L_v_0_281 ; ===> IF Rc <> 0 THEN ; Stmt 62: IF Src Line: 1544 cmp Rc_L_v_0_280, 0 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Rc_L_v_0_280 je IF_01021 ; ===> Rd = WsaGetLastError ; Stmt 63: Assignment Src Line: 1545 call WSAGetLastError ; Usr Fun Call, Name=WSAGetLastError mov Rd_L_v_0_281, eax ; GS: 'dVarBvR4 &' RT=L, RC=V, Ty=Sym, Name=Rd_L_v_0_281 ; ===> PRINT "WsaCleanup WsaGetLastError Rc: ", Rd ; Stmt 64: PRINT COMMA Src Line: 1546 push Offset String_0012 ; RT=$, RC=C, Ty=Str, Value="WsaCleanup WsaGetLastError Rc: " call js$PrintComma$@4 ; ===> PRINT "WsaCleanup WsaGetLastError Rc: ", Rd ; Stmt 65: PRINT Src Line: 1546 push Rd_L_v_0_281 ; GL: 'dVarBvR4g &' RT=L, RC=V, Ty=Sym, Name=Rd_L_v_0_281 call js$PrintL@4 ; ===> END IF ; Stmt 66: ENDIF Src Line: 1547 IF_01020: ; IF Exit Label IF_01021: ; ; ===> END ; Stmt 67: END Src Line: 1551 call js$End@0 ; Block Statements End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; Block Cleanup Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; StmtDone 6: DIM Src Line: 1465 push Offset N_$_v_0_283 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=N_$_v_0_283 call j$StringDelete@4 ; StmtDone 9: redim Src Line: 1469 push Offset H1_$_a_0_286 ; AE: Addr of Ary Desc GA: 'dAryBvR4 $' RT=$, RC=V, Ty=Sym, Name=H1_$_a_0_286 call js$Erase@4 ; StmtDone 10: redim Src Line: 1469 push Offset H2_L_a_0_287 ; AE: Addr of Ary Desc GA: 'dAryBvR4 &' RT=L, RC=V, Ty=Sym, Name=H2_L_a_0_287 call js$Erase@4 ; StmtDone 15: vardim Src Line: 1475 push Offset _StrTmp_00001 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=_StrTmp_00001 call j$StringDelete@4 ; StmtDone 16: vardim Src Line: 1475 push Offset _StrTmp_00002 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=_StrTmp_00002 call j$StringDelete@4 ; StmtDone 17: vardim Src Line: 1475 push Offset _StrTmp_00003 ; GL: 'dVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=_StrTmp_00003 call j$StringDelete@4 ; Block Cleanup End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ret DNSLOOK_Module EndP ; Block: 2: Function: GetStr ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ GetStr Proc \ s_$_v_1_296:$Str ; Block Init Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; StmtData 68: vardim Src Line: 1553 ; Aparameter, Name=s_$_v_1_296 - $Str ; StmtData 69: vardim Src Line: 1555 Local GetStr_$_frv_1_297:$Str ; StmtData 70: vardim Src Line: 1555 Local _StrTmp_00005:$Str ; StmtData 71: vardim Src Line: 1555 Local _StrTmp_00006:$Str ; Block Init End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call j$RoutineEntry ; Block Variable Init Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; Block Variable Init End Code ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; Block Statements Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; ===> GetStr$ = LEFT$(s$, INSTR(s$, CHR$(0)) - 1) ; Stmt 72: Assignment Src Line: 1555 push s_$_v_1_296 ; GL: 'pVarBrR4g $' RT=$, RC=V, Ty=Sym, Name=s_$_v_1_296 Sys Fun Call, Name=LEFT$ push s_$_v_1_296 ; GL: 'pVarBrR4g $' RT=$, RC=V, Ty=Sym, Name=s_$_v_1_296 Sys Fun Call, Name=INSTR push 0 ; Sys Fun Call, Name=CHR$ RT=L, RC=C, Ty=Num, Val="0" call jf$CHR$_L_$@4 push eax call jf$INSTR_$$_L@8 mov edi, eax dec edi ; RT=L, RC=C, Ty=Num, Val="1" push edi call jf$LEFT$_$L_$@8 push eax lea edi, GetStr_$_frv_1_297 ; GL: 'sFrvBvR4g $' RT=$, RC=V, Ty=Sym, Name=GetStr_$_frv_1_297 push edi call j$StringAssign@8 ; GS: 'sFrvBvR4 $' RT=$, RC=V, Ty=Sym, Name=GetStr_$_frv_1_297 ; Block Statements End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ FS_01022: ; Block Exit Label ; Block Cleanup Begin ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ; StmtDone 70: vardim Src Line: 1555 lea edi, _StrTmp_00005 ; GL: 'sVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=_StrTmp_00005 push edi call j$StringDelete@4 ; StmtDone 71: vardim Src Line: 1555 lea edi, _StrTmp_00006 ; GL: 'sVarBvR4g $' RT=$, RC=V, Ty=Sym, Name=_StrTmp_00006 push edi call j$StringDelete@4 ; StmtDone 69: vardim Src Line: 1555 lea eax, GetStr_$_frv_1_297 ; GA: 'sFrvBvR4 $' RT=$, RC=V, Ty=Sym, Name=GetStr_$_frv_1_297 call S$StringReturn ; Block Cleanup End ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ call j$RoutineExit mov eax, j_Func_$ ; Load Frv - load address of descriptor ret GetStr EndP ; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ End ; Gen Code Completed!