Function at 0x140007010
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
vmovups xmmword [rsp + 0x120], xmm6
vmovups xmmword [rsp + 0x130], xmm7
mov rsi, rcx
mov rcx, r8
mov rdi, rdx
mov rbx, r8
call sym.strlen
mov ecx, 7
mov edx, 4
mov rbp, rax
call sym.calloc
mov rcx, rax
test rbp, rbp
je 0x140007726
lea r13, [rbx + rbp]
mov r12, rbx
mov r11, rbx
lea r10, [0x14017155f]
movzx r8d, byte [r11]
mov eax, 1
xor r9d, r9d
cmp r8b, 0x31
je 0x1400071f0
nop dword [rax + rax]
mov r9, rax
add rax, 1
movzx edx, byte [r10 + rax]
cmp dl, r8b
je 0x1400071f0
test dl, dl
jne 0x140007090
call sym.free
lea rax, [rbp - 8]
cmp rax, 0x52
ja 0x140007471
lea r8, [rbp - 1]
xor eax, eax
cmp byte [rbx + r8], 0x31
mov r10, rax
lea rax, [rax + 1]
je 0x1400070eb
sub r8, 1
cmp rbp, rax
je 0x140007471
cmp byte [rbx + r8], 0x31
mov r10, rax
lea rax, [rax + 1]
jne 0x1400070d0
cmp rax, rbp
jae 0x140007471
cmp r10, 5
jbe 0x140007471
test r8, r8
je 0x1400078e8
xor eax, eax
xor r11d, r11d
mov ecx, 1
xor r13d, r13d
jmp 0x1400071c0
lea r14d, [r9 - 0x41]
cmp r14d, 0x19
ja 0x140007136
add r9d, 0x20
mov eax, 1
mov edx, r9d
mov byte [rsp + r13 + 0xc0], dl
mov edx, ecx
shl ecx, 5
add r13, 1
shr edx, 0x19
and ecx, 0x3fffffe0
sar r9d, 5
mov r14d, edx
and r14d, 1
neg r14d
and r14d, 0x3b6a57b2
xor ecx, r14d
mov r14d, edx
shr r14d, 4
neg r14d
and r14d, 0x2a1462b3
xor ecx, r14d
mov r14d, edx
shl r14d, 0x1e
sar r14d, 0x1f
and r14d, 0x26508e6d
xor ecx, r14d
mov r14d, edx
shl edx, 0x1c
shl r14d, 0x1d
sar edx, 0x1f
sar r14d, 0x1f
and edx, 0x3d4233dd
and r14d, 0x1ea119fa
xor ecx, r14d
xor ecx, edx
xor ecx, r9d
cmp r13, r8
je 0x1400074d8
movsx r9d, byte [rbx + r13]
lea r14d, [r9 - 0x21]
mov edx, r9d
cmp r14d, 0x5d
ja 0x140007471
lea r14d, [r9 - 0x61]
cmp r14d, 0x19
ja 0x140007120
mov r11d, 1
jmp 0x140007136
mov eax, dword [rcx + 0x18]
mov edx, dword [rcx + 0x14]
mov r14d, dword [rcx + 0xc]
imul rax, rax, 0x3a
imul rdx, rdx, 0x3a
imul r14, r14, 0x3a
add rax, r9
mov r9d, dword [rcx]
mov r8, rax
mov dword [rcx + 0x18], eax
mov eax, dword [rcx + 0x10]
shr r8, 0x20
add rdx, r8
imul r9, r9, 0x3a
mov r8, rdx
imul rax, rax, 0x3a
shr r8, 0x20
add rax, r8
vmovd xmm4, eax
mov r8, rax
vpinsrd xmm0, xmm4, edx, 1
mov edx, dword [rcx + 8]
shr r8, 0x20
vmovq qword [rcx + 0x10], xmm0
add r14, r8
mov r8d, dword [rcx + 4]
mov rax, r14
shr rax, 0x20
imul rdx, rdx, 0x3a
imul r8, r8, 0x3a
add rdx, rax
mov rax, rdx
vmovd xmm5, edx
shr rax, 0x20
vpinsrd xmm1, xmm5, r14d, 1
add r8, rax
mov rax, r8
shr rax, 0x20
add r9, rax
mov rdx, r9
vmovd xmm6, r9d
mov eax, r9d
shr rdx, 0x20
vpinsrd xmm0, xmm6, r8d, 1
vpunpcklqdq xmm0, xmm0, xmm1
vmovdqu xmmword [rcx], xmm0
jne 0x1400070a9
cmp r9d, 0xff
ja 0x1400070a9
add r11, 1
cmp r13, r11
jne 0x140007075
mov edx, dword [rcx + 8]
vmovd xmm1, eax
vmovd xmm2, dword [rcx + 0xc]
vmovd xmm0, dword [rcx + 8]
mov r11d, dword [rcx + 0xc]
vmovd xmm3, dword [rcx + 4]
mov eax, dword [rcx + 0x18]
mov r10d, dword [rcx + 0x10]
shr edx, 0x10
mov r9d, dword [rcx + 0x10]
mov dword [rsp + 0x28], edx
mov edx, dword [rcx + 0xc]
shr r11d, 8
mov byte [rsp + 0x78], al
mov r8d, dword [rcx + 4]
vmovd xmm6, dword [rsp + 0x28]
shr r10d, 0x18
mov ebp, dword [rcx + 0xc]
shr r9d, 8
vpinsrb xmm2, xmm2, r10d, 1
mov r10d, eax
mov r15d, dword [rcx + 4]
shr edx, 0x10
shr r10d, 0x18
mov r14d, dword [rcx + 4]
mov dword [rsp + 0x2c], edx
mov edx, dword [rcx + 0x10]
movzx r10d, r10b
shr r8d, 0x10
vmovd xmm5, dword [rsp + 0x2c]
vmovd xmm7, r8d
mov r13d, dword [rcx + 8]
shr ebp, 0x18
vpinsrb xmm5, xmm5, r11d, 1
mov r11d, eax
mov r12d, dword [rcx + 8]
shr r15d, 0x18
shr r11d, 0x10
and eax, 0xff00
vpinsrb xmm0, xmm0, ebp, 1
shr r14d, 8
lea rbp, [rsp + 0x60]
shr edx, 0x10
movzx r11d, r11b
vpinsrb xmm7, xmm7, r14d, 1
vmovd xmm4, edx
or rax, r11
shr r13d, 0x18
vpunpcklwd xmm0, xmm0, xmm5
vpinsrb xmm4, xmm4, r9d, 1
mov r9d, dword [rcx + 0x14]
shl rax, 8
shr r12d, 8
or rax, r10
vpinsrb xmm6, xmm6, r12d, 1
vpunpcklwd xmm2, xmm2, xmm4
vpinsrb xmm1, xmm1, r15d, 1
shl rax, 8
vpunpcklwd xmm1, xmm1, xmm7
vpunpckldq xmm0, xmm0, xmm2
vpinsrb xmm3, xmm3, r13d, 1
vpunpcklwd xmm3, xmm3, xmm6
vpunpckldq xmm1, xmm1, xmm3
vpunpcklqdq xmm0, xmm1, xmm0
vmovdqu xmmword [rsp + 0x60], xmm0
movzx r10d, r9b
mov edx, r9d
mov r8d, r9d
shr r8d, 0x10
or rax, r10
shr edx, 0x18
mov r11, rax
mov eax, r9d
movzx r8d, r8b
movzx eax, ah
movzx edx, dl
mov r9, rax
mov rax, r11
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rdx
movzx edx, byte [rcx + 0x10]
shl rax, 8
or rax, rdx
mov qword [rsp + 0x70], rax
call sym.free
lea rcx, [rsp + 0xc0]
mov r8d, 0x15
mov rdx, rbp
call sym.sha256d
mov eax, dword [rsp + 0x75]
cmp dword [rsp + 0xc0], eax
jne 0x140007471
movzx edx, byte [rsp + 0x60]
xor eax, eax
movzx ecx, byte [rbx]
test dl, dl
je 0x14000746b
jmp 0x1400076e1
add rax, 1
cmp byte [rbp + rax], 0
jne 0x140007478
cmp byte [rbx + rax], 0x31
je 0x140007460
xor eax, eax
jmp 0x140007489
cmp byte [rbx + rax], 0x31
je 0x140007471
cmp rdi, 0x18
ja 0x1400074af
mov eax, 0x19
vmovups xmm6, xmmword [rsp + 0x120]
vmovups xmm7, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xffffa976
vmovdqu xmm7, xmmword [rsp + 0x61]
mov edx, 0xffffac88
mov byte [rsi + 2], 0x14
mov word [rsi], ax
mov eax, dword [rsp + 0x71]
vmovdqu xmmword [rsi + 3], xmm7
mov word [rsi + 0x17], dx
mov dword [rsi + 0x13], eax
jmp 0x140007484
mov byte [rsp + r8 + 0xc0], 0
mov r9d, ecx
shl ecx, 5
shr r9d, 0x19
mov edx, ecx
mov ecx, r9d
and edx, 0x3fffffe0
and ecx, 1
neg ecx
and ecx, 0x3b6a57b2
xor edx, ecx
mov ecx, r9d
shr ecx, 4
neg ecx
and ecx, 0x2a1462b3
xor edx, ecx
mov ecx, r9d
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0x26508e6d
xor edx, ecx
mov ecx, r9d
shl ecx, 0x1d
sar ecx, 0x1f
and ecx, 0x1ea119fa
xor edx, ecx
mov ecx, r9d
lea r9, [rbx + r8]
shl ecx, 0x1c
sar ecx, 0x1f
and ecx, 0x3d4233dd
xor edx, ecx
nop word [rax + rax]
mov ecx, edx
shl edx, 5
add r12, 1
shr ecx, 0x19
and edx, 0x3fffffe0
mov r13d, ecx
and r13d, 1
neg r13d
and r13d, 0x3b6a57b2
xor edx, r13d
movzx r13d, byte [r12 - 1]
and r13d, 0x1f
xor edx, r13d
mov r13d, ecx
shr r13d, 4
neg r13d
and r13d, 0x2a1462b3
xor edx, r13d
mov r13d, ecx
shl r13d, 0x1e
sar r13d, 0x1f
and r13d, 0x26508e6d
xor edx, r13d
mov r13d, ecx
shl ecx, 0x1c
shl r13d, 0x1d
sar ecx, 0x1f
sar r13d, 0x1f
and ecx, 0x3d4233dd
and r13d, 0x1ea119fa
xor edx, r13d
xor edx, ecx
cmp r12, r9
jne 0x140007550
add r8, 1
cmp r8, rbp
jae 0x14000772d
lea r12, [rbp + 6]
mov rcx, r10
add r8, 6
lea r13, [0x1401714e0]
sub rcx, rbp
lea r14, [rsp + rcx + 0x60]
jmp 0x1400076b9
lea r15d, [rcx - 0x61]
movsx r9, cl
movzx r9d, byte [r13 + r9]
cmp r15b, 0x19
ja 0x1400076ce
mov r11d, 1
cmp r9b, 0xff
je 0x140007471
mov ecx, edx
shl edx, 5
shr ecx, 0x19
and edx, 0x3fffffe0
mov r15d, ecx
and r15d, 1
neg r15d
and r15d, 0x3b6a57b2
xor edx, r15d
movsx r15d, r9b
xor edx, r15d
mov r15d, ecx
shl r15d, 0x1e
sar r15d, 0x1f
and r15d, 0x26508e6d
xor edx, r15d
mov r15d, ecx
shl r15d, 0x1d
sar r15d, 0x1f
and r15d, 0x1ea119fa
xor edx, r15d
mov r15d, ecx
shl ecx, 0x1b
shl r15d, 0x1c
sar ecx, 0x1f
sar r15d, 0x1f
and ecx, 0x2a1462b3
and r15d, 0x3d4233dd
xor edx, r15d
xor edx, ecx
cmp r8, rbp
jae 0x1400076b0
mov byte [r14 + r8 - 6], r9b
add r8, 1
cmp r8, r12
je 0x14000772d
movzx ecx, byte [rbx + r8 - 6]
test cl, cl
jns 0x140007608
xor eax, eax
jmp 0x140007489
sub ecx, 0x41
cmp cl, 0x19
mov ecx, 1
cmovbe eax, ecx
jmp 0x140007626
cmp cl, 0x31
je 0x140007471
cmp dl, 5
je 0x1400076f8
cmp dl, 0xc4
jne 0x14000747e
cmp rdi, 0x16
jbe 0x14000771c
mov eax, dword [rsp + 0x71]
mov ecx, 0x14a9
mov byte [rsi + 0x16], 0x87
vmovdqu xmm7, xmmword [rsp + 0x61]
mov word [rsi], cx
vmovdqu xmmword [rsi + 2], xmm7
mov dword [rsi + 0x12], eax
mov eax, 0x17
jmp 0x140007489
mov eax, dword [rax]
jmp 0x1400072bb
and eax, r11d
jne 0x140007471
cmp edx, 1
jne 0x140007471
lea rdx, [r10 - 7]
cmp rdx, 0x40
ja 0x140007471
movzx r11d, byte [rsp + 0x60]
cmp r11b, 0x10
ja 0x140007471
test rdx, rdx
je 0x140007471
lea rbx, [rsp + r10 + 0x5a]
xor edx, edx
xor r8d, r8d
lea r10, [rsp + 0x61]
mov ecx, eax
jmp 0x140007783
mov rdx, r9
movzx eax, byte [r10]
shl r8d, 5
add r10, 1
or r8d, eax
lea eax, [rcx + 5]
cmp eax, 7
jle 0x140007896
lea r9, [rdx + 1]
sub ecx, 3
mov eax, r8d
shr eax, cl
mov byte [rsp + rdx + 0x30], al
cmp r10, rbx
jne 0x140007780
mov eax, ecx
mov ecx, 8
sub ecx, eax
shl r8d, cl
test r8b, r8b
jne 0x140007471
cmp eax, 4
jg 0x140007471
lea rax, [r9 - 2]
cmp rax, 0x26
ja 0x140007471
test r11b, r11b
jne 0x1400078a0
cmp r9, 0x14
je 0x1400078cf
cmp r9, 0x20
jne 0x140007471
mov edx, 0x20
mov eax, 0x22
cmp rdi, 0x21
jbe 0x140007471
mov byte [rsi], r11b
lea r10, [rsi + 2]
mov byte [rsi + 1], dl
lea r11, [rsp + 0x30]
mov edx, r9d
cmp r9d, 8
jae 0x140007860
and r9d, 4
jne 0x1400078b9
test edx, edx
je 0x140007489
movzx ecx, byte [rsp + 0x30]
mov byte [rsi + 2], cl
test dl, 2
je 0x140007489
movzx ecx, word [r11 + rdx - 2]
mov word [r10 + rdx - 2], cx
jmp 0x140007489
mov edx, r9d
mov rcx, qword [r11 + rdx - 8]
mov qword [r10 + rdx - 8], rcx
lea edx, [r9 - 1]
cmp edx, 8
jb 0x140007489
and edx, 0xfffffff8
xor ecx, ecx
mov r8d, ecx
add ecx, 8
mov r9, qword [r11 + r8]
mov qword [r10 + r8], r9
cmp ecx, edx
jb 0x14000787f
jmp 0x140007489
mov r9, rdx
mov ecx, eax
jmp 0x1400077ae
lea rax, [r9 + 2]
cmp rdi, rax
jb 0x140007471
add r11d, 0x50
mov edx, r9d
jmp 0x140007810
mov ecx, dword [rsp + 0x30]
mov dword [rsi + 2], ecx
mov ecx, dword [r11 + rdx - 4]
mov dword [r10 + rdx - 4], ecx
jmp 0x140007489
cmp rdi, 0x15
jbe 0x140007471
mov edx, 0x14
mov eax, 0x16
jmp 0x140007810
mov byte [rsp + 0xc0], 0
xor eax, eax
xor r11d, r11d
mov edx, 0x20
mov r8d, 1
jmp 0x1400075e5