2019-01-11 08:58:06 +00:00
|
|
|
rx_i_0: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0ca9788ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_0
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_0:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 01a8e4171h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r11d, 445530481
|
|
|
|
ja short rx_i_1
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_30
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_1: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 06afc2fa4h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_1
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_1:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov edx, r10d
|
2019-01-12 15:05:09 +00:00
|
|
|
cmp edx, -1
|
|
|
|
jne short body_idiv_1
|
|
|
|
neg rax
|
|
|
|
jmp short result_idiv_1
|
|
|
|
body_idiv_1:
|
|
|
|
mov ecx, 1
|
2019-01-11 15:53:52 +00:00
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, ecx
|
|
|
|
cqo
|
|
|
|
idiv rcx
|
|
|
|
result_idiv_1:
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_2: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 097210f7bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_2
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_2:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 05060ccf7h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r11d, 1348521207
|
|
|
|
jno rx_i_47
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_3: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 082c73195h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_3
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_3:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 06bb1a0b2h
|
|
|
|
and eax, 32767
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_4: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 077daefb4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_4
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_4:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r14d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 06ce10c20h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_5: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0379f9ee0h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_5
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_5:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r12d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_6: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 03bae7272h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_6
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_6:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
imul rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 098a649d1h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_7: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0e264ed81h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_7
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_7:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 057c8c41bh
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_8: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 068c1e5d2h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_8
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_8:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 050267ebdh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_9: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 085121c54h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_9
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_9:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 565870810
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rdx, 8750690209911200579
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 28
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_10: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 052efde3eh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_10
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_10:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_11: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0a9bf8aa1h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_11
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_11:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm5
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0852d40d8h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_12: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0db2691ch
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_12
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_12:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 096dc67c9h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_13: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 061c0d34dh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_13
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_13:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_14: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0e761d1beh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_14
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_14:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 03c1a72f8h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_15: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 074ddb688h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_15
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_15:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0468b38b8h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_16
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_16: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 06be90627h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_16
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_16:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r10
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0d7e75aeh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_17: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0fbc6fc35h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_17
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_17:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm4
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0f77ffe16h
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_18: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0c28ca080h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_18
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_18:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm4
|
|
|
|
movaps xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0869baa81h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_19: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ac009c30h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_19
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_19:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm8
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_20: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ecca967dh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_20
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_20:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0aad81365h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_21: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0977f0284h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_21
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_21:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r9
|
|
|
|
ror rax, cl
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0db5e0aafh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_22: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 080bdfefah
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_22
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_22:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
add rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0cfa09799h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_23: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0e1e0d3c4h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_23
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_23:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 1283724485
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_24: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 070d3b8c7h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_24
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_24:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, 1
|
|
|
|
mov edx, r15d
|
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
|
|
|
xor edx, edx
|
|
|
|
div rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 099b77a68h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_25: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01cf77a04h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_25
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_25:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0baf5c2d4h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_26: ;IMULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0e311468ch
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_26
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_26:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, 812644844
|
|
|
|
imul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0306ff9ech
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_27: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01fd9911ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_27
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_27:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_28: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 067df757eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_28
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_28:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and eax, 565865719
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_29: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0be2e7c42h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_29
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_29:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_30: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 084d067f7h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_30
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_30:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_31: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0d352ce37h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_31
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_31:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
ror rax, 55
|
2019-01-11 08:58:06 +00:00
|
|
|
mov r14, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_32: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0a1f248dah
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_32
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_32:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and eax, r14d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_33: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0554720fch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_33
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_33:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
imul rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_34: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0665e91f1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_34
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_34:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r14d, -380224718
|
|
|
|
jns short rx_i_35
|
2018-12-31 18:06:45 +00:00
|
|
|
call rx_i_108
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_35: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 05ef1be79h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_35
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_35:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r9d, -2040787098
|
|
|
|
jns short rx_i_36
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_58
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_36: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 012ec7e3ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_36
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_36:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm6
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_37: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d0706601h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_37
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_37:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0bca81c78h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_38: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 064056913h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_38
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_38:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
sub rax, r14
|
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_39: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 02c1f1eb0h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_39
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_39:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
add rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_40: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 068fd9009h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_40
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_40:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0b2a27eceh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r12d, -1297973554
|
|
|
|
jns short rx_i_41
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_90
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_41: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 037a30933h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_41
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_41:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r9, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r14d, -1070581824
|
|
|
|
jo rx_i_127
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_42: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0bc1de9f6h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_42
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_42:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
addpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_43: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 02b2a2eech
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_43
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_43:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 064f3e4bfh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_44: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0685817abh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_44
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_44:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r9
|
2019-01-11 08:58:06 +00:00
|
|
|
sar rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_45: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 08cd244ebh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_45
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_45:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm2
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_46: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 06d8f4254h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_46
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_46:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r9
|
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0e9f58436h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_47: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 05ba232c6h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_47
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_47:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 071ba231h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r10d, 119251505
|
|
|
|
jbe rx_i_131
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_48: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0aaed618fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_48
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_48:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 020e5d9e9h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_49: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0f96c6a45h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_49
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_49:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_50: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0da3e4842h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_50
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_50:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
and rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 06ac56a2ah
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_51: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0302b676ah
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_51
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_51:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_52: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0fa88f48bh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_52
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_52:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_53: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 03dff9b9eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_53
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_53:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_54
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_54: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 060638de0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_54
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_54:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 282209221
|
|
|
|
mov rcx, 1096650948274100047
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 24
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 010d22bc5h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_55: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0dda983d4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_55
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_55:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm5
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 07c79cddh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_56: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0f1456b8eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_56
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_56:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by -50768751
|
|
|
|
mov rcx, rax
|
|
|
|
mov rdx, 6254795139557318139
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sub rax, rcx
|
|
|
|
sar rax, 25
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0fcf95491h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_57: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 010dc4571h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_57
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_57:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 172123015
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0a426387h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_58: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0bcec0ebah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_58
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_58:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 1506547423
|
|
|
|
mov rcx, 6573653217342526495
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 29
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_59: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0980dd402h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_59
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_59:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm8
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_60: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 03de14d1eh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_60
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_60:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 07bb60f45h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r11d, 2075529029
|
|
|
|
jo short rx_i_61
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_116
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_61: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 05058ce64h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_61
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_61:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r15d, 1933164545
|
|
|
|
jns rx_i_120
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_62: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0c3089414h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_62
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_62:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm8
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 05c4789e3h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_63: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 065cf272eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_63
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_63:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm7
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_64: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ae54dfbfh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_64
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_64:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
sub rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_65: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 07b366ce6h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_65
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_65:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r8d, 1498056607
|
|
|
|
js rx_i_129
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_66: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 015a1b689h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_66
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_66:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 07305e78h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_67: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 088393ba0h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_67
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_67:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r13d, 2031541081
|
|
|
|
jns rx_i_79
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_68: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 03aa5c3a4h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_68
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_68:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
addpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 03c51ef39h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_69: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0376c9c27h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_69
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_69:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm5
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_70: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0bbbec3fah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_70
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_70:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r9
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_71: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0e9efb350h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_71
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_71:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm5
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_72: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0f4e51e28h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_72
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_72:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0da624dd9h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r9d, -631091751
|
|
|
|
jno rx_i_191
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_73: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0c24ddbd4h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_73
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_73:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_74: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04c4b0c7fh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_74
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_74:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0aaaacb32h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_75: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 03bcc02e3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_75
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_75:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r11d, -1160798683
|
|
|
|
jno short rx_i_76
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_202
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_76: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04b0ff63eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_76
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_76:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 083bc0396h
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_77: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0b956b3e8h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_77
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_77:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 03a92bc7ah
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_78
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_78: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0edeca680h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_78
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_78:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r8d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_79: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0fbdddcb5h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_79
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_79:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 06b4a7b43h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r13d, 1800043331
|
|
|
|
ja short rx_i_80
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_93
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_80: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 09cec97a1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_80
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_80:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r11
|
|
|
|
ror rax, cl
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 01a681d13h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_81: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 078228167h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_81
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_81:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, 338325607
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_82: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 078cae1ffh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_82
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_82:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0fbe39afbh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r12d, -68969733
|
|
|
|
jo rx_i_145
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_83: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d9b6a533h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_83
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_83:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 91850728
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rdx, 842358619687110887
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 22
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_84: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0e9e75336h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_84
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_84:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sar rax, 45
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0ec5c52e6h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_85: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 04c0d378ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_85
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_85:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 20014507
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_86: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04386e368h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_86
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_86:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
and rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0a90410e4h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_87: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0d75a0ecfh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_87
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_87:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r12
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_88: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 031bb7f7ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_88
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_88:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r14
|
|
|
|
ror rax, cl
|
|
|
|
mov r9, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_89: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 03b45ecebh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_89
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_89:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-16 12:43:18 +00:00
|
|
|
imul rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0e67532afh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_90: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0ee08e76bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_90
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_90:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_91: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 042e28e94h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_91
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_91:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_92: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0729260e1h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_92
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_92:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r12, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r14d, 1288893603
|
|
|
|
jge rx_i_170
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_93: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0bfcebaf4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_93
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_93:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm2
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 07e48a0d8h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_94: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ea326630h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_94
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_94:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r13d, -343122976
|
|
|
|
jns short rx_i_95
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_157
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_95: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0b5451a2dh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_95
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_95:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r10
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 01023aa04h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_96: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04f912ef8h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_96
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_96:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
mov rax, -1354397081
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_97: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0acc45b3bh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_97
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_97:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0c477e850h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_98: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 09900a4e8h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_98
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_98:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
sub rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_99: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0841b2984h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_99
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_99:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 04c21df83h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
|
|
|
|
rx_i_100: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 07ebea48fh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_100
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_100:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r9
|
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_101: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0631209d3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_101
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_101:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, 1732300336
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_102: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0e50bf07ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_102
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_102:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_103: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 02b7096f1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_103
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_103:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r13
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0e4dd92b6h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_104: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 075deaf71h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_104
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_104:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 2381897207
|
|
|
|
mov rcx, 16631314374404138087
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 08df8ddf7h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_105: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 036a51f72h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_105
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_105:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r15d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 09c8724edh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_106: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 07b512986h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_106
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_106:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 03cb2505h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_107: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0f1d2e50h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_107
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_107:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 07243ab81h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r11d, 1917037441
|
|
|
|
jl rx_i_143
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_108: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 07327ba60h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_108
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_108:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0678b65beh
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_109: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0594e37deh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_109
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_109:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r10
|
|
|
|
ror rax, cl
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 094ab5a5ch
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_110: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 04cdf5ebah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_110
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_110:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r9
|
2019-01-11 08:58:06 +00:00
|
|
|
shr rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0ec68532fh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_111: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 02e16c97ch
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_111
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_111:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 05d237d0bh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r14d, 1562606859
|
|
|
|
jl short rx_i_112
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_212
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_112: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d42ddbd4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_112
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_112:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, -1025977295
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0c2d8d431h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_113: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 07a4f8cbbh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_113
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_113:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r9
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_114: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 06e83e2cdh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_114
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_114:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 770835683
|
|
|
|
mov rcx, 12847770974664443757
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 29
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_115: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0336c980eh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_115
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_115:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 587029837
|
|
|
|
mov rdx, 527204905636414983
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
|
|
|
xor edx, edx
|
|
|
|
sar rax, 24
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_116: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d122702eh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_116
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_116:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 2444190605
|
|
|
|
mov rcx, 16207443550472271289
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 091af638dh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_117: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 015f2012bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_117
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_117:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by -1205826972
|
|
|
|
mov rdx, -8213052572424165513
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 29
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0b8208a64h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_118: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 037ddf43dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_118
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_118:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm5
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_119: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0bba475f3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_119
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_119:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm3
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_120: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0e5561e3eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_120
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_120:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm4
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_121: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 03ab8f73h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_121
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_121:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_122: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 04e0dbd40h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_122
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_122:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 078f6ec29h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r11d, 2029448233
|
|
|
|
jno short rx_i_123
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_192
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_123: ;ADD_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 073e9f58ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_123
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_123:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add eax, 1530846772
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_124: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0e3fa3670h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_124
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_124:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0667d921ch
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r11d, 1719505436
|
|
|
|
jns rx_i_237
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_125: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0ebec27cdh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_125
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_125:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r14d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_126: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 01feb5264h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_126
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_126:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_127: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0405f500fh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_127
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_127:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r10d
|
|
|
|
imul rax, rcx
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_128: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0459f1154h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_128
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_128:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r9
|
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_129: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 081918b4ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_129
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_129:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r9, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r13d, -590624856
|
|
|
|
jge rx_i_154
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_130: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 077c3b332h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_130
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_130:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by -281794782
|
|
|
|
mov rdx, -8786110448882479839
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
xor edx, edx
|
2019-01-11 15:53:52 +00:00
|
|
|
sar rax, 27
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0ef342722h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_131: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 05792310bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_131
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_131:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0dff06f75h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_132
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_132: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0ebc6e10h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_132
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_132:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_133: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0822f8b60h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_133
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_133:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0c45d2c34h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_134: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d0f18593h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_134
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_134:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_135: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 088212ef9h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_135
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_135:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_136: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 01ae56e03h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_136
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_136:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm8
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0efd7799dh
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_137: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 015a24231h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_137
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_137:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r9
|
2019-01-11 08:58:06 +00:00
|
|
|
shr rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_138: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 02fd380c5h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_138
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_138:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_139
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_139: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 093172470h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_139
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_139:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 01eb7d4f2h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_140: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 052543553h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_140
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_140:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r11d
|
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_141: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 02f636da1h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_141
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_141:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm2
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 099ff9ffdh
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_142: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0b11a4f2ch
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_142
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_142:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0516a9452h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r12d, 1365939282
|
|
|
|
js rx_i_257
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_143: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 037f4b5d0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_143
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_143:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r11d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_144: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 02e59e00ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_144
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_144:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, 1
|
|
|
|
mov edx, r11d
|
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
|
|
|
xor edx, edx
|
|
|
|
div rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_145: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 08d5c798h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_145
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_145:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 3712555397
|
|
|
|
mov rcx, 10670300378317066981
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0dd491985h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_146: ;IMULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 02327e6e2h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_146
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_146:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, r12
|
|
|
|
imul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_147: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 03a7df043h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_147
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_147:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 06a5bda88h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_148: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0783e5c4eh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_148
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_148:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 08c783d2ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_149: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0aa0f5b2fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_149
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_149:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r14d
|
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 09046b787h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_150: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 01504ca7ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_150
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_150:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, 1
|
|
|
|
mov edx, r8d
|
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
|
|
|
xor edx, edx
|
|
|
|
div rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0c854a524h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_151: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0ea72a7cfh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_151
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_151:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, -2018584590
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 087aed7f2h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_152: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ad0e7a88h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_152
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_152:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r10
|
2019-01-11 08:58:06 +00:00
|
|
|
sar rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_153: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0fd95ab87h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_153
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_153:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 09111c981h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_154: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0256697b0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_154
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_154:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov ecx, eax
|
2019-01-11 15:53:52 +00:00
|
|
|
mov eax, -820047839
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_155: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0d23f3b78h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_155
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_155:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r10
|
2019-01-11 08:58:06 +00:00
|
|
|
rol rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 01c5d3ebeh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_156: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 098917533h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_156
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_156:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r15d
|
|
|
|
imul rax, rcx
|
|
|
|
mov r15, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_157: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0dfac3efch
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_157
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_157:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r12
|
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_158: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0a64de090h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_158
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_158:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_159: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0952a3abbh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_159
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_159:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0ff7d3697h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r15d, -8571241
|
|
|
|
ja short rx_i_160
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_181
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_160: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0b1685b90h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_160
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_160:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 05a86b929h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_161: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0ea992531h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_161
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_161:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mov edx, r14d
|
|
|
|
cmp edx, -1
|
2019-01-11 15:53:52 +00:00
|
|
|
jne short body_idiv_161
|
|
|
|
neg rax
|
|
|
|
jmp short result_idiv_161
|
|
|
|
body_idiv_161:
|
2019-01-11 08:58:06 +00:00
|
|
|
mov ecx, 1
|
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
|
|
|
movsxd rcx, ecx
|
|
|
|
cqo
|
|
|
|
idiv rcx
|
|
|
|
result_idiv_161:
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_162: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 01fd57a4ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_162
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_162:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shl rax, 7
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_163: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0e3486c0ah
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_163
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_163:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 082c34b08h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_164: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01f0c2737h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_164
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_164:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r9d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 09aa6da19h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_165: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0debb493eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_165
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_165:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 06450685ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_166
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_166: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0fe684081h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_166
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_166:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shr rax, 62
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0bb67f8abh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_167: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0d10371ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_167
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_167:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm4
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 02a58510fh
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_168: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 071b15effh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_168
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_168:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm5
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_169: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 072790347h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_169
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_169:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0b353bf8dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r10d, -1286357107
|
|
|
|
ja short rx_i_170
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_197
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_170: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04ae8a020h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_170
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_170:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0a4256a99h
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_171: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 09901e05bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_171
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_171:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 2064150457
|
|
|
|
add rax, 1
|
|
|
|
sbb rax, 0
|
|
|
|
mov rcx, 4797867461985617359
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 29
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_172: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 050e8c510h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_172
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_172:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, -478081934
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_173: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 05422cf8fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_173
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_173:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, -1386172772
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0ad60ae9ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_174: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0a025c3dbh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_174
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_174:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 02be6989fh
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_175: ;XOR_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 08f74c11h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_175
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_175:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor eax, r8d
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_176: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 01f2ed5f1h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_176
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_176:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, -2101315181
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_177: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d2072c79h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_177
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_177:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, 794235831
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 02f5713b7h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_178: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0a8e51933h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_178
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_178:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0c366b275h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_179
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_179: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0934ad492h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_179
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_179:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm2
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_180: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 01cb3ce1fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_180
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_180:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and eax, r9d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 076edfe13h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_181: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 023c7845fh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_181
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_181:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r12d, -1612576918
|
|
|
|
jbe short rx_i_182
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_211
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_182: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0f8884327h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_182
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_182:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm7
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_183: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 013070461h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_183
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_183:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_184: ;XOR_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 04764cdf7h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_184
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_184:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor eax, r13d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_185: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 03c41026fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_185
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_185:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0a5fae4a3h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r15d, -1510284125
|
|
|
|
jbe rx_i_246
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_186: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0cded414bh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_186
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_186:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, -1252263008
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0b55bfba0h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_187: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 05c6d64a8h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_187
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_187:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_188: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 04659becbh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_188
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_188:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_189: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0c52741d5h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_189
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_189:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm7
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_190: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0217bf5f3h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_190
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_190:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_191
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_191: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0884f3526h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_191
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_191:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_192: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0d76edad3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_192
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_192:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 0f8fd2040h
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_193: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0e9939ach
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_193
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_193:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r12d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 074e097dch
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_194: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0f21ca520h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_194
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_194:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 040eb9f47h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_195: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 09405152ch
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_195
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_195:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shl rax, 27
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_196: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0c2a9f41bh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_196
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_196:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 08e47b269h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_197: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0229208efh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_197
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_197:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
imul rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_198: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0c8d95bbbh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_198
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_198:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r14
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 01149cba0h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_199: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 050049e2eh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_199
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_199:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r10
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0d0e71e9ah
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_200: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0c63b99e8h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_200
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_200:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm2
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0b05ce8abh
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_201: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0cdda801dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_201
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_201:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 040cfe68eh
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_202: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0fa44b04ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_202
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_202:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm9
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_203: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d73e472ch
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_203
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_203:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm2
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 09bdff355h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_204: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 01af8ab1dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_204
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_204:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0eb8fc30fh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_205: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 094e997c5h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_205
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_205:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm8
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_206: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0e836a177h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_206
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_206:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm7
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_207: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 039ccdd30h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_207
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_207:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 314297476
|
|
|
|
mov rdx, 1969376361274661135
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-11 15:53:52 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 25
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 012bbcc84h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_208: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f4f126c5h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_208
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_208:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, -486588965
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_209: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0b84811f1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_209
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_209:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0c36b836ah
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_210: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0c5efc90ah
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_210
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_210:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov ecx, eax
|
2019-01-11 15:53:52 +00:00
|
|
|
mov eax, r12d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0c2c6bee0h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_211: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0ce533072h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_211
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_211:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r9
|
|
|
|
ror rax, cl
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0212e615h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_212: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 06b465fdbh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_212
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_212:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 067d81043h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_213: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 02dd1d503h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_213
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_213:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
mov rax, 129993589
|
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_214: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0a159f313h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_214
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_214:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r14
|
2019-01-11 08:58:06 +00:00
|
|
|
shl rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_215: ;ADD_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 08359265eh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_215
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_215:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add eax, r12d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_216: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 080696de3h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_216
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_216:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 03b609d2bh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_217: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 040d5b526h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_217
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_217:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r9d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 017e667h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_218: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 083c0bd93h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_218
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_218:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0dd192e86h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_219: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0ca37f668h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_219
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_219:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0d3d68798h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_220: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0bb44c384h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_220
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_220:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r11d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0903fd173h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_221: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0a3deb512h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_221
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_221:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, 1
|
|
|
|
mov edx, r15d
|
|
|
|
test edx, edx
|
|
|
|
cmovne ecx, edx
|
|
|
|
xor edx, edx
|
|
|
|
div rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 07feab351h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_222: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 084a02d64h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_222
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_222:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm5
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0d7601963h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_223: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 01e5cc085h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_223
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_223:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm3
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 07fca59eeh
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_224: ;XOR_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 053982440h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_224
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_224:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor eax, -452933987
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0e500c69dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_225: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0c558367eh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_225
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_225:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 4264577610
|
|
|
|
shr rax, 1
|
|
|
|
mov rcx, 9289098447696480965
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 30
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0fe304a4ah
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_226: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 040139b65h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_226
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_226:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0978b2498h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r8d, -1752488808
|
|
|
|
jno rx_i_328
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_227: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0fa312dbdh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_227
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_227:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm7
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0aabe2a0ah
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_228: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0b64246c0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_228
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_228:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_229: ;IMULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 05c535836h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_229
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_229:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, 334017248
|
|
|
|
imul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 013e8b2e0h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_230: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0f394972eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_230
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_230:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm6
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 01dc2b4f6h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_231: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0bb56428dh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_231
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_231:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0e6c9edaah
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_232
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_232: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 09ab46ab3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_232
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_232:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_233: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 08eb2cd76h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_233
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_233:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r12d, 392389867
|
|
|
|
jo rx_i_268
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_234: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0ba687578h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_234
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_234:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm4
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_235: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0b6cb9ff2h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_235
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_235:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r12d
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0ca73a89h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_236: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 03ad196ach
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_236
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_236:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm4
|
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_237: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0fab4600h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_237
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_237:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r11, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r12d, -121899164
|
|
|
|
jge rx_i_295
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_238: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0158f119fh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_238
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_238:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0331bbf8h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_239: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 044f30b3fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_239
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_239:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r10
|
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_240: ;IMULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0d65d29f9h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_240
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_240:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, r14
|
|
|
|
imul rcx
|
|
|
|
mov rax, rdx
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_241: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0ce5260adh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_241
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_241:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0bc2423ebh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_242: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01119b0f9h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_242
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_242:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r12d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0130882f2h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_243: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d6c2ce3dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_243
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_243:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_244: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0c6a6248h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_244
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_244:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r14
|
|
|
|
ror rax, cl
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0b4a1fad6h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_245: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 084505739h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_245
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_245:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and eax, r10d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0a3d1ad8bh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_246: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 027eeaa2eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_246
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_246:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by -156808488
|
|
|
|
mov rdx, -3947299202596036367
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 25
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_247: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0c4de0296h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_247
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_247:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r14d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 03814cf80h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_248: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0649df46fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_248
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_248:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r15d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 07b10fc32h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_249: ;IMULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0499552cch
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_249
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_249:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, -508571655
|
|
|
|
imul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0e1afcff9h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_250: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 083eafe6fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_250
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_250:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
imul rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 031115b87h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_251: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0a25a4d8ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_251
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_251:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 05ed767a3h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_252: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 08a75ad41h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_252
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_252:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shl rax, 53
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_253: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 057f3f596h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_253
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_253:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0654b460bh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r15d, 1699431947
|
|
|
|
js short rx_i_254
|
2018-12-31 18:06:45 +00:00
|
|
|
call rx_i_367
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_254: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 04cfb709eh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_254
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_254:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 0c251872eh
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_255: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0b96ec9ech
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_255
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_255:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm5
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0ae781d10h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_256: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 08375472ch
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_256
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_256:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r15
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0f8942c0h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_257: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d75a8c3fh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_257
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_257:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm5
|
|
|
|
movaps xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0373b1b6fh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_258: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 064fdbda0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_258
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_258:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r14d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 01c58ef2dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_259: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 02e36a073h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_259
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_259:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_260: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0f94e9fa9h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_260
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_260:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_261: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 02346171ch
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_261
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_261:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm3, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0745a48e9h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_262: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 01c42baa6h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_262
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_262:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, -1569587450
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0a271ff06h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_263: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0b39b140h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_263
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_263:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm8
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_264: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 01a07d201h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_264
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_264:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_265: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 07a3eb340h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_265
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_265:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm8
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 04c559414h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_266: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 03d0a3a89h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_266
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_266:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r12d, 136160027
|
|
|
|
jbe short rx_i_267
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_295
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_267: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0c6c7b37h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_267
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_267:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r10
|
|
|
|
rol rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_268: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0c2510cebh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_268
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_268:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r13, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r15d, -2062812966
|
|
|
|
jl rx_i_381
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_269: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0c80cc899h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_269
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_269:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
rol rax, 50
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 01ba81447h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_270: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0eb355caah
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_270
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_270:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_271: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0c6f12299h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_271
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_271:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov ecx, eax
|
2019-01-11 15:53:52 +00:00
|
|
|
mov eax, r10d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 086ddd754h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_272: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0695a5dd2h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_272
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_272:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
and rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_273: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0d315e4dch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_273
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_273:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 063972038h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r12d, 1670848568
|
|
|
|
jl rx_i_372
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_274: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0b66ca7e0h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_274
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_274:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 06a2b2b5bh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_275: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0788eceb7h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_275
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_275:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by -333089764
|
|
|
|
mov rdx, -7433071640624659213
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
xor edx, edx
|
2019-01-11 15:53:52 +00:00
|
|
|
sar rax, 27
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_276: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0c6ac5edah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_276
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_276:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0b65161a6h
|
|
|
|
and eax, 2047
|
2018-12-21 21:41:35 +00:00
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r11d, -1236180570
|
|
|
|
jns rx_i_404
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_277: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0c9549789h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_277
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_277:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r10d
|
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 01aca20a3h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_278: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0a2bc66c9h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_278
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_278:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm7
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 02d00ad10h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_279: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0f1a91458h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_279
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_279:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0475ade01h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_280: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 066246b43h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_280
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_280:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 555412224
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rdx, 2228867111296024113
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 26
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0211aeb00h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_281: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 05a762727h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_281
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_281:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, -202979002
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0f3e6c946h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_282: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0de1ab603h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_282
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_282:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_283: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0df4d084fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_283
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_283:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0bb0da7d0h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_284: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0e68f36ach
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_284
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_284:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
addpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0936f2960h
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_285: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 09adb333bh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_285
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_285:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_286: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 082f5e36ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_286
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_286:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r9
|
|
|
|
rol rax, cl
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0546e75d1h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_287: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 049547c9ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_287
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_287:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 1227278330
|
|
|
|
mov rdx, 8069498232143512385
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
|
|
|
xor edx, edx
|
|
|
|
sar rax, 29
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 04926c7fah
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_288: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 08716ac8bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_288
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_288:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 062eafa1bh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_289: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0efef52b5h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_289
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_289:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm9
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_290: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 060665748h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_290
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_290:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm8
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_291: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0ddf4bd1ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_291
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_291:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0768a9d75h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_292
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_292: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 05a87cc3dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_292
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_292:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r8
|
|
|
|
rol rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_293: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0c61f4279h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_293
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_293:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_294: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0f3b9d85h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_294
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_294:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0ef8571b7h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_295
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_295: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f42798fdh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_295
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_295:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm8
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_296: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 018738758h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_296
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_296:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_297: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0de3b9d9bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_297
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_297:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r10
|
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_298: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 084f53637h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_298
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_298:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm7
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_299: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 042f4897h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_299
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_299:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 01468af4h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_300: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 095765693h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_300
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_300:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm8
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_301: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0a0ec5eech
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_301
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_301:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm5
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0433cf2d6h
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_302: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0f6f8c345h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_302
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_302:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r10
|
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_303: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 082a3e965h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_303
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_303:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0bb9ee490h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_304: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 04940c652h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_304
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_304:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 2007686513
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_305: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 03c6c62b8h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_305
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_305:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_306: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 08b34cdfch
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_306
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_306:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, 400578979
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_307: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 04c36adb1h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_307
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_307:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shl rax, 33
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_308: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0a4213b21h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_308
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_308:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r13
|
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_309: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 090c42304h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_309
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_309:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 2642117268
|
|
|
|
mov rcx, 14993309243657753043
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 09d7b8294h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_310: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f78e1c8ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_310
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_310:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm6
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 07c9816c0h
|
|
|
|
and eax, 32767
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_311: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0ff8848cfh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_311
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_311:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm4
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_312: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0b18904cdh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_312
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_312:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r14d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_313: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0a0d0befh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_313
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_313:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
ror rax, 62
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 09500d514h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_314: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 01e3c65f7h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_314
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_314:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r9d
|
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 07fc7f955h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_315: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 02e36ddafh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_315
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_315:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_316: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 05b0cb5bbh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_316
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_316:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 03602c513h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_317
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_317: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0c74e7415h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_317
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_317:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm7
|
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_318: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 057621d9ah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_318
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_318:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r11
|
|
|
|
ror rax, cl
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 061cb9db8h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_319: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 08ee02d99h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_319
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_319:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shr rax, 46
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 01f931a08h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_320: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 013461188h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_320
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_320:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm4
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 02bdc7349h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_321: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0a7bae383h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_321
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_321:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r9d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0f213dach
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_322: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 08215399bh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_322
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_322:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 054292224h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r11d, 1411981860
|
|
|
|
jno short rx_i_323
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_343
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_323: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 07b07664bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_323
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_323:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r14
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0d675c533h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_324: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f956baffh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_324
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_324:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0944856d4h
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_325: ;OR_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0708ab9d1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_325
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_325:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_326: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0d1b27540h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_326
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_326:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, -1233771581
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0b67623c3h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_327: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 09665f98dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_327
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_327:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 1572662125
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov rdx, -5852150286715358951
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
add rax, rcx
|
|
|
|
sar rax, 30
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_328: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0fb9c32adh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_328
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_328:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shr rax, 18
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_329: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0e1110623h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_329
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_329:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_330
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_330: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f6a93f19h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_330
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_330:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r13d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0af8b7117h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_331: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0bc9bbe4ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_331
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_331:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_332: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0f253cd4eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_332
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_332:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm3, xmm0
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0116c919eh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_333: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0f009758bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_333
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_333:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_334: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0dda04168h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_334
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_334:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
add rax, r13
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_335: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 03e6cfb73h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_335
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_335:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
sub rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 07ffe4218h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_336: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0aea0a435h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_336
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_336:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
ror rax, 42
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 02644c5ah
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_337: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 03d6c4ab2h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_337
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_337:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
add rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0dab07c39h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_338: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d428a742h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_338
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_338:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r12
|
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_339: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 04596ef73h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_339
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_339:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_340: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0e51629cch
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_340
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_340:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm5
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_341: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 019eb9ea5h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_341
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_341:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r15d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 024736405h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_342: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 09ccc7abah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_342
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_342:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_343: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 056f6cf0bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_343
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_343:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor rax, r13
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0d9a469a9h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_344: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 03ef9bcc4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_344
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_344:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm6
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_345: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0bbbcdbach
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_345
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_345:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r13
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0ef03b0ddh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_346: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0ae9d1e96h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_346
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_346:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
and eax, r15d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0ed2d3987h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_347: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 070c34d69h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_347
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_347:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r10
|
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_348: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0523ff904h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_348
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_348:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm3
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 039c35461h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_349: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 018e0e5ddh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_349
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_349:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
or rax, r15
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_350: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 09bd050f0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_350
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_350:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0c5901b43h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r9d, -980411581
|
|
|
|
ja short rx_i_351
|
2018-12-31 18:06:45 +00:00
|
|
|
call rx_i_352
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_351: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0a3a5906fh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_351
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_351:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
imul rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_352: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0afc9af2bh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_352
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_352:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm2, xmm0
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 03bf686f2h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm2
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_353: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 02e65278bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_353
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_353:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0b3c9f7aeh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_354: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 02412fc10h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_354
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_354:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r13d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r13, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_355: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 06bd6e65fh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_355
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_355:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0c1062b3ch
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_356: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 01cd85d80h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_356
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_356:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
imul rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_357: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0f7daed36h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_357
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_357:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_358: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 088fa6e5ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_358
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_358:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 3667831238
|
|
|
|
shr rax, 1
|
|
|
|
mov rcx, 2700102505175032865
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 28
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_359: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0714fc2cdh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_359
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_359:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm9
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0f16b9be3h
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_360: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0c2d110b5h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_360
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_360:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm8
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_361: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 01d125a7fh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_361
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_361:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm6
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0ad0b81f5h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_362: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0ed8954bdh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_362
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_362:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 04080bf8dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_363: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 09f75887bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_363
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_363:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm6
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_364: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0badaf867h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_364
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_364:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r8d
|
|
|
|
imul rax, rcx
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_365: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 02db4444ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_365
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_365:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r9d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0bfd87d37h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_366: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0bff7218fh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_366
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_366:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
2018-12-16 12:43:18 +00:00
|
|
|
movsxd rax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0c3d6bcb7h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_367: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 04d14cb3ah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_367
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_367:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
ror rax, 18
|
2019-01-11 08:58:06 +00:00
|
|
|
mov r12, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_368: ;SUB_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0a14836bah
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_368
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_368:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub eax, r10d
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_369: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 053fe22e2h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_369
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_369:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by 470792991
|
2019-01-12 15:05:09 +00:00
|
|
|
mov rdx, 1314739240972876203
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 25
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_370: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 010e1fb24h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_370
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_370:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm6
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0a120e0edh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_371: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0ebbd5cc9h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_371
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_371:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0c40fe413h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_372: ;SHL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 098ab79d7h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_372
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_372:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r13
|
2019-01-11 08:58:06 +00:00
|
|
|
shl rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_373: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 056438b3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_373
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_373:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm8
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_374: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0dbcce604h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_374
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_374:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_375: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0edea6200h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_375
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_375:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, -332030999
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0ec359be9h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_376: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 05e61b279h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_376
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_376:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 01c614282h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_377: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0fc1fb433h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_377
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_377:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm3
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_378: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 082aa21ach
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_378
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_378:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r14d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_379: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 05dba41fbh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_379
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_379:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r9
|
|
|
|
ror rax, cl
|
2019-01-11 08:58:06 +00:00
|
|
|
mov r13, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_380: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0229e3d6eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_380
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_380:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0a9fd85e0h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_381: ;XOR_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 019816ff9h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_381
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_381:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor eax, r14d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_382: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 036b5b81fh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_382
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_382:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
rol rax, 55
|
|
|
|
mov r11, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_383: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 05f798ec3h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_383
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_383:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm4
|
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0c9f5cc22h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_384: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 05b459fd7h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_384
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_384:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor rax, 1413715044
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 054439464h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_385: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0c91749bbh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_385
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_385:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r12
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0fb9b50b9h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_386: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0575b4bdch
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_386
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_386:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm8
|
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_387: ;SUB_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0d4f7bc6ah
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_387
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_387:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub eax, r15d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_388: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 08a949356h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_388
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_388:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0a0985cc2h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_389
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_389: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 06531ad2eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_389
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_389:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r14, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r9d, -350609584
|
|
|
|
jge rx_i_421
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_390: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 02914abeah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_390
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_390:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm4
|
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_391: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0473a41f0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_391
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_391:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm3
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_392: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 01ebc1f0dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_392
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_392:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r9
|
|
|
|
sar rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 08c4a0f0dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_393: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0742e95b1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_393
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_393:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 020ec085ch
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_394: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0db885c2ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_394
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_394:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_395: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04ae4fe8ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_395
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_395:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 939698704
|
|
|
|
mov rcx, 5269518980991934091
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 28
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_396: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 07b41862bh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_396
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_396:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
ror rax, 62
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 01ee1c837h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_397: ;SUB_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0916f3819h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_397
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_397:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub eax, r12d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0146db5dfh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_398: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04eb6fd2ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_398
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_398:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r8
|
|
|
|
shr rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0724e7136h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_399: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0899a98cfh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_399
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_399:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_400: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0aae75db6h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_400
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_400:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, -1800645748
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 094ac538ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_401: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 032e81f25h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_401
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_401:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 03ea60344h
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_402: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0fa1a07ffh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_402
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_402:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_403
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_403: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0e59500f7h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_403
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_403:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 536056992
|
|
|
|
mov rcx, 4618688153536407095
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 27
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 01ff394a0h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_404: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 05b8ceb2fh
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_404
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_404:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r8d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_405: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0f61082a3h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_405
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_405:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 06b0af6c1h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r10d, 1795880641
|
|
|
|
ja short rx_i_406
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_494
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_406: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0af6886b7h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_406
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_406:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
divpd xmm0, xmm7
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 09862adefh
|
|
|
|
and eax, 32767
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_407: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 09699566fh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_407
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_407:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm9
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_408: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 066e79fa6h
|
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_408
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_408:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 693109961
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0295004c9h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_409: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04b6caa9ah
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_409
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_409:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
imul rax, r15
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_410: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0d17f245eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_410
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_410:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_411
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_411: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0364f10e7h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_411
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_411:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_412
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_412: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0ac90e7ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_412
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_412:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm4
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm3, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0bbd2640ah
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm3
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_413: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04b6037abh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_413
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_413:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_414: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 06c01554dh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_414
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_414:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, -378293327
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0e973b3b1h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_415: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 08c3e59a1h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_415
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_415:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 3756873911
|
|
|
|
add rax, 1
|
|
|
|
sbb rax, 0
|
|
|
|
mov rcx, 10544426615208851175
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_416: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0f3fafde9h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_416
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_416:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0f84b5382h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_417: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 03c6481fah
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_417
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_417:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
sub rax, r12
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_418: ;MULH_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 02bd61c5fh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_418
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_418:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r11
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_419: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0b6ab9d32h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_419
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_419:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
or rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0beeca8dbh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_420: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0f9690ceah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_420
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_420:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
ror rax, 38
|
2019-01-11 08:58:06 +00:00
|
|
|
mov r9, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_421: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01ada0f39h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_421
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_421:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r8d, -1600409762
|
|
|
|
jo short rx_i_422
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_31
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_422: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 04dd16ca4h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_422
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_422:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r10d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r13, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_423: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 04df5ce05h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_423
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_423:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
imul rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0a5d40d0ah
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_424: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 01ad12ce2h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_424
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_424:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm7
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0565ae8aah
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_425: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0a3c5391dh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_425
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_425:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r10d
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_426: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 09dd55ba0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_426
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_426:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by -590728721
|
|
|
|
mov rdx, -4191230239118101979
|
|
|
|
imul rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
xor edx, edx
|
|
|
|
sar rax, 27
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0dcca31efh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_427: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0d6cae9aeh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_427
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_427:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, -2146332428
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0801190f4h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_428: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0f807a961h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_428
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_428:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0e3b86b2fh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_429
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_429: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0650a4102h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_429
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_429:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_430: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 019cc0e5h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_430
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_430:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm8
|
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 058891433h
|
|
|
|
and eax, 32767
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_431: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0ed17ab58h
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_431
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_431:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r13
|
|
|
|
ror rax, cl
|
|
|
|
mov r13, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_432: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 01c3b321fh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_432
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_432:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, 876274173
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_433: ;ADD_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0bbb88499h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_433
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_433:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add eax, 1193456495
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 04722b36fh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_434: ;FPDIV
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0167edabdh
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_434
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_434:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
divpd xmm0, xmm3
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm9, xmm0
|
2018-12-31 18:06:45 +00:00
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 08c1cfc74h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_435: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0b940480ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_435
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_435:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, rax, 1971717631
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 0758605ffh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_436: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0bfc3ca8bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_436
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_436:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm2
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0bfa76c43h
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_437: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 098a6bcf7h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_437
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_437:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_438: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0325b38ebh
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_438
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_438:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_439: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 05e807e81h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_439
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_439:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
or rax, -1299288575
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 0b28e6e01h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_440: ;CALL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 062f83728h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_440
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_440:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp r12d, 2127765370
|
|
|
|
jns short rx_i_441
|
2019-01-11 08:58:06 +00:00
|
|
|
call rx_i_41
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_441: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0d18ec075h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_441
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_441:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 01f93242ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_442: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0a53dd1bh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_442
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_442:
|
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_443: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0232d1285h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_443
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_443:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 04f71c419h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_444
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_444: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 042455dd8h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_444
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_444:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm7
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0ce416070h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_445: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 09ae009b2h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_445
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_445:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
add rax, r11
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 084d1f575h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_446: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 01734708eh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_446
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_446:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r15d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 03166163h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_447: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 01596d0e8h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_447
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_447:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
addpd xmm0, xmm7
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm5, xmm0
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0b384d4afh
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm5
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_448: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0390cfdb0h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_448
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_448:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm3
|
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_449: ;ROL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04f27744bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_449
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_449:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
rol rax, 28
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_450: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 04e2c76ffh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_450
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_450:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, r12
|
2019-01-11 08:58:06 +00:00
|
|
|
sar rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0f6de92ach
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_451: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0c4d99ac9h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_451
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_451:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r10
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_452: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 040130b88h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_452
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_452:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r11d
|
|
|
|
xor eax, 0e27dea25h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_453
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_453: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0a2096aa4h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_453
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_453:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 380157076
|
|
|
|
shr rax, 2
|
|
|
|
mov rcx, 3256390890604862173
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 24
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_454: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 081314291h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_454
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_454:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 07e41c60fh
|
|
|
|
and eax, 2047
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_455: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 059263cdbh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_455
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_455:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
or rax, r9
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_456: ;AND_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 010e8fe6h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_456
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_456:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and rax, 401943615
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 017f52c3fh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_457: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 09de1a3efh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_457
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_457:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, 1482178870
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r10d
|
|
|
|
xor eax, 058584136h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_458: ;SAR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 05c79df6eh
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_458
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_458:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rcx, r8
|
|
|
|
sar rax, cl
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_459: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0346f46adh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_459
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_459:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 016bb0164h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_460: ;ADD_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 098ab71fch
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_460
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_460:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add eax, -347784553
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0eb453a97h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_461: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0c814e926h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_461
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_461:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
xor rax, 1659853721
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 062ef5b99h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_462: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0c64b4a9eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_462
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_462:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_463: ;ADD_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 08c29341h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_463
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_463:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add eax, r15d
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r10, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_464: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 06ff587fdh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_464
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_464:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, r15
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0d0673df8h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_465: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0b62c0003h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_465
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_465:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm5
|
|
|
|
movaps xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_466: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 05c541c42h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_466
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_466:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
mov rax, 282682508
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov r9, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_467: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0cbb33f81h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_467
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_467:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_468: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 091044dc3h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_468
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_468:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 4281572471
|
|
|
|
add rax, 1
|
|
|
|
sbb rax, 0
|
|
|
|
mov rcx, 9252227195836753313
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 31
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0ff339c77h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_469: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0c0186beh
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_469
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_469:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
mov rax, 294019485
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 01186619dh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_470: ;OR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 090849e3eh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_470
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_470:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
or rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 090d56b4ch
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_471: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0cedba9b6h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_471
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_471:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
movsxd rax, r13d
|
|
|
|
imul rax, rcx
|
|
|
|
mov r14, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_472: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 038f4b9d6h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_472
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_472:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
mov r10, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r10d, 1738497427
|
|
|
|
jl rx_i_8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_473: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 01fb7637dh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_473
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_473:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
imul rax, r11
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_474: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0b5c0b4d4h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_474
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_474:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r15, rax
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r15d, -233120543
|
|
|
|
jo rx_i_69
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_475: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0910dcdeeh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_475
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_475:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm9
|
|
|
|
movaps xmm7, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_476: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 07ab3b5a4h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_476
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_476:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_477: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 07a29ec63h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_477
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_477:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm6, xmm0
|
|
|
|
mov eax, r14d
|
|
|
|
xor eax, 0e81fc7a6h
|
|
|
|
and eax, 2047
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm6
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_478: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 02d3d7e7fh
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_478
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_478:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
imul rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_479: ;MUL_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 09b49c793h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_479
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_479:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-21 21:41:35 +00:00
|
|
|
imul rax, r14
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r13d
|
|
|
|
xor eax, 0c42735ech
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_480: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0a9cc4f01h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_480
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_480:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
addpd xmm0, xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_481: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0225ba1f9h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_481
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_481:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 2101516912
|
|
|
|
shr rax, 4
|
|
|
|
mov rcx, 147267437180322377
|
|
|
|
mul rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rax, rdx
|
2019-01-12 15:05:09 +00:00
|
|
|
shr rax, 20
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_482: ;AND_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 044a0f592h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_482
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_482:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
and eax, 1304556205
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_483: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 07f71f219h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_483
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_483:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm6
|
|
|
|
movaps xmm6, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_484: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 07027bacdh
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_484
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_484:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
shr rax, 37
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_485: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 03a04647h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_485
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_485:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 02112cbaeh
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r8d, 554879918
|
|
|
|
jno rx_i_58
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_486: ;ADD_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0ad072937h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_486
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_486:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
add rax, r8
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 03832b3b2h
|
|
|
|
and eax, 32767
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_487: ;SUB_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 07f78ad34h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_487
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_487:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
sub rax, r9
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2019-01-12 15:05:09 +00:00
|
|
|
rx_i_488: ;DIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 0d8b1788eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_488
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_488:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-12 15:05:09 +00:00
|
|
|
; magic divide by 297357073
|
|
|
|
mov rcx, 16652572300311555393
|
|
|
|
mul rcx
|
|
|
|
mov rax, rdx
|
|
|
|
shr rax, 28
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_489: ;JUMP
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0b2ec9f3ah
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_489
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_489:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
2018-12-16 12:43:18 +00:00
|
|
|
mov eax, r8d
|
2018-12-13 22:11:55 +00:00
|
|
|
xor eax, 0bcd0a942h
|
|
|
|
and eax, 2047
|
2018-12-21 21:41:35 +00:00
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 08:58:06 +00:00
|
|
|
cmp r15d, -1127175870
|
|
|
|
jge rx_i_75
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_490: ;ROR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 015c7f598h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_490
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_490:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
|
|
|
mov rcx, r9
|
|
|
|
ror rax, cl
|
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0ab8bd68h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_491: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 0902da6bdh
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_491
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_491:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm7, xmm0
|
|
|
|
mov eax, r15d
|
|
|
|
xor eax, 0b0f0fca4h
|
|
|
|
and eax, 32767
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm7
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_492: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0491090d9h
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_492
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_492:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by -1779388031
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
2019-01-11 15:53:52 +00:00
|
|
|
mov rdx, 7315366159790064091
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
|
|
|
xor edx, edx
|
|
|
|
sub rax, rcx
|
|
|
|
sar rax, 30
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r12, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_493: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 09de81282h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_493
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_493:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm9
|
|
|
|
movaps xmm4, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_494: ;MUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0b0d50e46h
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_494
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_494:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
mov ecx, eax
|
|
|
|
mov eax, r11d
|
|
|
|
imul rax, rcx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_495: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r11, 0e276cad1h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_495
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_495:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm2
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_496: ;IDIV_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r14, 0fe757b73h
|
|
|
|
mov ecx, r14d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_496
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_496:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
; magic divide by -359802064
|
|
|
|
mov rdx, -860153514353783887
|
|
|
|
imul rdx
|
|
|
|
mov rax, rdx
|
2019-01-11 08:58:06 +00:00
|
|
|
xor edx, edx
|
2019-01-11 15:53:52 +00:00
|
|
|
sar rax, 24
|
|
|
|
sets dl
|
|
|
|
add rax, rdx
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r9, rax
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_497: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 08d25742eh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_497
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_497:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-07 16:44:43 +00:00
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mulpd xmm0, xmm3
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_498: ;FPMUL
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r15, 0e066fd15h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r15d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_498
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_498:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mulpd xmm0, xmm9
|
|
|
|
movaps xmm1, xmm0
|
|
|
|
cmpeqpd xmm1, xmm1
|
|
|
|
andps xmm0, xmm1
|
|
|
|
movaps xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 09dc5a1f9h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 15:53:52 +00:00
|
|
|
rx_i_499: ;IMUL_32
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 08925556bh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_499
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_499:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
movsxd rcx, eax
|
|
|
|
mov rax, -1795485757
|
2018-12-13 22:11:55 +00:00
|
|
|
imul rax, rcx
|
2018-12-16 12:43:18 +00:00
|
|
|
mov r8, rax
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_500: ;FPSQRT
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 04bc870ebh
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_500
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_500:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-11 08:58:06 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
|
|
|
andps xmm0, xmm10
|
|
|
|
sqrtpd xmm2, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_501: ;XOR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-16 12:43:18 +00:00
|
|
|
xor r8, 07d46c503h
|
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_501
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_501:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
xor rax, r10
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 03e22874bh
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_502: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 09e70b20ch
|
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_502
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_502:
|
2019-01-08 13:50:31 +00:00
|
|
|
xor rbp, rcx
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov rcx, rax
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 08d85312h
|
|
|
|
and eax, 2047
|
|
|
|
mov qword ptr [rsi + rax * 8], rcx
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_503
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_503: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 0442e4850h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_503
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_503:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
subpd xmm0, xmm2
|
|
|
|
movaps xmm9, xmm0
|
|
|
|
mov eax, r9d
|
|
|
|
xor eax, 080465282h
|
|
|
|
and eax, 2047
|
|
|
|
movlpd qword ptr [rsi + rax * 8], xmm9
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_504: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r13, 099d48347h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_504
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_504:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
addpd xmm0, xmm9
|
|
|
|
movaps xmm4, xmm0
|
|
|
|
mov eax, r12d
|
|
|
|
xor eax, 0be8cbb18h
|
|
|
|
and eax, 32767
|
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm4
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_505: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r12, 032c0a28ah
|
|
|
|
mov ecx, r12d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_505
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l1
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_505:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 2047
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm4
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm8, xmm0
|
|
|
|
mov eax, r8d
|
|
|
|
xor eax, 021b54eaeh
|
|
|
|
and eax, 32767
|
2019-01-10 21:04:55 +00:00
|
|
|
movhpd qword ptr [rsi + rax * 8], xmm8
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_506: ;FPSUB
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r9, 0a973d58ch
|
|
|
|
mov ecx, r9d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_506
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_506:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
subpd xmm0, xmm9
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm3, xmm0
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_507: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
2018-12-13 22:11:55 +00:00
|
|
|
xor r10, 0d3b7165ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r10d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_507
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_507:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-13 22:11:55 +00:00
|
|
|
mov r14, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_508
|
|
|
|
ret
|
2018-12-13 22:11:55 +00:00
|
|
|
|
2018-12-31 18:06:45 +00:00
|
|
|
rx_i_508: ;RET
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
|
|
|
xor r13, 0da34d818h
|
|
|
|
mov ecx, r13d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_508
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_508:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2018-12-31 18:06:45 +00:00
|
|
|
mov r8, rax
|
2019-01-11 09:18:24 +00:00
|
|
|
cmp rsp, rdi
|
|
|
|
je short rx_i_509
|
|
|
|
ret
|
2018-12-31 18:06:45 +00:00
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_509: ;FPROUND
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
|
|
|
xor r11, 01b2873f2h
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_509
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_509:
|
|
|
|
and ecx, 2047
|
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 08:58:06 +00:00
|
|
|
mov rcx, rax
|
2019-01-11 09:52:12 +00:00
|
|
|
rol rax, 34
|
2019-01-11 08:58:06 +00:00
|
|
|
and eax, 24576
|
|
|
|
or eax, 40896
|
|
|
|
mov dword ptr [rsp - 8], eax
|
|
|
|
ldmxcsr dword ptr [rsp - 8]
|
|
|
|
mov r10, rcx
|
2018-12-31 18:06:45 +00:00
|
|
|
|
2019-01-10 21:04:55 +00:00
|
|
|
rx_i_510: ;FPADD
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
|
|
|
xor r8, 0db65513ch
|
2019-01-04 18:44:15 +00:00
|
|
|
mov ecx, r8d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_510
|
|
|
|
call rx_read_l1
|
|
|
|
rx_body_510:
|
|
|
|
and ecx, 2047
|
|
|
|
cvtdq2pd xmm0, qword ptr [rsi+rcx*8]
|
2019-01-10 21:04:55 +00:00
|
|
|
addpd xmm0, xmm2
|
2018-12-31 18:06:45 +00:00
|
|
|
movaps xmm9, xmm0
|
|
|
|
|
2019-01-11 08:58:06 +00:00
|
|
|
rx_i_511: ;SHR_64
|
2019-01-08 13:50:31 +00:00
|
|
|
dec ebx
|
2018-12-31 18:06:45 +00:00
|
|
|
jz rx_finish
|
|
|
|
xor r11, 02bd79286h
|
|
|
|
mov ecx, r11d
|
2019-01-08 13:50:31 +00:00
|
|
|
test bl, 63
|
2019-01-07 16:44:43 +00:00
|
|
|
jnz short rx_body_511
|
2019-01-11 15:53:52 +00:00
|
|
|
call rx_read_l2
|
2019-01-07 16:44:43 +00:00
|
|
|
rx_body_511:
|
2019-01-11 15:53:52 +00:00
|
|
|
and ecx, 32767
|
2019-01-07 16:44:43 +00:00
|
|
|
mov rax, qword ptr [rsi+rcx*8]
|
2019-01-11 15:53:52 +00:00
|
|
|
shr rax, 56
|
2018-12-31 18:06:45 +00:00
|
|
|
mov r11, rax
|
|
|
|
|
2018-12-13 22:11:55 +00:00
|
|
|
jmp rx_i_0
|