Function at 0x14003e0a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov rsi, rdx
mov rdi, rcx
mov eax, dword [0x141dc4790]
xor eax, dword [0x141dc4794]
imul rax, rax, 0x48e3c133
shr rax, 0x3b
add eax, 0x423ff14f
cmp eax, 0x8df92791
ja 0x14003e11e
mov ecx, dword [0x141dc4798]
xor ecx, dword [0x141dc479c]
or ecx, 0x5dff29f9
and ecx, 0x7dff6ffd
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rdx, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
cmp ecx, 0x87403dd0
jne 0x14003e13a
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
jmp 0x14003e0de
mov qword [rbp - 8], rdx
mov eax, dword [0x141dc47a0]
add eax, dword [0x141dc47a4]
and eax, 0x491be9a4
cmp eax, 0x9310c5bd
jne 0x14003e180
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
nop dword [rax]
mov eax, dword [0x141dc47a8]
and eax, dword [0x141dc47ac]
shr eax, 3
imul rax, rax, 0x2502a17b
shr rax, 0x3a
imul edx, eax, 0x1f1fe530
or edx, 0x9c970a01
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r13, rsp
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
cmp edx, 0x4d06cff2
jb 0x14003e180
mov eax, 0x40
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r12, rsp
cmp rsi, 0x41
jae 0x14003e2aa
mov dword [rdx], esi
mov qword [r12], rdx
mov qword [r12 + 8], 4
mov qword [r12 + 0x10], r8
mov eax, dword [0x141dc47d8]
xor edx, edx
div dword [0x141dc47dc]
and eax, 0x3c611776
add eax, 0x719239a9
cmp eax, 0x30b10186
mov r14, r9
jae 0x14003e26f
mov qword [r12 + 0x18], r14
sub rsp, 0x20
mov r9d, 2
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call fcn.14003d320
add rsp, 0x20
mov bl, 1
nop word cs:[rax + rax]
mov qword [r12 + 0x18], r14
sub rsp, 0x20
mov r9d, 2
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call fcn.14003d320
add rsp, 0x20
test bl, bl
je 0x14003e280
jmp 0x14003e694
mov eax, dword [0x141dc47b0]
or eax, dword [0x141dc47b4]
mov edx, 0x9f8f726f
imul rdx, rax
shr rdx, 0x3f
imul eax, edx, 0x9e3ab2a3
and eax, 0x743318c9
cmp eax, 0x1d675091
je 0x14003e333
mov eax, dword [0x141dc47b8]
sub eax, dword [0x141dc47bc]
mov edx, 0x90f73da5
imul rdx, rax
shr rdx, 0x3e
or edx, 0x411c11d2
xorps xmm0, xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx], xmm0
mov dword [rcx], esi
mov qword [r13], rcx
mov qword [r13 + 8], 4
mov qword [r13 + 0x10], r8
cmp edx, 0x3792e788
jae 0x14003e36f
xorps xmm0, xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx], xmm0
mov dword [rcx], esi
mov qword [r13], rcx
mov qword [r13 + 8], 4
mov qword [r13 + 0x10], r8
jmp 0x14003e2d5
mov qword [rbp], rsi
mov qword [r13 + 0x18], r9
mov eax, dword [0x141dc47c0]
add eax, dword [0x141dc47c4]
and eax, 0x30cc90c0
xor eax, 0xc7405512
imul rax, rax, 0x6e899225
shr rax, 0x3b
cmp eax, 0x1c4447b6
ja 0x14003e3f9
mov eax, dword [0x141dc47c8]
sub eax, dword [0x141dc47cc]
add eax, 0x58d35cbf
mov esi, 0xc8bb60f1
imul rsi, rax
shr rsi, 0x3c
or esi, 0x84137d71
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r15
mov r8, r13
call fcn.14003d320
add rsp, 0x20
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
cmp esi, 0xd60ca3ee
jbe 0x14003e42c
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r15
mov r8, r13
call fcn.14003d320
add rsp, 0x20
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
jmp 0x14003e39f
mov rax, qword [rbp]
lea rdx, [rax - 0x20]
mov ecx, 0x20
cmp rdx, 0x41
jb 0x14003e665
nop word cs:[rax + rax]
mov eax, dword [0x141dc47d0]
sub eax, dword [0x141dc47d4]
imul eax, eax, 0x950cf78f
add eax, 0xe0a2ed0
imul rax, rax, 0x40dbc6af
shr rax, 0x3d
cmp eax, 0x363b5dd6
jae 0x14003e450
mov esi, 0x20
xor r13d, r13d
nop word cs:[rax + rax]
mov qword [rbp - 0x10], rdx
mov eax, dword [0x141dc47e0]
or eax, dword [0x141dc47e4]
imul eax, eax, 0xd95bd057
or eax, 0x3920882b
cmp eax, 0xd94cff53
je 0x14003e523
nop word cs:[rax + rax]
mov r12d, dword [0x141dc47e8]
imul r12d, dword [0x141dc47ec]
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rbx + 0x30], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
sub rsp, 0x20
mov edx, 0x40
mov r9d, 1
mov rcx, r15
mov r8, r14
call fcn.14003d320
add rsp, 0x20
cmp r12d, 0x63a3911c
jne 0x14003e580
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rbx + 0x30], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov qword [r14], rbx
mov qword [r14 + 8], 0x40
sub rsp, 0x20
mov edx, 0x40
mov r9d, 1
mov rcx, r15
mov r8, r14
call fcn.14003d320
add rsp, 0x20
jmp 0x14003e4c0
cmp rsi, 0xffffffffffffffe0
je 0x14003e6a5
lea rcx, [rsi + 0x20]
cmp rcx, qword [rbp]
ja 0x14003e6d5
nop dword [rax + rax]
test r13b, r13b
jne 0x14003e5a0
add rsi, rdi
mov eax, dword [0x141dc47f8]
xor edx, edx
div dword [0x141dc47fc]
add eax, 0x62233216
xor eax, 0xa1600c00
and eax, 0xa1e0ae7d
cmp eax, 0x3c12fac1
jb 0x14003e650
mov eax, dword [0x141dc4800]
xor edx, edx
div dword [0x141dc4804]
add eax, 0x89de6ab6
or eax, 0x7bdfd3e7
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp eax, 0xf1ad6b5f
jb 0x14003e650
mov rdx, qword [rbp - 0x10]
add rdx, 0xffffffffffffffe0
nop word [rax + rax]
mov eax, dword [0x141dc4808]
add eax, dword [0x141dc480c]
xor eax, 0x10e24030
or eax, 0xe90538c5
add eax, 0x6f6f0a2c
cmp eax, 0x81f7325d
ja 0x14003e610
mov rsi, rcx
cmp rdx, 0x40
ja 0x14003e490
jmp 0x14003e665
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x14003e5d0
mov rdx, qword [rbp]
sub rdx, rcx
add rdi, rcx
mov r8, qword [rbp - 8]
mov qword [r8], r15
mov qword [r8 + 8], 0x40
sub rsp, 0x20
mov r9d, 1
mov rcx, rdi
call fcn.14003d320
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
ud2