Created
September 2, 2014 13:59
-
-
Save wingo/ca53c62937324dade1f9 to your computer and use it in GitHub Desktop.
portrange 0-6000, disabling CSE and caching runtime functions in outer scope
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
return (function() | |
local cast = ffi.cast | |
local band = bit.band | |
local lshift = bit.lshift | |
local rshift = bit.rshift | |
local bswap = bit.bswap | |
return function(P,length) | |
if not (length >= 34) then return false end | |
do | |
if not (cast("uint16_t*", P+12)[0] == 8) then goto L3 end | |
do | |
if P[23] == 6 then goto L4 end | |
do | |
if P[23] == 17 then goto L4 end | |
do | |
if not (P[23] == 132) then return false end | |
end | |
end | |
::L4:: | |
do | |
if not (band(cast("uint16_t*", P+20)[0],65311) == 0) then return false end | |
do | |
if not (lshift(band(P[14],15),2)+16 <= length) then return false end | |
do | |
if rshift(bswap(cast("uint16_t*", P+lshift(band(P[14],15),2)+14)[0]), 16) <= 6000 then return true end | |
do | |
if not (lshift(band(P[14],15),2)+18 <= length) then return false end | |
do | |
do return rshift(bswap(cast("uint16_t*", P+lshift(band(P[14],15),2)+16)[0]), 16) <= 6000 end | |
end | |
end | |
end | |
end | |
end | |
end | |
::L3:: | |
do | |
if not (length >= 56) then return false end | |
do | |
if not (cast("uint16_t*", P+12)[0] == 56710) then return false end | |
do | |
if P[20] == 6 then goto L13 end | |
do | |
if not (P[20] == 44) then goto L14 end | |
do | |
if P[54] == 6 then goto L13 end | |
end | |
end | |
::L14:: | |
do | |
if P[20] == 17 then goto L13 end | |
do | |
if not (P[20] == 44) then goto L17 end | |
do | |
if P[54] == 17 then goto L13 end | |
end | |
end | |
::L17:: | |
do | |
if P[20] == 132 then goto L13 end | |
do | |
if not (P[20] == 44) then return false end | |
do | |
if not (P[54] == 132) then return false end | |
end | |
end | |
end | |
end | |
::L13:: | |
do | |
if rshift(bswap(cast("uint16_t*", P+54)[0]), 16) <= 6000 then return true end | |
do | |
if not (length >= 58) then return false end | |
do | |
do return rshift(bswap(cast("uint16_t*", P+56)[0]), 16) <= 6000 end | |
end | |
end | |
end | |
end | |
end | |
end | |
end | |
end | |
end)() | |
---- TRACE 55 start pflua-match:12 | |
0006 UGET 5 0 ; ffi | |
0007 TGETS 5 5 0 ; "cast" | |
0008 KSTR 6 1 ; "struct pcap_record *" | |
0009 MOV 7 0 | |
0010 CALL 5 2 3 | |
0000 . FUNCC ; ffi.cast | |
0011 UGET 6 0 ; ffi | |
0012 TGETS 6 6 0 ; "cast" | |
0013 KSTR 7 2 ; "unsigned char *" | |
0014 ADDVN 8 5 0 ; 1 | |
0000 . . FUNCC ; ffi.meta.__add | |
0015 CALL 6 2 3 | |
0000 . FUNCC ; ffi.cast | |
0016 TGETS 7 5 3 ; "incl_len" | |
0000 . . FUNCC ; ffi.meta.__index | |
0017 ADDVV 7 6 7 | |
0000 . . FUNCC ; ffi.meta.__add | |
0018 MOV 8 2 | |
0019 MOV 9 6 | |
0020 TGETS 10 5 3 ; "incl_len" | |
0000 . . FUNCC ; ffi.meta.__index | |
0021 CALL 8 2 3 | |
0000 . FUNCF 10 ; "portrange 0-6000":7 | |
0001 . KSHORT 2 34 | |
0002 . ISLE 2 1 | |
0003 . JMP 2 => 0006 | |
0006 . UGET 2 0 ; cast | |
0007 . KSTR 3 0 ; "uint16_t*" | |
0008 . ADDVN 4 0 0 ; 12 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0009 . CALL 2 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0010 . TGETB 2 2 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0011 . ISEQN 2 1 ; 8 | |
0012 . JMP 2 => 0014 | |
0014 . TGETB 2 0 23 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0015 . ISNEN 2 2 ; 6 | |
0016 . JMP 2 => 0018 | |
0017 . JMP 2 => 0027 | |
0027 . UGET 2 1 ; band | |
0028 . UGET 3 0 ; cast | |
0029 . KSTR 4 0 ; "uint16_t*" | |
0030 . ADDVN 5 0 5 ; 20 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0031 . CALL 3 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0032 . TGETB 3 3 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0033 . KNUM 4 6 ; 65311 | |
0034 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.band | |
0035 . ISEQN 2 7 ; 0 | |
0036 . JMP 2 => 0039 | |
0039 . UGET 2 2 ; lshift | |
0040 . UGET 3 1 ; band | |
0041 . TGETB 4 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0042 . KSHORT 5 15 | |
0043 . CALL 3 2 3 | |
0000 . . FUNCC ; bit.band | |
0044 . KSHORT 4 2 | |
0045 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0046 . ADDVN 2 2 8 ; 16 | |
0047 . ISLE 2 1 | |
0048 . JMP 2 => 0051 | |
0051 . UGET 2 3 ; rshift | |
0052 . UGET 3 4 ; bswap | |
0053 . UGET 4 0 ; cast | |
0054 . KSTR 5 0 ; "uint16_t*" | |
0055 . UGET 6 2 ; lshift | |
0056 . UGET 7 1 ; band | |
0057 . TGETB 8 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0058 . KSHORT 9 15 | |
0059 . CALL 7 2 3 | |
0000 . . FUNCC ; bit.band | |
0060 . KSHORT 8 2 | |
0061 . CALL 6 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0062 . ADDVV 6 0 6 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0063 . ADDVN 6 6 9 ; 14 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0064 . CALL 4 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0065 . TGETB 4 4 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0066 . CALL 3 2 2 | |
0000 . . FUNCC ; bit.bswap | |
0067 . KSHORT 4 16 | |
0068 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.rshift | |
0069 . KSHORT 3 6000 | |
0070 . ISGT 2 3 | |
0071 . JMP 2 => 0074 | |
0072 . KPRI 2 2 | |
0073 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0024 ADDVN 4 4 0 ; 1 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 LOOP 5 => 0028 | |
---- TRACE 55 IR | |
0001 fun SLOAD #0 R | |
0002 > p32 UREFO 0001 #0 | |
0003 > tab ULOAD 0002 | |
0004 int FLOAD 0003 tab.hmask | |
0005 > int EQ 0004 +31 | |
0006 p32 FLOAD 0003 tab.node | |
0007 > p32 HREFK 0006 "cast" @6 | |
0008 > fun HLOAD 0007 | |
0009 > cdt SLOAD #1 T | |
0010 > fun EQ 0008 ffi.cast | |
0011 u16 FLOAD 0009 cdata.ctypeid | |
0012 > int EQ 0011 +181 | |
0013 p64 FLOAD 0009 cdata.ptr | |
0014 } cdt CNEWI +183 0013 | |
0015 p64 ADD 0013 +16 | |
0017 } cdt CNEWI +181 0015 | |
0018 p64 ADD 0013 +8 | |
0019 u32 XLOAD 0018 | |
0020 num CONV 0019 num.u32 | |
0021 + p64 ADD 0019 0015 | |
0022 }+ cdt CNEWI +181 0021 | |
0023 > fun SLOAD #3 T | |
0024 > fun EQ 0023 "portrange 0-6000":7 | |
0025 > num GE 0020 +34 | |
0026 p64 ADD 0013 +28 | |
0029 u16 XLOAD 0026 | |
0030 > int EQ 0029 +8 | |
0032 p64 ADD 0013 +39 | |
0033 u8 XLOAD 0032 | |
0034 > int EQ 0033 +6 | |
0035 p64 ADD 0013 +36 | |
0038 u16 XLOAD 0035 | |
0039 int BAND 0038 +65311 | |
0040 > int EQ 0039 +0 | |
0042 p64 ADD 0013 +30 | |
0043 u8 XLOAD 0042 | |
0045 int BSHL 0043 +2 | |
0046 int BAND 0045 +60 | |
0047 > int ADDOV 0046 +16 | |
0048 num CONV 0047 num.int | |
0049 > num LE 0048 0020 | |
0050 i64 CONV 0046 i64.int sext | |
0051 p64 ADD 0050 0015 | |
0053 p64 ADD 0051 +14 | |
0056 u16 XLOAD 0053 | |
0057 int BSWAP 0056 | |
0058 int BSHR 0057 +16 | |
0059 > int LE 0058 +6000 | |
0060 > num SLOAD #5 T | |
0061 + num ADD 0060 +1 | |
0062 > num SLOAD #4 T | |
0063 + num ADD 0062 +1 | |
0064 > cdt SLOAD #2 T | |
0065 u16 FLOAD 0064 cdata.ctypeid | |
0066 > int EQ 0065 +181 | |
0067 p64 FLOAD 0064 cdata.ptr | |
0068 > p64 UGT 0067 0021 | |
0069 ------ LOOP ------------ | |
0070 > p32 UREFO 0001 #0 | |
0071 } cdt CNEWI +183 0021 | |
0072 p64 ADD 0021 +16 | |
0073 } cdt CNEWI +181 0072 | |
0074 p64 ADD 0021 +8 | |
0075 u32 XLOAD 0074 | |
0076 num CONV 0075 num.u32 | |
0077 + p64 ADD 0075 0072 | |
0078 }+ cdt CNEWI +181 0077 | |
0079 > num GE 0076 +34 | |
0080 p64 ADD 0021 +28 | |
0081 u16 XLOAD 0080 | |
0082 > int EQ 0081 +8 | |
0083 p64 ADD 0021 +39 | |
0084 u8 XLOAD 0083 | |
0085 > int EQ 0084 +6 | |
0086 p64 ADD 0021 +36 | |
0087 u16 XLOAD 0086 | |
0088 int BAND 0087 +65311 | |
0089 > int EQ 0088 +0 | |
0090 p64 ADD 0021 +30 | |
0091 u8 XLOAD 0090 | |
0092 int BSHL 0091 +2 | |
0093 int BAND 0092 +60 | |
0094 > int ADDOV 0093 +16 | |
0095 num CONV 0094 num.int | |
0096 > num LE 0095 0076 | |
0097 i64 CONV 0093 i64.int sext | |
0098 p64 ADD 0097 0072 | |
0099 p64 ADD 0098 +14 | |
0100 u16 XLOAD 0099 | |
0101 int BSWAP 0100 | |
0102 int BSHR 0101 +16 | |
0103 > int LE 0102 +6000 | |
0104 + num ADD 0061 +1 | |
0105 + num ADD 0063 +1 | |
0106 > p64 ULT 0077 0067 | |
0107 } cdt PHI 0022 0078 | |
0108 p64 PHI 0021 0077 | |
0109 num PHI 0061 0104 | |
0110 num PHI 0063 0105 | |
---- TRACE 55 mcode 567 | |
0bcaa8a2 mov dword [0x4120a4a0], 0x37 | |
0bcaa8ad movsd xmm1, [0x405fe548] | |
0bcaa8b6 movsd xmm0, [0x405fe4f0] | |
0bcaa8bf mov eax, [rdx-0x8] | |
0bcaa8c2 mov edi, [rax+0x14] | |
0bcaa8c5 mov eax, [rdi+0x10] | |
0bcaa8c8 cmp dword [rax+0x4], -0x0c | |
0bcaa8cc jnz 0x0bca0010 ->0 | |
0bcaa8d2 mov eax, [rax] | |
0bcaa8d4 cmp dword [rax+0x1c], +0x1f | |
0bcaa8d8 jnz 0x0bca0010 ->0 | |
0bcaa8de mov ecx, [rax+0x14] | |
0bcaa8e1 mov rdi, 0xfffffffb41229298 | |
0bcaa8eb cmp rdi, [rcx+0x98] | |
0bcaa8f2 jnz 0x0bca0010 ->0 | |
0bcaa8f8 cmp dword [rcx+0x94], -0x09 | |
0bcaa8ff jnz 0x0bca0010 ->0 | |
0bcaa905 cmp dword [rdx+0x4], -0x0b | |
0bcaa909 jnz 0x0bca0010 ->0 | |
0bcaa90f mov eax, [rdx] | |
0bcaa911 cmp dword [rcx+0x90], 0x4121f0d0 | |
0bcaa91b jnz 0x0bca0010 ->0 | |
0bcaa921 movzx ecx, word [rax+0x6] | |
0bcaa925 cmp ecx, 0xb5 | |
0bcaa92b jnz 0x0bca0010 ->0 | |
0bcaa931 mov rsi, [rax+0x8] | |
0bcaa935 mov rdi, rsi | |
0bcaa938 add rdi, +0x10 | |
0bcaa93c mov ebp, [rsi+0x8] | |
0bcaa93f xorps xmm2, xmm2 | |
0bcaa942 cvtsi2sd xmm2, rbp | |
0bcaa947 add rbp, rdi | |
0bcaa94a cmp dword [rdx+0x14], -0x09 | |
0bcaa94e jnz 0x0bca0010 ->0 | |
0bcaa954 cmp dword [rdx+0x10], 0x409907d0 | |
0bcaa95b jnz 0x0bca0010 ->0 | |
0bcaa961 ucomisd xmm2, xmm1 | |
0bcaa965 jb 0x0bca0014 ->1 | |
0bcaa96b cmp word [rsi+0x1c], +0x08 | |
0bcaa970 jnz 0x0bca001c ->3 | |
0bcaa976 cmp byte [rsi+0x27], 0x6 | |
0bcaa97a jnz 0x0bca0020 ->4 | |
0bcaa980 movzx r12d, word [rsi+0x24] | |
0bcaa985 test r12d, 0xff1f | |
0bcaa98c jnz 0x0bca0028 ->6 | |
0bcaa992 movzx r10d, byte [rsi+0x1e] | |
0bcaa997 shl r10d, 0x02 | |
0bcaa99b and r10d, +0x3c | |
0bcaa99f mov r11d, r10d | |
0bcaa9a2 add r11d, +0x10 | |
0bcaa9a6 jo 0x0bca002c ->7 | |
0bcaa9ac xorps xmm3, xmm3 | |
0bcaa9af cvtsi2sd xmm3, r11d | |
0bcaa9b4 ucomisd xmm2, xmm3 | |
0bcaa9b8 jb 0x0bca0030 ->8 | |
0bcaa9be movsxd r9, r10d | |
0bcaa9c1 movzx r8d, word [r9+rdi+0xe] | |
0bcaa9c7 bswap r8d | |
0bcaa9ca shr r8d, 0x10 | |
0bcaa9ce cmp r8d, 0x1770 | |
0bcaa9d5 jg 0x0bca0038 ->10 | |
0bcaa9db cmp dword [rdx+0x24], 0xfffeffff | |
0bcaa9e2 jnb 0x0bca003c ->11 | |
0bcaa9e8 movsd xmm6, [rdx+0x20] | |
0bcaa9ed addsd xmm6, xmm0 | |
0bcaa9f1 cmp dword [rdx+0x1c], 0xfffeffff | |
0bcaa9f8 jnb 0x0bca003c ->11 | |
0bcaa9fe movsd xmm7, [rdx+0x18] | |
0bcaaa03 addsd xmm7, xmm0 | |
0bcaaa07 cmp dword [rdx+0xc], -0x0b | |
0bcaaa0b jnz 0x0bca003c ->11 | |
0bcaaa11 mov ecx, [rdx+0x8] | |
0bcaaa14 movzx edx, word [rcx+0x6] | |
0bcaaa18 cmp edx, 0xb5 | |
0bcaaa1e jnz 0x0bca0040 ->12 | |
0bcaaa24 mov rax, [rcx+0x8] | |
0bcaaa28 cmp rbp, rax | |
0bcaaa2b jnb 0x0bca0040 ->12 | |
->LOOP: | |
0bcaaa31 mov rbx, rbp | |
0bcaaa34 mov r15, rbx | |
0bcaaa37 add r15, +0x10 | |
0bcaaa3b mov ebp, [rbx+0x8] | |
0bcaaa3e xorps xmm5, xmm5 | |
0bcaaa41 cvtsi2sd xmm5, rbp | |
0bcaaa46 add rbp, r15 | |
0bcaaa49 ucomisd xmm5, xmm1 | |
0bcaaa4d jb 0x0bca0048 ->14 | |
0bcaaa53 cmp word [rbx+0x1c], +0x08 | |
0bcaaa58 jnz 0x0bca004c ->15 | |
0bcaaa5e cmp byte [rbx+0x27], 0x6 | |
0bcaaa62 jnz 0x0bca0050 ->16 | |
0bcaaa68 movzx r14d, word [rbx+0x24] | |
0bcaaa6d test r14d, 0xff1f | |
0bcaaa74 jnz 0x0bca0054 ->17 | |
0bcaaa7a movzx r14d, byte [rbx+0x1e] | |
0bcaaa7f shl r14d, 0x02 | |
0bcaaa83 and r14d, +0x3c | |
0bcaaa87 mov r13d, r14d | |
0bcaaa8a add r13d, +0x10 | |
0bcaaa8e jo 0x0bca0058 ->18 | |
0bcaaa94 xorps xmm4, xmm4 | |
0bcaaa97 cvtsi2sd xmm4, r13d | |
0bcaaa9c ucomisd xmm5, xmm4 | |
0bcaaaa0 jb 0x0bca005c ->19 | |
0bcaaaa6 movsxd r14, r14d | |
0bcaaaa9 movzx r14d, word [r14+r15+0xe] | |
0bcaaaaf bswap r14d | |
0bcaaab2 shr r14d, 0x10 | |
0bcaaab6 cmp r14d, 0x1770 | |
0bcaaabd jg 0x0bca0060 ->20 | |
0bcaaac3 addsd xmm6, xmm0 | |
0bcaaac7 addsd xmm7, xmm0 | |
0bcaaacb cmp rbp, rax | |
0bcaaace jb 0x0bcaaa31 ->LOOP | |
0bcaaad4 jmp 0x0bca0064 ->21 | |
---- TRACE 55 stop -> loop | |
---- TRACE 56 start 55/20 "portrange 0-6000":27 | |
0074 . UGET 2 2 ; lshift | |
0075 . UGET 3 1 ; band | |
0076 . TGETB 4 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0077 . KSHORT 5 15 | |
0078 . CALL 3 2 3 | |
0000 . . FUNCC ; bit.band | |
0079 . KSHORT 4 2 | |
0080 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0081 . ADDVN 2 2 10 ; 18 | |
0082 . ISLE 2 1 | |
0083 . JMP 2 => 0086 | |
0086 . UGET 2 3 ; rshift | |
0087 . UGET 3 4 ; bswap | |
0088 . UGET 4 0 ; cast | |
0089 . KSTR 5 0 ; "uint16_t*" | |
0090 . UGET 6 2 ; lshift | |
0091 . UGET 7 1 ; band | |
0092 . TGETB 8 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0093 . KSHORT 9 15 | |
0094 . CALL 7 2 3 | |
0000 . . FUNCC ; bit.band | |
0095 . KSHORT 8 2 | |
0096 . CALL 6 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0097 . ADDVV 6 0 6 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0098 . ADDVN 6 6 8 ; 16 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0099 . CALL 4 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0100 . TGETB 4 4 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0101 . CALL 3 2 2 | |
0000 . . FUNCC ; bit.bswap | |
0102 . KSHORT 4 16 | |
0103 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.rshift | |
0104 . KSHORT 3 6000 | |
0105 . ISLE 2 3 | |
0106 . JMP 2 => 0109 | |
0109 . KPRI 2 2 | |
0110 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0024 ADDVN 4 4 0 ; 1 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 JLOOP 5 55 | |
---- TRACE 56 IR | |
0001 num SLOAD #4 PI | |
0002 num SLOAD #5 PI | |
0003 num SLOAD #11 PI | |
0004 p64 PVAL #21 | |
0005 p64 PVAL #72 | |
0006 p64 PVAL #77 | |
0007 + cdt CNEWI +181 0004 | |
0008 } cdt CNEWI +183 0004 | |
0009 } cdt CNEWI +181 0005 | |
0010 + cdt CNEWI +181 0006 | |
0011 > nil GCSTEP | |
0012 p64 ADD 0005 +14 | |
0013 u8 XLOAD 0012 | |
0014 int BAND 0013 +15 | |
0015 int BSHL 0013 +2 | |
0016 int BAND 0015 +60 | |
0017 > int ADDOV 0016 +18 | |
0018 num CONV 0017 num.int | |
0019 > num LE 0018 0003 | |
0020 i64 CONV 0016 i64.int sext | |
0021 p64 ADD 0020 0005 | |
0022 } cdt CNEWI +181 0021 | |
0023 p64 ADD 0021 +16 | |
0024 } cdt CNEWI +181 0023 | |
0025 } cdt CNEWI +184 0023 | |
0026 u16 XLOAD 0023 | |
0027 int BSWAP 0026 | |
0028 int BSHR 0027 +16 | |
0029 > int LE 0028 +6000 | |
0030 num ADD 0002 +1 | |
0031 num ADD 0001 +1 | |
0032 > cdt SLOAD #2 T | |
0033 u16 FLOAD 0032 cdata.ctypeid | |
0034 > int EQ 0033 +181 | |
0035 p64 FLOAD 0032 cdata.ptr | |
0036 > p64 UGT 0035 0006 | |
---- TRACE 56 mcode 356 | |
0bcaa73b mov r13, r15 | |
0bcaa73e mov r14, rbx | |
0bcaa741 add rsp, -0x20 | |
0bcaa745 mov dword [0x4120a4a0], 0x38 | |
0bcaa750 movsd [rsp+0x10], xmm7 | |
0bcaa756 movsd [rsp+0x8], xmm6 | |
0bcaa75c movsd [rsp+0x18], xmm5 | |
0bcaa762 mov edi, [0x4120a4ac] | |
0bcaa769 mov esi, 0x10 | |
0bcaa76e call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa773 movzx ecx, byte [0x4120a3e0] | |
0bcaa77b and ecx, +0x03 | |
0bcaa77e or ecx, 0x00b50a00 | |
0bcaa784 mov [rax+0x4], ecx | |
0bcaa787 mov [rax+0x8], r14 | |
0bcaa78b mov r15d, eax | |
0bcaa78e mov edi, [0x4120a4ac] | |
0bcaa795 mov esi, 0x10 | |
0bcaa79a call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa79f movzx ecx, byte [0x4120a3e0] | |
0bcaa7a7 and ecx, +0x03 | |
0bcaa7aa or ecx, 0x00b50a00 | |
0bcaa7b0 mov [rax+0x4], ecx | |
0bcaa7b3 mov [rax+0x8], rbp | |
0bcaa7b7 mov [rsp+0x20], eax | |
0bcaa7bb mov edi, [0x4120a3d8] | |
0bcaa7c2 cmp edi, [0x4120a3dc] | |
0bcaa7c9 jb 0x0bcaa7e2 | |
0bcaa7cb mov esi, 0x2 | |
0bcaa7d0 mov edi, 0x4120a3b8 | |
0bcaa7d5 call 0x0041f3d0 ->lj_gc_step_jit | |
0bcaa7da test eax, eax | |
0bcaa7dc jnz 0x0bca0010 ->0 | |
0bcaa7e2 mov edx, [0x4120a4b0] | |
0bcaa7e9 mov eax, [rsp+0x20] | |
0bcaa7ed movsd xmm7, [rsp+0x18] | |
0bcaa7f3 movsd xmm5, [rsp+0x10] | |
0bcaa7f9 movsd xmm4, [rsp+0x8] | |
0bcaa7ff movsd xmm3, [0x405fe4f0] | |
0bcaa808 movzx ebx, byte [r13+0xe] | |
0bcaa80d shl ebx, 0x02 | |
0bcaa810 and ebx, +0x3c | |
0bcaa813 mov r12d, ebx | |
0bcaa816 add r12d, +0x12 | |
0bcaa81a jo 0x0bca0010 ->0 | |
0bcaa820 xorps xmm6, xmm6 | |
0bcaa823 cvtsi2sd xmm6, r12d | |
0bcaa828 ucomisd xmm7, xmm6 | |
0bcaa82c jb 0x0bca0014 ->1 | |
0bcaa832 movsxd rbx, ebx | |
0bcaa835 movzx ebx, word [rbx+r13+0x10] | |
0bcaa83b bswap ebx | |
0bcaa83d shr ebx, 0x10 | |
0bcaa840 cmp ebx, 0x1770 | |
0bcaa846 jg 0x0bca001c ->3 | |
0bcaa84c movaps xmm6, xmm4 | |
0bcaa84f addsd xmm6, xmm3 | |
0bcaa853 movaps xmm7, xmm5 | |
0bcaa856 addsd xmm7, xmm3 | |
0bcaa85a cmp dword [rdx+0xc], -0x0b | |
0bcaa85e jnz 0x0bca0020 ->4 | |
0bcaa864 mov ebx, [rdx+0x8] | |
0bcaa867 movzx r15d, word [rbx+0x6] | |
0bcaa86c cmp r15d, 0xb5 | |
0bcaa873 jnz 0x0bca0024 ->5 | |
0bcaa879 cmp rbp, [rbx+0x8] | |
0bcaa87d jnb 0x0bca0024 ->5 | |
0bcaa883 movsd [rdx+0x20], xmm6 | |
0bcaa888 movsd [rdx+0x18], xmm7 | |
0bcaa88d mov dword [rdx+0x4], 0xfffffff5 | |
0bcaa894 mov [rdx], eax | |
0bcaa896 add rsp, +0x20 | |
0bcaa89a jmp 0x0bcaa8a2 | |
---- TRACE 56 stop -> 55 | |
---- TRACE 57 start 55/10 "portrange 0-6000":27 | |
0074 . UGET 2 2 ; lshift | |
0075 . UGET 3 1 ; band | |
0076 . TGETB 4 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0077 . KSHORT 5 15 | |
0078 . CALL 3 2 3 | |
0000 . . FUNCC ; bit.band | |
0079 . KSHORT 4 2 | |
0080 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0081 . ADDVN 2 2 10 ; 18 | |
0082 . ISLE 2 1 | |
0083 . JMP 2 => 0086 | |
0086 . UGET 2 3 ; rshift | |
0087 . UGET 3 4 ; bswap | |
0088 . UGET 4 0 ; cast | |
0089 . KSTR 5 0 ; "uint16_t*" | |
0090 . UGET 6 2 ; lshift | |
0091 . UGET 7 1 ; band | |
0092 . TGETB 8 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0093 . KSHORT 9 15 | |
0094 . CALL 7 2 3 | |
0000 . . FUNCC ; bit.band | |
0095 . KSHORT 8 2 | |
0096 . CALL 6 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0097 . ADDVV 6 0 6 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0098 . ADDVN 6 6 8 ; 16 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0099 . CALL 4 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0100 . TGETB 4 4 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0101 . CALL 3 2 2 | |
0000 . . FUNCC ; bit.bswap | |
0102 . KSHORT 4 16 | |
0103 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.rshift | |
0104 . KSHORT 3 6000 | |
0105 . ISLE 2 3 | |
0106 . JMP 2 => 0109 | |
0109 . KPRI 2 2 | |
0110 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0024 ADDVN 4 4 0 ; 1 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 JLOOP 5 55 | |
---- TRACE 57 IR | |
0001 num SLOAD #11 PI | |
0002 p64 PVAL #13 | |
0003 p64 PVAL #15 | |
0004 p64 PVAL #21 | |
0005 } cdt CNEWI +183 0002 | |
0006 } cdt CNEWI +181 0003 | |
0007 + cdt CNEWI +181 0004 | |
0008 > nil GCSTEP | |
0009 p64 ADD 0003 +14 | |
0010 u8 XLOAD 0009 | |
0011 int BAND 0010 +15 | |
0012 int BSHL 0010 +2 | |
0013 int BAND 0012 +60 | |
0014 > int ADDOV 0013 +18 | |
0015 num CONV 0014 num.int | |
0016 > num LE 0015 0001 | |
0017 i64 CONV 0013 i64.int sext | |
0018 p64 ADD 0017 0003 | |
0019 } cdt CNEWI +181 0018 | |
0020 p64 ADD 0018 +16 | |
0021 } cdt CNEWI +181 0020 | |
0022 } cdt CNEWI +184 0020 | |
0023 u16 XLOAD 0020 | |
0024 int BSWAP 0023 | |
0025 int BSHR 0024 +16 | |
0026 > int LE 0025 +6000 | |
0027 > num SLOAD #5 T | |
0028 num ADD 0027 +1 | |
0029 > num SLOAD #4 T | |
0030 num ADD 0029 +1 | |
0031 > cdt SLOAD #2 T | |
0032 u16 FLOAD 0031 cdata.ctypeid | |
0033 > int EQ 0032 +181 | |
0034 p64 FLOAD 0031 cdata.ptr | |
0035 > p64 UGT 0034 0004 | |
---- TRACE 57 mcode 325 | |
0bcaa5f3 add rsp, -0x20 | |
0bcaa5f7 mov dword [0x4120a4a0], 0x39 | |
0bcaa602 movsd [rsp+0x8], xmm2 | |
0bcaa608 mov [rsp+0x18], rsi | |
0bcaa60d mov [rsp+0x20], rdi | |
0bcaa612 mov edi, [0x4120a4ac] | |
0bcaa619 mov esi, 0x10 | |
0bcaa61e call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa623 movzx ecx, byte [0x4120a3e0] | |
0bcaa62b and ecx, +0x03 | |
0bcaa62e or ecx, 0x00b50a00 | |
0bcaa634 mov [rax+0x4], ecx | |
0bcaa637 mov [rax+0x8], rbp | |
0bcaa63b mov [rsp+0x10], eax | |
0bcaa63f mov edi, [0x4120a3d8] | |
0bcaa646 cmp edi, [0x4120a3dc] | |
0bcaa64d jb 0x0bcaa666 | |
0bcaa64f mov esi, 0x1 | |
0bcaa654 mov edi, 0x4120a3b8 | |
0bcaa659 call 0x0041f3d0 ->lj_gc_step_jit | |
0bcaa65e test eax, eax | |
0bcaa660 jnz 0x0bca0010 ->0 | |
0bcaa666 mov rdi, [rsp+0x20] | |
0bcaa66b mov edx, [0x4120a4b0] | |
0bcaa672 mov eax, [rsp+0x10] | |
0bcaa676 movsd xmm5, [0x405fe4f0] | |
0bcaa67f movsd xmm2, [rsp+0x8] | |
0bcaa685 movzx ebx, byte [rdi+0xe] | |
0bcaa689 shl ebx, 0x02 | |
0bcaa68c and ebx, +0x3c | |
0bcaa68f mov r15d, ebx | |
0bcaa692 add r15d, +0x12 | |
0bcaa696 jo 0x0bca0010 ->0 | |
0bcaa69c xorps xmm7, xmm7 | |
0bcaa69f cvtsi2sd xmm7, r15d | |
0bcaa6a4 ucomisd xmm2, xmm7 | |
0bcaa6a8 jb 0x0bca0014 ->1 | |
0bcaa6ae movsxd rbx, ebx | |
0bcaa6b1 movzx ebx, word [rbx+rdi+0x10] | |
0bcaa6b6 bswap ebx | |
0bcaa6b8 shr ebx, 0x10 | |
0bcaa6bb cmp ebx, 0x1770 | |
0bcaa6c1 jg 0x0bca001c ->3 | |
0bcaa6c7 cmp dword [rdx+0x24], 0xfffeffff | |
0bcaa6ce jnb 0x0bca0020 ->4 | |
0bcaa6d4 movsd xmm6, [rdx+0x20] | |
0bcaa6d9 addsd xmm6, xmm5 | |
0bcaa6dd cmp dword [rdx+0x1c], 0xfffeffff | |
0bcaa6e4 jnb 0x0bca0020 ->4 | |
0bcaa6ea movsd xmm7, [rdx+0x18] | |
0bcaa6ef addsd xmm7, xmm5 | |
0bcaa6f3 cmp dword [rdx+0xc], -0x0b | |
0bcaa6f7 jnz 0x0bca0020 ->4 | |
0bcaa6fd mov ebx, [rdx+0x8] | |
0bcaa700 movzx r15d, word [rbx+0x6] | |
0bcaa705 cmp r15d, 0xb5 | |
0bcaa70c jnz 0x0bca0024 ->5 | |
0bcaa712 cmp rbp, [rbx+0x8] | |
0bcaa716 jnb 0x0bca0024 ->5 | |
0bcaa71c movsd [rdx+0x20], xmm6 | |
0bcaa721 movsd [rdx+0x18], xmm7 | |
0bcaa726 mov dword [rdx+0x4], 0xfffffff5 | |
0bcaa72d mov [rdx], eax | |
0bcaa72f add rsp, +0x20 | |
0bcaa733 jmp 0x0bcaa8a2 | |
---- TRACE 57 stop -> 55 | |
---- TRACE 58 start 55/4 "portrange 0-6000":14 | |
0018 . TGETB 2 0 23 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0019 . ISNEN 2 3 ; 17 | |
0020 . JMP 2 => 0022 | |
0021 . JMP 2 => 0027 | |
0027 . UGET 2 1 ; band | |
0028 . UGET 3 0 ; cast | |
0029 . KSTR 4 0 ; "uint16_t*" | |
0030 . ADDVN 5 0 5 ; 20 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0031 . CALL 3 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0032 . TGETB 3 3 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0033 . KNUM 4 6 ; 65311 | |
0034 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.band | |
0035 . ISEQN 2 7 ; 0 | |
0036 . JMP 2 => 0039 | |
0039 . UGET 2 2 ; lshift | |
0040 . UGET 3 1 ; band | |
0041 . TGETB 4 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0042 . KSHORT 5 15 | |
0043 . CALL 3 2 3 | |
0000 . . FUNCC ; bit.band | |
0044 . KSHORT 4 2 | |
0045 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0046 . ADDVN 2 2 8 ; 16 | |
0047 . ISLE 2 1 | |
0048 . JMP 2 => 0051 | |
0051 . UGET 2 3 ; rshift | |
0052 . UGET 3 4 ; bswap | |
0053 . UGET 4 0 ; cast | |
0054 . KSTR 5 0 ; "uint16_t*" | |
0055 . UGET 6 2 ; lshift | |
0056 . UGET 7 1 ; band | |
0057 . TGETB 8 0 14 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0058 . KSHORT 9 15 | |
0059 . CALL 7 2 3 | |
0000 . . FUNCC ; bit.band | |
0060 . KSHORT 8 2 | |
0061 . CALL 6 2 3 | |
0000 . . FUNCC ; bit.lshift | |
0062 . ADDVV 6 0 6 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0063 . ADDVN 6 6 9 ; 14 | |
0000 . . . FUNCC ; ffi.meta.__add | |
0064 . CALL 4 2 3 | |
0000 . . FUNCC ; ffi.cast | |
0065 . TGETB 4 4 0 | |
0000 . . . FUNCC ; ffi.meta.__index | |
0066 . CALL 3 2 2 | |
0000 . . FUNCC ; bit.bswap | |
0067 . KSHORT 4 16 | |
0068 . CALL 2 2 3 | |
0000 . . FUNCC ; bit.rshift | |
0069 . KSHORT 3 6000 | |
0070 . ISGT 2 3 | |
0071 . JMP 2 => 0074 | |
0072 . KPRI 2 2 | |
0073 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0024 ADDVN 4 4 0 ; 1 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 JLOOP 5 55 | |
---- TRACE 58 IR | |
0001 num SLOAD #11 PI | |
0002 p64 PVAL #13 | |
0003 p64 PVAL #15 | |
0004 p64 PVAL #21 | |
0005 } cdt CNEWI +183 0002 | |
0006 } cdt CNEWI +181 0003 | |
0007 + cdt CNEWI +181 0004 | |
0008 > nil GCSTEP | |
0009 p64 ADD 0003 +23 | |
0010 u8 XLOAD 0009 | |
0011 > int EQ 0010 +17 | |
0012 p64 ADD 0003 +20 | |
0013 } cdt CNEWI +181 0012 | |
0014 } cdt CNEWI +184 0012 | |
0015 u16 XLOAD 0012 | |
0016 int BAND 0015 +65311 | |
0017 > int EQ 0016 +0 | |
0018 p64 ADD 0003 +14 | |
0019 u8 XLOAD 0018 | |
0020 int BAND 0019 +15 | |
0021 int BSHL 0019 +2 | |
0022 int BAND 0021 +60 | |
0023 > int ADDOV 0022 +16 | |
0024 num CONV 0023 num.int | |
0025 > num LE 0024 0001 | |
0026 i64 CONV 0022 i64.int sext | |
0027 p64 ADD 0026 0003 | |
0028 } cdt CNEWI +181 0027 | |
0029 p64 ADD 0027 +14 | |
0030 } cdt CNEWI +181 0029 | |
0031 } cdt CNEWI +184 0029 | |
0032 u16 XLOAD 0029 | |
0033 int BSWAP 0032 | |
0034 int BSHR 0033 +16 | |
0035 > int LE 0034 +6000 | |
0036 > num SLOAD #5 T | |
0037 num ADD 0036 +1 | |
0038 > num SLOAD #4 T | |
0039 num ADD 0038 +1 | |
0040 > cdt SLOAD #2 T | |
0041 u16 FLOAD 0040 cdata.ctypeid | |
0042 > int EQ 0041 +181 | |
0043 p64 FLOAD 0040 cdata.ptr | |
0044 > p64 UGT 0043 0004 | |
---- TRACE 58 mcode 351 | |
0bcaa491 add rsp, -0x20 | |
0bcaa495 mov dword [0x4120a4a0], 0x3a | |
0bcaa4a0 movsd [rsp+0x8], xmm2 | |
0bcaa4a6 mov [rsp+0x18], rsi | |
0bcaa4ab mov [rsp+0x20], rdi | |
0bcaa4b0 mov edi, [0x4120a4ac] | |
0bcaa4b7 mov esi, 0x10 | |
0bcaa4bc call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa4c1 movzx ecx, byte [0x4120a3e0] | |
0bcaa4c9 and ecx, +0x03 | |
0bcaa4cc or ecx, 0x00b50a00 | |
0bcaa4d2 mov [rax+0x4], ecx | |
0bcaa4d5 mov [rax+0x8], rbp | |
0bcaa4d9 mov [rsp+0x10], eax | |
0bcaa4dd mov edi, [0x4120a3d8] | |
0bcaa4e4 cmp edi, [0x4120a3dc] | |
0bcaa4eb jb 0x0bcaa504 | |
0bcaa4ed mov esi, 0x1 | |
0bcaa4f2 mov edi, 0x4120a3b8 | |
0bcaa4f7 call 0x0041f3d0 ->lj_gc_step_jit | |
0bcaa4fc test eax, eax | |
0bcaa4fe jnz 0x0bca0010 ->0 | |
0bcaa504 mov rdi, [rsp+0x20] | |
0bcaa509 mov edx, [0x4120a4b0] | |
0bcaa510 mov eax, [rsp+0x10] | |
0bcaa514 movsd xmm5, [0x405fe4f0] | |
0bcaa51d movsd xmm2, [rsp+0x8] | |
0bcaa523 cmp byte [rdi+0x17], 0x11 | |
0bcaa527 jnz 0x0bca0014 ->1 | |
0bcaa52d movzx ebx, word [rdi+0x14] | |
0bcaa531 test ebx, 0xff1f | |
0bcaa537 jnz 0x0bca001c ->3 | |
0bcaa53d movzx ebx, byte [rdi+0xe] | |
0bcaa541 shl ebx, 0x02 | |
0bcaa544 and ebx, +0x3c | |
0bcaa547 mov r15d, ebx | |
0bcaa54a add r15d, +0x10 | |
0bcaa54e jo 0x0bca0020 ->4 | |
0bcaa554 xorps xmm7, xmm7 | |
0bcaa557 cvtsi2sd xmm7, r15d | |
0bcaa55c ucomisd xmm2, xmm7 | |
0bcaa560 jb 0x0bca0024 ->5 | |
0bcaa566 movsxd rbx, ebx | |
0bcaa569 movzx ebx, word [rbx+rdi+0xe] | |
0bcaa56e bswap ebx | |
0bcaa570 shr ebx, 0x10 | |
0bcaa573 cmp ebx, 0x1770 | |
0bcaa579 jg 0x0bca002c ->7 | |
0bcaa57f cmp dword [rdx+0x24], 0xfffeffff | |
0bcaa586 jnb 0x0bca0030 ->8 | |
0bcaa58c movsd xmm6, [rdx+0x20] | |
0bcaa591 addsd xmm6, xmm5 | |
0bcaa595 cmp dword [rdx+0x1c], 0xfffeffff | |
0bcaa59c jnb 0x0bca0030 ->8 | |
0bcaa5a2 movsd xmm7, [rdx+0x18] | |
0bcaa5a7 addsd xmm7, xmm5 | |
0bcaa5ab cmp dword [rdx+0xc], -0x0b | |
0bcaa5af jnz 0x0bca0030 ->8 | |
0bcaa5b5 mov ebx, [rdx+0x8] | |
0bcaa5b8 movzx r15d, word [rbx+0x6] | |
0bcaa5bd cmp r15d, 0xb5 | |
0bcaa5c4 jnz 0x0bca0034 ->9 | |
0bcaa5ca cmp rbp, [rbx+0x8] | |
0bcaa5ce jnb 0x0bca0034 ->9 | |
0bcaa5d4 movsd [rdx+0x20], xmm6 | |
0bcaa5d9 movsd [rdx+0x18], xmm7 | |
0bcaa5de mov dword [rdx+0x4], 0xfffffff5 | |
0bcaa5e5 mov [rdx], eax | |
0bcaa5e7 add rsp, +0x20 | |
0bcaa5eb jmp 0x0bcaa8a2 | |
---- TRACE 58 stop -> 55 | |
---- TRACE 59 start 55/1 "portrange 0-6000":8 | |
0004 . KPRI 2 1 | |
0005 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 JLOOP 5 55 | |
---- TRACE 59 IR | |
0001 p64 PVAL #13 | |
0002 p64 PVAL #15 | |
0003 p64 PVAL #21 | |
0004 } cdt CNEWI +183 0001 | |
0005 } cdt CNEWI +181 0002 | |
0006 + cdt CNEWI +181 0003 | |
0007 > nil GCSTEP | |
0008 > num SLOAD #4 T | |
0009 num ADD 0008 +1 | |
0010 > cdt SLOAD #2 T | |
0011 u16 FLOAD 0010 cdata.ctypeid | |
0012 > int EQ 0011 +181 | |
0013 p64 FLOAD 0010 cdata.ptr | |
0014 > p64 UGT 0013 0003 | |
---- TRACE 59 mcode 215 | |
0bcaa3b7 add rsp, -0x10 | |
0bcaa3bb mov dword [0x4120a4a0], 0x3b | |
0bcaa3c6 mov [rsp+0x10], rsi | |
0bcaa3cb mov [rsp+0x18], rdi | |
0bcaa3d0 mov edi, [0x4120a4ac] | |
0bcaa3d7 mov esi, 0x10 | |
0bcaa3dc call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa3e1 movzx ecx, byte [0x4120a3e0] | |
0bcaa3e9 and ecx, +0x03 | |
0bcaa3ec or ecx, 0x00b50a00 | |
0bcaa3f2 mov [rax+0x4], ecx | |
0bcaa3f5 mov [rax+0x8], rbp | |
0bcaa3f9 mov [rsp+0x8], eax | |
0bcaa3fd mov edi, [0x4120a3d8] | |
0bcaa404 cmp edi, [0x4120a3dc] | |
0bcaa40b jb 0x0bcaa424 | |
0bcaa40d mov esi, 0x1 | |
0bcaa412 mov edi, 0x4120a3b8 | |
0bcaa417 call 0x0041f3d0 ->lj_gc_step_jit | |
0bcaa41c test eax, eax | |
0bcaa41e jnz 0x0bca0010 ->0 | |
0bcaa424 mov edx, [0x4120a4b0] | |
0bcaa42b mov eax, [rsp+0x8] | |
0bcaa42f movsd xmm6, [0x405fe4f0] | |
0bcaa438 cmp dword [rdx+0x1c], 0xfffeffff | |
0bcaa43f jnb 0x0bca0010 ->0 | |
0bcaa445 movsd xmm7, [rdx+0x18] | |
0bcaa44a addsd xmm7, xmm6 | |
0bcaa44e cmp dword [rdx+0xc], -0x0b | |
0bcaa452 jnz 0x0bca0010 ->0 | |
0bcaa458 mov ebx, [rdx+0x8] | |
0bcaa45b movzx r15d, word [rbx+0x6] | |
0bcaa460 cmp r15d, 0xb5 | |
0bcaa467 jnz 0x0bca0014 ->1 | |
0bcaa46d cmp rbp, [rbx+0x8] | |
0bcaa471 jnb 0x0bca0014 ->1 | |
0bcaa477 movsd [rdx+0x18], xmm7 | |
0bcaa47c mov dword [rdx+0x4], 0xfffffff5 | |
0bcaa483 mov [rdx], eax | |
0bcaa485 add rsp, +0x10 | |
0bcaa489 jmp 0x0bcaa8a2 | |
---- TRACE 59 stop -> 55 | |
---- TRACE 60 start 55/14 "portrange 0-6000":8 | |
0004 . KPRI 2 1 | |
0005 . RET1 2 2 | |
0022 ISF 8 | |
0023 JMP 9 => 0025 | |
0025 ADDVN 3 3 0 ; 1 | |
0026 MOV 0 7 | |
0027 JMP 5 => 0003 | |
0003 ISGE 0 1 | |
0004 JMP 5 => 0028 | |
0000 . . FUNCC ; ffi.meta.__lt | |
0005 JLOOP 5 55 | |
---- TRACE 60 IR | |
0001 num SLOAD #4 PI | |
0002 num SLOAD #5 PI | |
0003 p64 PVAL #21 | |
0004 p64 PVAL #72 | |
0005 p64 PVAL #77 | |
0006 + cdt CNEWI +181 0003 | |
0007 } cdt CNEWI +183 0003 | |
0008 } cdt CNEWI +181 0004 | |
0009 + cdt CNEWI +181 0005 | |
0010 > nil GCSTEP | |
0011 num ADD 0001 +1 | |
0012 > cdt SLOAD #2 T | |
0013 u16 FLOAD 0012 cdata.ctypeid | |
0014 > int EQ 0013 +181 | |
0015 p64 FLOAD 0012 cdata.ptr | |
0016 > p64 UGT 0015 0005 | |
---- TRACE 60 mcode 269 | |
0bcaa2a7 mov r13, r15 | |
0bcaa2aa mov r14, rbx | |
0bcaa2ad add rsp, -0x10 | |
0bcaa2b1 mov dword [0x4120a4a0], 0x3c | |
0bcaa2bc movsd [rsp+0x8], xmm7 | |
0bcaa2c2 movsd [rsp+0x10], xmm6 | |
0bcaa2c8 mov edi, [0x4120a4ac] | |
0bcaa2cf mov esi, 0x10 | |
0bcaa2d4 call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa2d9 movzx ecx, byte [0x4120a3e0] | |
0bcaa2e1 and ecx, +0x03 | |
0bcaa2e4 or ecx, 0x00b50a00 | |
0bcaa2ea mov [rax+0x4], ecx | |
0bcaa2ed mov [rax+0x8], r14 | |
0bcaa2f1 mov r15d, eax | |
0bcaa2f4 mov edi, [0x4120a4ac] | |
0bcaa2fb mov esi, 0x10 | |
0bcaa300 call 0x0041f4e0 ->lj_mem_newgco | |
0bcaa305 movzx ecx, byte [0x4120a3e0] | |
0bcaa30d and ecx, +0x03 | |
0bcaa310 or ecx, 0x00b50a00 | |
0bcaa316 mov [rax+0x4], ecx | |
0bcaa319 mov [rax+0x8], rbp | |
0bcaa31d mov [rsp+0x18], eax | |
0bcaa321 mov edi, [0x4120a3d8] | |
0bcaa328 cmp edi, [0x4120a3dc] | |
0bcaa32f jb 0x0bcaa348 | |
0bcaa331 mov esi, 0x2 | |
0bcaa336 mov edi, 0x4120a3b8 | |
0bcaa33b call 0x0041f3d0 ->lj_gc_step_jit | |
0bcaa340 test eax, eax | |
0bcaa342 jnz 0x0bca0010 ->0 | |
0bcaa348 mov edx, [0x4120a4b0] | |
0bcaa34f mov eax, [rsp+0x18] | |
0bcaa353 movsd xmm6, [rsp+0x10] | |
0bcaa359 movsd xmm5, [rsp+0x8] | |
0bcaa35f movsd xmm4, [0x405fe4f0] | |
0bcaa368 movaps xmm7, xmm5 | |
0bcaa36b addsd xmm7, xmm4 | |
0bcaa36f cmp dword [rdx+0xc], -0x0b | |
0bcaa373 jnz 0x0bca0010 ->0 | |
0bcaa379 mov ebx, [rdx+0x8] | |
0bcaa37c movzx r15d, word [rbx+0x6] | |
0bcaa381 cmp r15d, 0xb5 | |
0bcaa388 jnz 0x0bca0014 ->1 | |
0bcaa38e cmp rbp, [rbx+0x8] | |
0bcaa392 jnb 0x0bca0014 ->1 | |
0bcaa398 movsd [rdx+0x20], xmm6 | |
0bcaa39d movsd [rdx+0x18], xmm7 | |
0bcaa3a2 mov dword [rdx+0x4], 0xfffffff5 | |
0bcaa3a9 mov [rdx], eax | |
0bcaa3ab add rsp, +0x10 | |
0bcaa3af jmp 0x0bcaa8a2 | |
---- TRACE 60 stop -> 55 | |
Matched 19574/19589 packets from /home/wingo/src/pflua-bench/savefiles/wingolog.org.pcap (10.663582 MPPS). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment