Function at 0x140393bc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x6d8
movaps xmmword [rsp + 0x680], xmm6
movaps xmmword [rsp + 0x690], xmm7
movaps xmmword [rsp + 0x6a0], xmm8
movaps xmmword [rsp + 0x6b0], xmm9
movaps xmmword [rsp + 0x6c0], xmm10
xor ecx, ecx
mov r8d, 3
mov eax, ecx
lea r9, [rcx + rcx]
inc rcx
cdq
idiv r8d
shl eax, 2
or edx, eax
lea rax, [0x14050f280]
cmp rcx, 0x40
mov word [rax + r9], dx
jne 0x140393c06
lea r9, [0x14050f1c0]
mov ecx, 2
mov r11d, 0x800000
mov r10d, 1
mov r8d, r10d
mov rax, r11
add r9, 0xc
shl r8d, cl
shl rax, cl
inc ecx
dec r8d
cqo
movsxd r8, r8d
idiv r8
cdqe
lea rdx, [rax + rax]
mov dword [r9 - 0xc], edx
imul rdx, rax, 0xcb2ff5
imul rax, rax, 0xa14518
sar rdx, 0x17
sar rax, 0x17
mov dword [r9 - 8], edx
mov dword [r9 - 4], eax
cmp ecx, 0x11
jne 0x140393c42
mov rcx, qword [0x140442e70]
lea rsi, [0x1403f2b00]
lea rbx, [0x14054cf98]
lea r12, [rsp + 0x280]
xor r13d, r13d
xor ebp, ebp
xor r14d, r14d
call fcn.140394500
lea rax, [rsp + 0x80]
mov qword [rsp + 0x78], rax
lea rdi, [rsp + 0x80]
mov eax, r14d
mov ecx, pe_nt_image_headers64
mov r8d, dword [rsi + 0x18]
xor r9d, r9d
rep stosd dword [rdi], eax
lea rdi, [rsp + 0x280]
mov ecx, 0x100
rep stosd dword [rdi], eax
cmp ecx, r8d
jge 0x140393d5a
mov edi, ecx
xor edx, edx
movsxd r11, r9d
shl edi, 5
cmp edx, r8d
jge 0x140393d49
test ecx, ecx
mov r15, qword [rsi + 0x20]
setne al
xor r10d, r10d
test edx, edx
setne r10b
and eax, r10d
mov r10d, edi
or r10d, edx
shl eax, 4
or eax, r10d
lea r10, [r11 + rdx]
inc rdx
cdqe
mov r15b, byte [r15 + r10]
mov byte [rsp + rax + 0x80], r15b
mov r15, qword [rsi + 0x28]
mov r10w, word [r15 + r10*2]
mov word [rsp + rax*2 + 0x280], r10w
jmp 0x140393cfa
test r8d, r8d
mov eax, r14d
cmovns eax, r8d
inc ecx
add r9d, eax
jmp 0x140393ceb
lea rax, [0x1405494e0]
movsxd rdx, ebp
mov r9, qword [rsp + 0x78]
mov rcx, rbx
mov r8d, 0x200
add rsi, 0x18
lea rax, [rax + rdx*4]
mov edx, 7
add rbx, 0x18
mov qword [rbx - 0x10], rax
lea rax, [0x1403f2884]
mov edi, dword [rax + r13]
add r13, 4
mov dword [rbx - 4], edi
mov dword [rsp + 0x60], 4
add ebp, edi
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 2
mov dword [rsp + 0x38], 2
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
call fcn.140146ed0
cmp r13, 0x3c
jne 0x140393cc3
cmp ebp, 0xea2
jne 0x140393f14
lea rax, [0x140549260]
lea r9, [0x1403f2a80]
lea rcx, [0x1405494a0]
mov r8d, 0x10
mov edx, 7
mov dword [rsp + 0x60], 4
mov qword [0x1405494a8], rax
lea rax, [0x1403f2aa0]
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov dword [0x1405494b4], 0x80
call fcn.140146ed0
lea rax, [0x140549460]
lea r9, [0x1403f2a90]
lea rcx, [0x1405494b8]
mov edx, 4
mov dword [rsp + 0x60], 4
mov dword [rsp + 0x58], 0
mov qword [0x1405494c0], rax
lea rax, [0x1403f2ab0]
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov r8d, 0x10
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov dword [0x1405494cc], 0x10
call fcn.140146ed0
lea rcx, [0x1405490c0]
xor edx, edx
lea r9, [0x1403f29a0]
jmp 0x140393f44
lea rax, str.libavcodec_mpegaudiodec_template.c
lea r9, str.offset___sizeof_huff_vlc_tables____sizeof__huff_vlc_tables__0___
lea r8, [0x1403f25e3]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 0x13e
mov qword [rsp + 0x20], rax
call fcn.14036cf30
call sub.msvcrt.dll_abort
lea r10, [rdx + r9]
xor eax, eax
xor r8d, r8d
lea r11, [rax + rax]
mov word [rcx + r11], r8w
movzx r11d, byte [r10 + rax]
inc rax
add r8d, r11d
cmp rax, 0x16
jne 0x140393f4d
add rdx, 0x16
mov word [rcx + 0x2c], r8w
add rcx, 0x2e
cmp rdx, 0xc6
jne 0x140393f44
lea rdi, [0x14050f120]
xor ebx, ebx
cvtsi2sd xmm6, ebx
lea rsi, [0x14050f120]
movapd xmm0, xmm6
call fcn.140382370
mulsd xmm6, xmm0
movsd qword [rdi + rbx*8], xmm6
inc rbx
cmp rbx, 0x10
jne 0x140393f86
xorps xmm6, xmm6
lea rdi, [0x1403f2780]
movsd xmm9, qword [0x1403f3de8]
xor ebx, ebx
movsd xmm8, qword [0x1403f3df0]
lea eax, [rbx + 1]
mov ebp, eax
and ebp, 3
jne 0x140393ff1
sar eax, 2
cvtsi2sd xmm7, eax
movapd xmm0, xmm7
divsd xmm7, xmm9
call fcn.140382370
movapd xmm6, xmm7
mulsd xmm6, xmm0
movsxd rbp, ebp
mov rdx, r12
movsd xmm0, qword [rdi + rbp*8]
mulsd xmm0, xmm6
call sub.msvcrt.dll_frexp
mulsd xmm0, xmm8
mov eax, dword [rsp + 0x280]
lea rcx, [0x140520f84]
lea r11, [0x1403f2780]
sub eax, 0x67
cvtsd2si rdx, xmm0
neg eax
mov dword [rcx + rbx*4], edx
lea rdx, [0x140541081]
inc rbx
mov byte [rbx + rdx - 1], al
cmp rbx, 0x803b
jne 0x140393fca
lea rcx, [0x140518780]
lea r9, [0x140520780]
lea r8, [0x140510780]
movsd xmm0, qword [0x1403f3de0]
xor edx, edx
movsd xmm4, qword [0x1403f3de8]
movsd xmm3, qword [0x1403f3df8]
mov eax, edx
and eax, 3
movsd xmm2, qword [r11 + rax*8]
xor eax, eax
mulsd xmm2, xmm0
divsd xmm2, xmm4
lea r10, [rax + rax]
mov ebx, 0xffffffff
movsd xmm1, qword [rsi + r10]
mulsd xmm1, xmm2
cvtsd2si r10, xmm1
cvtsd2ss xmm5, xmm1
ucomisd xmm3, xmm1
movss dword [r8 + rax], xmm5
cmovbe r10d, ebx
mov dword [rcx + rax], r10d
add rax, 4
cmp rax, 0x40
jne 0x140394087
mov eax, dword [rcx + 4]
inc edx
cmp edx, 0x200
mov dword [r9], eax
je 0x1403940e6
test dl, 3
jne 0x1403940d8
addsd xmm0, xmm0
add rcx, 0x40
add r9, 4
add r8, 0x40
jmp 0x140394072
mov rbx, qword [0x140442e40]
mov r11, qword [0x140442e50]
xor r8d, r8d
mov r10d, 1
mov eax, dword [r8 + rbx]
test eax, eax
js 0x14039413e
add r8, 4
cmp r8, 0x10
jne 0x1403940fd
xor ebx, ebx
movsd xmm10, qword [0x1403f3e00]
movsd xmm9, qword [0x1403f3e08]
movsd xmm8, qword [0x1403f3e10]
movsd xmm7, qword [0x1403f3e18]
movsd xmm6, qword [0x1403f3e20]
jmp 0x140394183
mov ecx, r10d
mov edi, r10d
lea rsi, [r8 + r8]
sub ecx, eax
shl edi, cl
xor ecx, ecx
cmp ecx, edi
mov eax, ecx
jge 0x140394105
mov r12d, dword [r8 + r11]
cdq
idiv r12d
mov r9d, edx
lea rdx, [0x1403f2860]
mov rbp, qword [rdx + rsi]
cdq
idiv r12d
shl edx, 4
shl eax, 8
add eax, edx
add eax, r9d
mov word [rbp + rcx*2], ax
inc rcx
jmp 0x14039414e
cmp rbx, 6
mov eax, 0x800000
je 0x1403941c2
cvtsi2sd xmm0, ebx
mulsd xmm0, xmm10
divsd xmm0, xmm9
call sub.msvcrt.dll_tan
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
addsd xmm1, xmm8
divsd xmm0, xmm1
mulsd xmm0, xmm7
addsd xmm0, xmm6
cvttsd2si eax, xmm0
lea rdx, [0x140510700]
lea rcx, [0x140510758]
mov dword [rdx + rbx*4], eax
imul rdx, rbx, 0xfffffffffffffffc
inc rbx
cmp rbx, 7
mov dword [rcx + rdx], eax
jne 0x140394183
xor eax, eax
lea rdx, [0x14051075c]
mov dword [rdx + rax], 0
lea rdx, [0x14051071c]
mov dword [rdx + rax], 0
add rax, 4
cmp rax, 0x24
jne 0x1403941e5
movsd xmm6, qword [0x1403f3e28]
xor ebx, ebx
movsd xmm7, qword [0x1403f3e20]
movsd xmm8, qword [0x1403f3e18]
movapd xmm9, xmm6
movapd xmm10, xmm7
lea r12d, [rbx + 1]
lea rdi, [0x140510600]
mov ebp, r12d
sar ebp, 1
mov eax, ebp
neg eax
cvtsi2sd xmm0, eax
imul ebp, ebp, 0xfffffffe
mulsd xmm0, xmm6
call fcn.140386650
mulsd xmm0, xmm8
mov edx, ebx
movsxd rax, ebx
and edx, 1
mov esi, edx
movsxd rbx, edx
xor esi, 1
shl rbx, 4
addsd xmm0, xmm7
movsxd rsi, esi
lea rbx, [rbx + rax]
shl rsi, 4
add rsi, rax
cvttsd2si ecx, xmm0
cvtsi2sd xmm0, ebp
mov dword [rdi + rsi*4], ecx
mov dword [rdi + rbx*4], 0x800000
mulsd xmm0, xmm6
call fcn.140386650
mulsd xmm0, xmm8
cmp r12d, 0x10
movapd xmm3, xmm10
movapd xmm4, xmm9
addsd xmm0, xmm7
cvttsd2si eax, xmm0
mov dword [rdi + rsi*4 + 0x80], eax
mov dword [rdi + rbx*4 + 0x80], 0x800000
mov ebx, r12d
jne 0x140394230
lea rcx, [0x140510580]
movsd xmm6, qword [0x1403f3e10]
movsd xmm5, qword [0x1403f3e30]
xor r8d, r8d
lea rax, [0x1403f28c0]
movapd xmm7, xmm6
add rcx, 0x10
cvtss2sd xmm0, dword [rax + r8]
add r8, 4
movapd xmm1, xmm0
mulsd xmm1, xmm0
addsd xmm1, xmm6
sqrtsd xmm1, xmm1
divsd xmm7, xmm1
mulsd xmm0, xmm7
movapd xmm2, xmm7
mulsd xmm2, xmm4
mulsd xmm0, xmm4
mulsd xmm2, xmm5
mulsd xmm0, xmm5
addsd xmm2, xmm3
addsd xmm0, xmm3
cvttsd2si edx, xmm2
cvttsd2si eax, xmm0
mov dword [rcx - 0x10], edx
lea r9d, [rdx + rax]
mov dword [rcx - 0xc], eax
sub eax, edx
mov dword [rcx - 4], eax
mov dword [rcx - 8], r9d
cmp r8, 0x20
jne 0x1403942ea
movaps xmm6, xmmword [rsp + 0x680]
movaps xmm7, xmmword [rsp + 0x690]
movaps xmm8, xmmword [rsp + 0x6a0]
movaps xmm9, xmmword [rsp + 0x6b0]
movaps xmm10, xmmword [rsp + 0x6c0]
add rsp, 0x6d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret