Advertisement
Guest User

Untitled

a guest
Jun 9th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CheckAsciiPos(short&):                    # @CheckAsciiPos(short&)
  2.         movzx   eax, word ptr [rdi]
  3.         mov     cx, -256
  4.         cmp     ax, 127
  5.         jg      .LBB0_2
  6.         movsx   edx, ax
  7.         mov     cx, 256
  8.         cmp     edx, -129
  9.         jg      .LBB0_3
  10. .LBB0_2:
  11.         movsx   ecx, cx
  12.         add     ecx, eax
  13.         mov     word ptr [rdi], cx
  14. .LBB0_3:
  15.         ret
  16. encrypt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >): # @encrypt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
  17.         push    rbp
  18.         push    r15
  19.         push    r14
  20.         push    r13
  21.         push    r12
  22.         push    rbx
  23.         sub     rsp, 40
  24.         mov     qword ptr [rsp + 32], rdx # 8-byte Spill
  25.         mov     r14, rdi
  26.         lea     rax, [rdi + 16]
  27.         mov     qword ptr [rsp + 16], rax # 8-byte Spill
  28.         mov     qword ptr [rdi], rax
  29.         mov     qword ptr [rdi + 8], 0
  30.         mov     byte ptr [rdi + 16], 0
  31.         cmp     qword ptr [rsi + 8], 0
  32.         je      .LBB1_18
  33.         mov     cx, 1
  34.         xor     eax, eax
  35.         mov     ebp, 1
  36.         xor     r13d, r13d
  37.         mov     qword ptr [rsp + 24], rsi # 8-byte Spill
  38. .LBB1_2:                                # =>This Inner Loop Header: Depth=1
  39.         mov     dword ptr [rsp + 12], ebp # 4-byte Spill
  40.         movsxd  rbp, r13d
  41.         mov     rbx, qword ptr [rsp + 32] # 8-byte Reload
  42.         mov     rdx, qword ptr [rbx]
  43.         cmp     qword ptr [rbx + 8], rbp
  44.         ja      .LBB1_4
  45.         xor     r13d, r13d
  46. .LBB1_4:                                #   in Loop: Header=BB1_2 Depth=1
  47.         movsx   ebp, cx
  48.         mov     ebx, 0
  49.         cmp     ebp, 255
  50.         jg      .LBB1_6
  51.         mov     ebx, ecx
  52. .LBB1_6:                                #   in Loop: Header=BB1_2 Depth=1
  53.         movsxd  rcx, r13d
  54.         movsx   ecx, byte ptr [rdx + rcx]
  55.         mov     edx, ecx
  56.         add     edx, ebx
  57.         movsx   ebp, dx
  58.         cmp     ebp, 128
  59.         jl      .LBB1_8
  60.         mov     ebp, ebx
  61.         add     edx, -256
  62.         jmp     .LBB1_9
  63. .LBB1_8:                                #   in Loop: Header=BB1_2 Depth=1
  64.         mov     ebp, ebx
  65.         lea     ebx, [rdx + 256]
  66.         cmp     dx, -128
  67.         cmovge  ebx, edx
  68.         mov     edx, ebx
  69. .LBB1_9:                                #   in Loop: Header=BB1_2 Depth=1
  70.         movsx   ecx, cx
  71.         xor     ecx, edx
  72.         mov     rdx, qword ptr [rsi]
  73.         movsx   r15d, byte ptr [rdx + rax]
  74.         xor     r15d, ecx
  75.         add     r15d, ecx
  76.         movsx   eax, r15w
  77.         cmp     eax, 128
  78.         jl      .LBB1_11
  79.         add     r15d, -256
  80.         jmp     .LBB1_12
  81. .LBB1_11:                               #   in Loop: Header=BB1_2 Depth=1
  82.         lea     eax, [r15 + 256]
  83.         cmp     r15w, -128
  84.         cmovge  eax, r15d
  85.         mov     r15d, eax
  86. .LBB1_12:                               #   in Loop: Header=BB1_2 Depth=1
  87.         mov     rax, qword ptr [r14]
  88.         mov     rbx, qword ptr [r14 + 8]
  89.         lea     r12, [rbx + 1]
  90.         mov     ecx, 15
  91.         cmp     rax, qword ptr [rsp + 16] # 8-byte Folded Reload
  92.         je      .LBB1_14
  93.         mov     rcx, qword ptr [r14 + 16]
  94. .LBB1_14:                               #   in Loop: Header=BB1_2 Depth=1
  95.         cmp     r12, rcx
  96.         jbe     .LBB1_17
  97.         mov     r8d, 1
  98.         mov     rdi, r14
  99.         mov     rsi, rbx
  100.         xor     edx, edx
  101.         xor     ecx, ecx
  102.         call    std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)
  103.         mov     rax, qword ptr [r14]
  104. .LBB1_17:                               #   in Loop: Header=BB1_2 Depth=1
  105.         mov     byte ptr [rax + rbx], r15b
  106.         mov     qword ptr [r14 + 8], r12
  107.         mov     rax, qword ptr [r14]
  108.         mov     byte ptr [rax + rbx + 1], 0
  109.         add     r13d, 1
  110.         mov     ecx, ebp
  111.         add     ecx, 1
  112.         mov     ebp, dword ptr [rsp + 12] # 4-byte Reload
  113.         mov     eax, ebp
  114.         add     ebp, 1
  115.         mov     rsi, qword ptr [rsp + 24] # 8-byte Reload
  116.         cmp     qword ptr [rsi + 8], rax
  117.         ja      .LBB1_2
  118. .LBB1_18:
  119.         mov     rax, r14
  120.         add     rsp, 40
  121.         pop     rbx
  122.         pop     r12
  123.         pop     r13
  124.         pop     r14
  125.         pop     r15
  126.         pop     rbp
  127.         ret
  128.         mov     rbx, rax
  129.         mov     rdi, qword ptr [r14]
  130.         cmp     rdi, qword ptr [rsp + 16] # 8-byte Folded Reload
  131.         je      .LBB1_21
  132.         call    operator delete(void*)
  133. .LBB1_21:
  134.         mov     rdi, rbx
  135.         call    _Unwind_Resume
  136. decrypt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >): # @decrypt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
  137.         push    rbp
  138.         push    r15
  139.         push    r14
  140.         push    r13
  141.         push    r12
  142.         push    rbx
  143.         sub     rsp, 40
  144.         mov     qword ptr [rsp + 32], rdx # 8-byte Spill
  145.         mov     r14, rdi
  146.         lea     rax, [rdi + 16]
  147.         mov     qword ptr [rsp + 16], rax # 8-byte Spill
  148.         mov     qword ptr [rdi], rax
  149.         mov     qword ptr [rdi + 8], 0
  150.         mov     byte ptr [rdi + 16], 0
  151.         cmp     qword ptr [rsi + 8], 0
  152.         je      .LBB2_18
  153.         mov     cx, 1
  154.         xor     eax, eax
  155.         mov     ebp, 1
  156.         xor     r13d, r13d
  157.         mov     qword ptr [rsp + 24], rsi # 8-byte Spill
  158. .LBB2_2:                                # =>This Inner Loop Header: Depth=1
  159.         mov     dword ptr [rsp + 12], ebp # 4-byte Spill
  160.         movsxd  rbp, r13d
  161.         mov     rbx, qword ptr [rsp + 32] # 8-byte Reload
  162.         mov     rdx, qword ptr [rbx]
  163.         cmp     qword ptr [rbx + 8], rbp
  164.         ja      .LBB2_4
  165.         xor     r13d, r13d
  166. .LBB2_4:                                #   in Loop: Header=BB2_2 Depth=1
  167.         movsx   ebp, cx
  168.         mov     ebx, 0
  169.         cmp     ebp, 255
  170.         jg      .LBB2_6
  171.         mov     ebx, ecx
  172. .LBB2_6:                                #   in Loop: Header=BB2_2 Depth=1
  173.         movsxd  rcx, r13d
  174.         movsx   ecx, byte ptr [rdx + rcx]
  175.         mov     edx, ecx
  176.         add     edx, ebx
  177.         movsx   ebp, dx
  178.         cmp     ebp, 128
  179.         jl      .LBB2_8
  180.         mov     ebp, ebx
  181.         add     edx, -256
  182.         jmp     .LBB2_9
  183. .LBB2_8:                                #   in Loop: Header=BB2_2 Depth=1
  184.         mov     ebp, ebx
  185.         lea     ebx, [rdx + 256]
  186.         cmp     dx, -128
  187.         cmovge  ebx, edx
  188.         mov     edx, ebx
  189. .LBB2_9:                                #   in Loop: Header=BB2_2 Depth=1
  190.         movsx   ecx, cx
  191.         xor     ecx, edx
  192.         mov     rdx, qword ptr [rsi]
  193.         movsx   r15d, byte ptr [rdx + rax]
  194.         sub     r15d, ecx
  195.         xor     r15d, ecx
  196.         movsx   eax, r15w
  197.         cmp     eax, 128
  198.         jl      .LBB2_11
  199.         add     r15d, -256
  200.         jmp     .LBB2_12
  201. .LBB2_11:                               #   in Loop: Header=BB2_2 Depth=1
  202.         lea     eax, [r15 + 256]
  203.         cmp     r15w, -128
  204.         cmovge  eax, r15d
  205.         mov     r15d, eax
  206. .LBB2_12:                               #   in Loop: Header=BB2_2 Depth=1
  207.         mov     rax, qword ptr [r14]
  208.         mov     rbx, qword ptr [r14 + 8]
  209.         lea     r12, [rbx + 1]
  210.         mov     ecx, 15
  211.         cmp     rax, qword ptr [rsp + 16] # 8-byte Folded Reload
  212.         je      .LBB2_14
  213.         mov     rcx, qword ptr [r14 + 16]
  214. .LBB2_14:                               #   in Loop: Header=BB2_2 Depth=1
  215.         cmp     r12, rcx
  216.         jbe     .LBB2_17
  217.         mov     r8d, 1
  218.         mov     rdi, r14
  219.         mov     rsi, rbx
  220.         xor     edx, edx
  221.         xor     ecx, ecx
  222.         call    std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)
  223.         mov     rax, qword ptr [r14]
  224. .LBB2_17:                               #   in Loop: Header=BB2_2 Depth=1
  225.         mov     byte ptr [rax + rbx], r15b
  226.         mov     qword ptr [r14 + 8], r12
  227.         mov     rax, qword ptr [r14]
  228.         mov     byte ptr [rax + rbx + 1], 0
  229.         add     r13d, 1
  230.         mov     ecx, ebp
  231.         add     ecx, 1
  232.         mov     ebp, dword ptr [rsp + 12] # 4-byte Reload
  233.         mov     eax, ebp
  234.         add     ebp, 1
  235.         mov     rsi, qword ptr [rsp + 24] # 8-byte Reload
  236.         cmp     qword ptr [rsi + 8], rax
  237.         ja      .LBB2_2
  238. .LBB2_18:
  239.         mov     rax, r14
  240.         add     rsp, 40
  241.         pop     rbx
  242.         pop     r12
  243.         pop     r13
  244.         pop     r14
  245.         pop     r15
  246.         pop     rbp
  247.         ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement