Function at 0x1400572a0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r15
mov eax, 0x20d0
call fcn.14007cae0
sub rsp, rax
movaps xmmword [rsp + 0x20b0], xmm6
mov rax, qword [0x1400ada20]
xor rax, rsp
mov qword [rsp + 0x20a0], rax
xor r15d, r15d
mov dword [rsp + 0x40], r9d
mov eax, 0x810
movsxd rsi, r8d
xorps xmm6, xmm6
mov r10d, r9d
mov ebx, edx
mov dword [rsp + 0x38], edx
mov rbp, rcx
mov edi, r15d
movups xmmword [rsp + 0x20], xmm6
cmp word [rcx + 0x16], ax
ja 0x1400576c7
mov qword [rsp + 0x2108], r12
mov eax, 0x40
mov qword [rsp + 0x20c8], r13
sub eax, ebx
lea r13, [rsp + 0x60]
mov dword [rsp + 0x3c], eax
mov edx, r15d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x20c0], r14
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x50], 2
nop dword [rax]
mov rcx, qword [rbp + 0x5d158]
test edx, edx
mov eax, r10d
cmovne eax, dword [rsp + 0x2120]
xor r8d, r8d
movsxd rdx, eax
mov r9, qword [rcx]
call qword [r9 + 0x18]
movzx eax, word [rbp + 0x16]
mov r14d, r15d
mov dword [rsp + 0x30], r15d
cmp r15w, ax
jae 0x1400573eb
sub r14d, ebx
jns 0x1400573b4
nop dword [rax + rax]
mov rcx, rsi
mov ebx, r15d
shl rdi, cl
test esi, esi
jle 0x1400573ab
nop dword [rax]
mov rcx, qword [rbp + 0x5d158]
mov rax, qword [rcx]
call qword [rax + 0x30]
mov ecx, ebx
add ebx, 8
shl eax, cl
or rdi, rax
cmp ebx, esi
jl 0x140057390
add r14d, esi
js 0x140057380
mov ebx, dword [rsp + 0x38]
mov ecx, 0x40
mov rax, rdi
sub ecx, r14d
sub ecx, ebx
shl rax, cl
mov ecx, dword [rsp + 0x3c]
shr rax, cl
mov ecx, dword [rsp + 0x30]
mov word [r13], ax
inc ecx
movzx eax, word [rbp + 0x16]
add r13, 2
mov dword [rsp + 0x30], ecx
cmp ecx, eax
jl 0x140057373
mov r13, qword [rsp + 0x48]
mov edx, dword [rsp + 0x34]
add r13, 0x1020
mov r10d, dword [rsp + 0x40]
inc edx
sub qword [rsp + 0x50], 1
mov dword [rsp + 0x34], edx
mov qword [rsp + 0x48], r13
jne 0x140057340
mov r14, qword [rsp + 0x20c0]
mov r13, qword [rsp + 0x20c8]
mov r12, qword [rsp + 0x2108]
movzx edi, ax
dec edi
cmp edi, 4
jl 0x1400575f5
movzx r8d, word [rsp + 0x60]
lea esi, [rdi - 3]
mov ebx, 3
lea r11, [rsp + 0x60]
lea ebp, [rbx - 1]
nop
movzx r9d, word [r11 + 0x1022]
mov rcx, rbp
movzx r10d, word [r11 + 0x1024]
and ecx, 1
movzx edx, r8w
movzx r8d, word [r11 + 2]
sub edx, r9d
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
movd xmm0, edx
movzx edx, word [r11 + 0x1020]
cvtdq2pd xmm0, xmm0
sub edx, r8d
sub r8d, r10d
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, r8d
sar eax, 0x1f
addsd xmm0, qword [rsp + rcx*8 + 0x20]
xor r8d, eax
sub r8d, eax
lea eax, [rbx - 2]
not eax
and eax, 1
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov ecx, r15d
not ecx
movd xmm0, edx
movzx edx, word [r11 + 4]
and ecx, 1
cvtdq2pd xmm0, xmm0
sub r9d, edx
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea rcx, [rbp - 1]
and ecx, 1
movd xmm0, r8d
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov ecx, r9d
sar ecx, 0x1f
xor r9d, ecx
sub r9d, ecx
mov rcx, rbp
and ecx, 1
movd xmm0, r9d
movzx r9d, word [r11 + 0x1026]
cvtdq2pd xmm0, xmm0
sub edx, r9d
addsd xmm0, qword [rsp + rax*8 + 0x20]
movsd qword [rsp + rax*8 + 0x20], xmm0
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
movd xmm0, edx
movzx edx, word [r11 + 6]
sub r10d, edx
cvtdq2pd xmm0, xmm0
mov eax, r10d
sar eax, 0x1f
xor r10d, eax
sub r10d, eax
movzx eax, word [r11 + 0x1028]
sub edx, eax
mov eax, edx
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
lea ecx, [rbx - 1]
not ecx
movd xmm0, r10d
and ecx, 1
cvtdq2pd xmm0, xmm0
sar eax, 0x1f
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
movzx r8d, word [r11 + 8]
lea rcx, [rbp - 1]
xor edx, eax
and ecx, 1
sub edx, eax
sub r9d, r8d
add r11, 8
add r15d, 4
add rbp, 4
movd xmm0, edx
mov edx, ebx
cvtdq2pd xmm0, xmm0
not edx
add ebx, 4
and edx, 1
addsd xmm0, qword [rsp + rcx*8 + 0x20]
movsd qword [rsp + rcx*8 + 0x20], xmm0
mov ecx, r9d
sar ecx, 0x1f
mov eax, ecx
xor eax, r9d
sub eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd qword [rsp + rdx*8 + 0x20], xmm0
cmp r15d, esi
jl 0x140057450
movups xmm6, xmmword [rsp + 0x20]
cmp r15d, edi
jge 0x140057692
movsxd r11, r15d
lea r10, [rsp + 0x60]
movzx ebx, word [r10 + r11*2]
lea r10, [r10 + r11*2]
movzx eax, word [r10 + 0x1022]
mov rdx, r11
and edx, 1
movzx r8d, bx
movzx ebx, word [r10 + 2]
sub r8d, eax
mov ecx, r8d
inc r11
sar ecx, 0x1f
mov eax, ecx
xor eax, r8d
movzx r8d, word [r10 + 0x1020]
sub eax, ecx
sub r8d, ebx
mov ecx, r8d
add r10, 2
sar ecx, 0x1f
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
xor eax, r8d
sub eax, ecx
addsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd qword [rsp + rdx*8 + 0x20], xmm0
mov edx, r15d
not edx
movd xmm0, eax
and edx, 1
inc r15d
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [rsp + rdx*8 + 0x20]
movsd qword [rsp + rdx*8 + 0x20], xmm0
cmp r15d, edi
jl 0x14005760f
movups xmm6, xmmword [rsp + 0x20]
movsd xmm2, qword [0x140080e20]
comisd xmm6, xmm2
jb 0x1400576c7
movaps xmm1, xmm6
unpckhpd xmm1, xmm6
comisd xmm1, xmm2
jb 0x1400576c7
divsd xmm6, xmm1
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_log
mulsd xmm0, qword [0x140094b78]
cvtsd2ss xmm0, xmm0
jmp 0x1400576ca
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x20a0]
xor rcx, rsp
call fcn.14007c510
movaps xmm6, xmmword [rsp + 0x20b0]
add rsp, 0x20d0
pop r15
pop rdi
pop rsi
pop rbp
pop rbx
ret