Function at 0x1400ea5a0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
mov rdi, rdx
mov rsi, rcx
mov dword [rsp + 0x2c], r8d
test r8d, r8d
je 0x1400ea660
mov r13d, r8d
nop word [rax + rax]
mov eax, dword [0x141f47ab8]
xor edx, edx
div dword [0x141f47abc]
xor eax, 0xa0dc89e4
add eax, 0x7d523dcf
shr eax, 1
imul rax, rax, 0x4e7765e3
shr rax, 0x3b
cmp eax, 0x82cc3d12
je 0x1400ea5d0
movzx r15d, byte [rdi]
movzx eax, r15b
nop word cs:[rax + rax]
mov ecx, dword [0x141f47ac0]
add ecx, dword [0x141f47ac4]
and ecx, 0x5892cd53
imul ecx, ecx, 0xa8966e59
add ecx, 0x900e888
cmp ecx, 0x309d362f
jb 0x1400ea610
test r13d, 0x2000
jne 0x1400eab6b
lea rcx, [0x141f275e4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov eax, dword [0x141f47aa0]
or eax, dword [0x141f47aa4]
xor eax, 0xbdcbde28
imul rax, rax, 0x363ffbff
shr rax, 0x3c
and eax, 0xfffffffe
cmp eax, 0x2ebb43b4
ja 0x1400ea660
mov eax, dword [0x141f47aa8]
xor eax, dword [0x141f47aac]
or eax, 0xaf7dff3b
imul eax, eax, 0xe4d58bf3
cmp eax, 0x99c0de06
jne 0x1400ea6b0
mov byte [rsi + 8], 1
mov qword [rsi], 0
nop
mov eax, dword [0x141f47ab0]
add eax, dword [0x141f47ab4]
imul eax, eax, 0x95e64910
xor eax, 0x8244c008
and eax, 0x9b5fc838
mov byte [rsi + 8], 1
mov qword [rsi], 0
cmp eax, 0x1c989e1
je 0x1400ea6b0
movzx r15d, byte [rdi]
jmp 0x1400ecf71
cmp eax, 2
jae 0x1400eabba
mov eax, dword [0x141f483a0]
or eax, dword [0x141f483a4]
imul eax, eax, 0x46682440
or eax, 0x61028d48
and eax, 0x7f82af48
cmp eax, 0x8a40cee0
ja 0x1400eab70
mov eax, dword [0x141f483a8]
xor eax, dword [0x141f483ac]
xor eax, 0xa7c04921
imul eax, eax, 0x9c7507e8
cmp eax, 0x55d23b32
je 0x1400ed845
jmp 0x1400ed815
cmp eax, 0xe
jne 0x1400eabea
mov eax, dword [0x141f483b8]
xor eax, dword [0x141f483bc]
add eax, 0xba078401
or eax, 0x29ba92ca
xor eax, 0x36f604bd
cmp eax, 0x8fb9d0b7
ja 0x1400ed8a4
jmp 0x1400ed86f
movzx eax, byte [0x141f49078]
mov edx, 0x20
xor ecx, ecx
call fcn.1400c6170
mov rbx, rax
mov eax, dword [0x141f48398]
xor edx, edx
div dword [0x141f4839c]
imul eax, eax, 0xbe48ed5d
add eax, 0x39a775b
or eax, 0x91202fbf
cmp eax, 0xafdd60fd
ja 0x1400eac00
test rbx, rbx
je 0x1400ecf1f
nop
mov eax, dword [0x141f483d0]
sub eax, dword [0x141f483d4]
imul eax, eax, 0xd59b85e5
add eax, 0xa024adc3
imul rax, rax, 0x32b3fe33
shr rax, 0x3d
cmp eax, 0xec69d72c
je 0x1400eac30
mov eax, dword [0x141f483d8]
xor eax, dword [0x141f483dc]
or eax, 0x3aafd474
xor eax, 0x4491ec68
imul eax, eax, 0xf6657bfb
cmp eax, 0x2c33cb0f
jne 0x1400eac8d
movzx r8d, r13b
lea rcx, [rsp + 0x30]
mov rdx, rdi
call fcn.1400ea5a0
lea r14, [rsp + 0x30]
nop word cs:[rax + rax]
mov ebp, dword [0x141f483e0]
xor ebp, dword [0x141f483e4]
add ebp, 0x4f06fb0d
and ebp, 0x33322e54
movzx r8d, r13b
mov rcx, r14
mov rdx, rdi
call fcn.1400ea5a0
cmp ebp, 0xe87e3607
je 0x1400eaca0
mov rax, qword [rsp + 0x30]
mov ecx, dword [0x141f483e8]
imul ecx, dword [0x141f483ec]
xor ecx, 0xe179d83b
imul ecx, ecx, 0x3e00ba88
add ecx, 0x4e04979f
cmp ecx, 0x9b83f5c
ja 0x1400ed933
jmp 0x1400ed8f9
mov eax, dword [0x141f483f8]
and eax, dword [0x141f483fc]
xor eax, 0x4640c9f9
add eax, 0x50a5be18
or eax, 0xa9e4caaa
cmp eax, 0xfd7c5390
jae 0x1400ecf43
ud2
mov eax, dword [0x141f48400]
xor eax, dword [0x141f48404]
imul eax, eax, 0xd1f61457
imul rax, rax, 0x440d2691
shr rax, 0x3d
ud2
mov al, 1
xor ebp, ebp
mov cl, 1
movzx edx, r15b
add rdx, 0xfffffffffffffffe
cmp rdx, 0xe
ja 0x1400ee5e0
lea r8, [0x141f28668]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
mov eax, dword [0x141f483b0]
xor eax, dword [0x141f483b4]
imul eax, eax, 0xba4395ca
add eax, 0x9611ee55
mov ecx, 0xbdd9fce3
imul rcx, rax
shr rcx, 0x3e
mov byte [rsi + 8], 0xe
cmp ecx, 0x537c4604
jne 0x1400ed84b
mov byte [rsi + 8], 0xe
jmp 0x1400ed815
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 8
mov qword [rsi + 0x20], 0
mov qword [rsi], 0
jmp 0x1400ecf71
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x48], rax
mov eax, dword [0x141f483c0]
add eax, dword [0x141f483c4]
or eax, 0x824246aa
imul eax, eax, 0x105ff65f
add eax, 0xa7fe4bd3
movups xmm0, xmmword [rdi + 8]
movups xmmword [rsp + 0x38], xmm0
cmp eax, 0x258b30e4
jae 0x1400ed8b8
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rdi + 8]
movups xmmword [rsp + 0x38], xmm0
jmp 0x1400ed86f
mov byte [rsp + 0x30], 0xe
movzx r8d, r13b
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.1400ea5a0
nop
mov eax, dword [0x141f483c8]
sub eax, dword [0x141f483cc]
imul eax, eax, 0xb53f89fe
add eax, 0x1dea9f8d
cmp eax, 0x697602c
jbe 0x1400ed8d0
mov al, 1
xor ebp, ebp
xor ecx, ecx
jmp 0x1400ecf77
mov ecx, dword [0x141f483f0]
add ecx, dword [0x141f483f4]
xor ecx, 0x9e6259db
add ecx, 0x2ba456ec
or ecx, 0xfdb2cf6
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
cmp ecx, 0xe1827bd5
jbe 0x1400ed949
movups xmm0, xmmword [rsp + 0x38]
movups xmm1, xmmword [rsp + 0x48]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1400ed8f9
test rax, rax
je 0x1400ed97e
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov qword [rsi], 1
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rbx
call qword [0x1401082d0]
jmp 0x1400ee5e0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov eax, dword [0x141f48408]
xor edx, edx
div dword [0x141f4840c]
or eax, 0xa45b5afd
add eax, 0x7b965da6
imul rax, rax, 0x260b1725
shr rax, 0x3b
cmp eax, 0x483c57d9
ja 0x1400ee650
jmp 0x1400ee619
mov eax, dword [0x141f48390]
xor edx, edx
div dword [0x141f48394]
imul eax, eax, 0x61d13af6
add eax, 0x5154dc7a
xor eax, 0x71609c2f
cmp eax, 0xab66447c
ja 0x1400ee5e0
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141f48410]
sub eax, dword [0x141f48414]
imul eax, eax, 0xe19031e
imul rax, rax, 0x13d2eb17
shr rax, 0x39
and eax, 5
mov byte [rsi + 8], 0xe
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rbx
cmp eax, 0x56aa06cd
jbe 0x1400ee662
mov byte [rsi + 8], 0xe
mov qword [rsi + 0x10], 1
mov qword [rsi + 0x18], rbx
jmp 0x1400ee619
mov eax, dword [0x141f48418]
xor eax, dword [0x141f4841c]
and eax, 0x6806124
cmp eax, 0x385b97aa
je 0x1400ee6be
mov eax, dword [0x141f48420]
add eax, dword [0x141f48424]
imul rcx, rax, 0x3b6be789
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
or eax, 0xdb2313e8
add eax, 0x63aa0693
mov qword [rsi + 0x20], 1
mov qword [rsi], 0
cmp eax, 0xda505a73
jb 0x1400ee5e0
mov qword [rsi + 0x20], 1
mov qword [rsi], 0
jmp 0x1400ee67a