Plaster

text
; disassembly for SEND-PACKAGE ; Size: 320 bytes. Origin: #x2274F4A0 ; 4A0: 498B4D60 MOV RCX, [R13+96] ; no-arg-parsing entry point ; thread.binding-stack-pointer ; 4A4: 48894DF8 MOV [RBP-8], RCX ; 4A8: 488D4424F0 LEA RAX, [RSP-16] ; 4AD: 4883EC40 SUB RSP, 64 ; 4B1: 488B1568FFFFFF MOV RDX, [RIP-152] ; "127.0.0.1" ; 4B8: BF6A000000 MOV EDI, 106 ; 4BD: 488B3564FFFFFF MOV RSI, [RIP-156] ; :PROTOCOL ; 4C4: 488B0D65FFFFFF MOV RCX, [RIP-155] ; :DATAGRAM ; 4CB: 488948F0 MOV [RAX-16], RCX ; 4CF: 48C740E86F533A20 MOV QWORD PTR [RAX-24], #x203A536F ; :ELEMENT-TYPE ; 4D7: 488B0D62FFFFFF MOV RCX, [RIP-158] ; '(UNSIGNED-BYTE ; 8) ; 4DE: 488948E0 MOV [RAX-32], RCX ; 4E2: 48C740D8FFE93A20 MOV QWORD PTR [RAX-40], #x203AE9FF ; :TIMEOUT ; 4EA: 48C740D03C000000 MOV QWORD PTR [RAX-48], 60 ; 4F2: B910000000 MOV ECX, 16 ; 4F7: 488928 MOV [RAX], RBP ; 4FA: 488BE8 MOV RBP, RAX ; 4FD: 49837D6800 CMP QWORD PTR [R13+104], 0 ; thread.stepping ; 502: 7402 JEQ L0 ; 504: CC0D BREAK 13 ; single-step trap (around) ; 506: L0: B8587D5020 MOV EAX, #x20507D58 ; #<FDEFN SOCKET-CONNECT> ; 50B: FFD0 CALL RAX ; 50D: 480F42E3 CMOVB RSP, RBX ; 511: 49896D40 MOV [R13+64], RBP ; thread.pseudo-atomic-bits ; 515: 4D8B5D20 MOV R11, [R13+32] ; thread.alloc-region ; 519: 498D4B20 LEA RCX, [R11+32] ; 51D: 493B4D28 CMP RCX, [R13+40] ; 521: 0F87AD000000 JNBE L7 ; 527: 49894D20 MOV [R13+32], RCX ; thread.alloc-region ; 52B: L1: 498D4B0F LEA RCX, [R11+15] ; 52F: C641F191 MOV BYTE PTR [RCX-15], -111 ; 533: C641F918 MOV BYTE PTR [RCX-7], 24 ; 537: 49316D40 XOR [R13+64], RBP ; thread.pseudo-atomic-bits ; 53B: 7402 JEQ L2 ; 53D: CC09 BREAK 9 ; pending interrupt trap ; 53F: L2: B8AA000000 MOV EAX, 170 ; 544: 884101 MOV [RCX+1], AL ; 547: B8FF000000 MOV EAX, 255 ; 54C: 884102 MOV [RCX+2], AL ; 54F: B801000000 MOV EAX, 1 ; 554: 884103 MOV [RCX+3], AL ; 557: B801000000 MOV EAX, 1 ; 55C: 884106 MOV [RCX+6], AL ; 55F: 4C8BCA MOV R9, RDX ; 562: 4C894DE8 MOV [RBP-24], R9 ; 566: 4C8BC1 MOV R8, RCX ; 569: 4C8945F0 MOV [RBP-16], R8 ; 56D: 4883EC10 SUB RSP, 16 ; 571: 498BD1 MOV RDX, R9 ; 574: 498BF8 MOV RDI, R8 ; 577: BE18000000 MOV ESI, 24 ; 57C: B906000000 MOV ECX, 6 ; 581: 48892C24 MOV [RSP], RBP ; 585: 488BEC MOV RBP, RSP ; 588: 49837D6800 CMP QWORD PTR [R13+104], 0 ; thread.stepping ; 58D: 7402 JEQ L3 ; 58F: CC0D BREAK 13 ; single-step trap (around) ; 591: L3: B8F8715020 MOV EAX, #x205071F8 ; #<FDEFN SOCKET-SEND> ; 596: FFD0 CALL RAX ; 598: 720B JB L4 ; 59A: 488BF4 MOV RSI, RSP ; 59D: 52 PUSH RDX ; 59E: B902000000 MOV ECX, 2 ; 5A3: EB20 JMP L6 ; 5A5: L4: 4883F906 CMP RCX, 6 ; 5A9: 7F0B JNLE L5 ; 5AB: 48C1E102 SHL RCX, 2 ; 5AF: 4829CC SUB RSP, RCX ; 5B2: 48C1E902 SHR RCX, 2 ; 5B6: L5: 488953F8 MOV [RBX-8], RDX ; 5BA: 48897BF0 MOV [RBX-16], RDI ; 5BE: 488973E8 MOV [RBX-24], RSI ; 5C2: 488BF3 MOV RSI, RBX ; 5C5: L6: 4C8B4DE8 MOV R9, [RBP-24] ; 5C9: 4C8B45F0 MOV R8, [RBP-16] ; 5CD: E92E113BFF JMP #x21B00700 ; RETURN-MULTIPLE ; 5D2: CC0F BREAK 15 ; Invalid argument count trap ; 5D4: L7: 6A20 PUSH 32 ; 5D6: E8650D3BFF CALL #x21B00340 ; ALLOC-TRAMP-R11 ; 5DB: E94BFFFFFF JMP L1 NIL