Function at 0x14003d650
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r14, r9
mov qword [rbp - 8], r8
mov qword [rbp], rdx
mov rdi, rcx
mov eax, dword [0x141dc5580]
xor edx, edx
div dword [0x141dc5584]
cmp eax, 0x157d070d
je 0x14003d702
mov eax, dword [0x141dc5588]
xor edx, edx
div dword [str.W9j_T_P]
mov ecx, eax
add ecx, 0x569422f3
or ecx, 0xb4984ce0
xor ecx, 0x3851b472
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r12, rsp
mov eax, 0x40
call fcn.1400ef330
sub rsp, rax
mov rsi, rsp
mov eax, 0x40
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov r8, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r13, rsp
cmp ecx, 0x9fdaa0ee
jae 0x14003d748
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x40
call fcn.1400ef330
sub rsp, rax
mov eax, 0x40
call fcn.1400ef330
sub rsp, rax
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
jmp 0x14003d688
mov eax, dword [0x141dc5590]
xor edx, edx
div dword [0x141dc5594]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5598]
xor eax, dword [0x141dc559c]
or eax, 0x7813432d
imul eax, eax, 0x2155fe42
cmp eax, 0xd017738e
ja 0x14003d760
cmp qword [rbp], 0x41
jae 0x14003d8ba
mov eax, dword [0x141dc55d0]
xor eax, dword [0x141dc55d4]
xor eax, 0x9271fbd4
shr eax, 2
imul rax, rax, 0x24f00c2f
shr rax, 0x3a
imul eax, eax, 0x5004e51d
cmp eax, 0xc897995c
mov rbx, qword [rbp]
jbe 0x14003d7c0
mov dword [r8], ebx
mov qword [r13], r8
mov r15, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc55d8]
xor eax, dword [0x141dc55dc]
and eax, 0x13dc2a9a
add eax, 0x6016055
or eax, 0xc726de86
mov dword [r8], ebx
mov qword [r13], r8
cmp eax, 0xb67a6090
jb 0x14003d7d0
mov eax, dword [0x141dc55e0]
xor edx, edx
div dword [0x141dc55e4]
or eax, 0x7bb2fd65
add eax, 0x2adde406
mov ecx, 0xa1af1a15
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x47b44d4b
jbe 0x14003d860
mov qword [r13 + 8], 4
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], r14
sub rsp, 0x20
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call fcn.14003c520
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dc55e8]
xor eax, dword [0x141dc55ec]
add eax, 0x3bd0c53
and eax, 0xf63ac42b
imul rsi, rax, 0x1bf51c23
shr rsi, 0x3b
mov qword [r13 + 8], 4
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], r14
sub rsp, 0x20
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
mov r8, r13
call fcn.14003c520
add rsp, 0x20
cmp esi, 0x171779b
je 0x14003d860
jmp 0x14003dbf0
mov eax, dword [0x141dc55a0]
imul eax, dword [0x141dc55a4]
add eax, 0x46e0a5c2
and eax, 0xb8d856b4
imul eax, eax, 0xaa01db31
cmp eax, 0x7af7e36a
jne 0x14003d8f4
xorps xmm0, xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
mov eax, 0xadc25c87
xorps xmm0, xmm0
nop dword [rax]
mov ecx, dword [0x141dc55a8]
xor ecx, dword [0x141dc55ac]
imul ecx, ecx, 0x7aa7bead
xor ecx, 0x2da8b17e
imul rcx, rax
shr rcx, 0x3e
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
cmp ecx, 0xc21c4f03
ja 0x14003d900
xorps xmm0, xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov rax, qword [rbp]
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x18]
mov qword [r12], rax
mov eax, dword [0x141dc55b0]
xor edx, edx
div dword [0x141dc55b4]
and eax, 0x2e5b1364
imul eax, eax, 0xbba39906
or eax, 0x95dddad3
cmp eax, 0xca1ded03
jbe 0x14003d9c6
mov qword [r12 + 8], 4
mov rax, qword [rbp - 8]
mov qword [r12 + 0x10], rax
mov qword [r12 + 0x18], r14
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r15
mov r8, r12
call fcn.14003c520
add rsp, 0x20
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
mov rax, qword [rbp]
add rax, 0xffffffffffffffe0
mov qword [rbp - 0x20], rax
mov rbx, r14
mov r13, qword [rbp - 8]
nop dword [rax]
mov eax, dword [0x141dc55b8]
add eax, dword [0x141dc55bc]
imul r14d, eax, 0xbfa21495
or r14d, 0xcb1d0c1e
mov eax, 0xda16d633
imul r14, rax
shr r14, 0x3f
mov qword [r12 + 8], 4
mov qword [r12 + 0x10], r13
mov qword [r12 + 0x18], rbx
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r15
mov r8, r12
call fcn.14003c520
add rsp, 0x20
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmmword [rdi], xmm0
cmp r14d, 0x49a6f314
ja 0x14003d9e0
mov r14d, 0x20
mov r13, qword [rbp - 0x20]
cmp r13, 0x41
mov r12, qword [rbp]
jb 0x14003dbbb
nop dword [rax]
mov eax, dword [0x141dc55c0]
or eax, dword [0x141dc55c4]
and eax, 0x2df9f11d
imul eax, eax, 0xbea3f14b
and eax, 0xe6aec3cf
cmp eax, 0xb59d7dca
jb 0x14003da70
nop word cs:[rax + rax]
mov eax, dword [0x141dc55c8]
imul eax, dword [0x141dc55cc]
or eax, 0x2e963b19
imul eax, eax, 0xcbf655df
add eax, 0xfe77a265
cmp eax, 0x6c08cc1d
ja 0x14003daa0
mov r14d, 0x40
lea rbx, [rbp - 0x18]
nop
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movups xmm3, xmmword [r15 + 0x30]
movups xmmword [rsi + 0x30], xmm3
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], 0x40
sub rsp, 0x20
mov edx, 0x40
mov r9d, 1
mov rcx, r15
mov r8, rbx
call fcn.14003c520
add rsp, 0x20
test r14, r14
je 0x14003dc24
mov eax, dword [0x141dc55f8]
xor eax, dword [0x141dc55fc]
xor eax, 0x5687f747
add eax, 0xfe77f684
or eax, 0x7c7cd44c
cmp eax, 0x1f82f2bb
je 0x14003db25
cmp r14, r12
ja 0x14003dca7
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdi + r14 - 0x10], xmm1
movups xmmword [rdi + r14 - 0x20], xmm0
mov eax, dword [0x141dc5610]
xor eax, dword [0x141dc5614]
or eax, 0x73f2bfdf
and eax, 0xfbf6bfdf
cmp eax, 0xbb903ae3
ja 0x14003db65
add r13, 0xffffffffffffffe0
mov eax, dword [0x141dc5618]
sub eax, dword [0x141dc561c]
imul eax, eax, 0x8118cb84
add eax, 0xae51ab38
xor eax, 0x9a060f56
cmp eax, 0xd2c7944f
ja 0x14003db86
add r14, 0x20
cmp r13, 0x40
ja 0x14003dad0
add r14, 0xffffffffffffffe0
sub r12, r14
add rdi, r14
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 0x40
sub rsp, 0x20
lea r8, [rbp - 0x18]
mov r9d, 1
mov rcx, rdi
mov rdx, r12
call fcn.14003c520
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x141dc55f0]
sub eax, dword [0x141dc55f4]
or eax, 0xac737bff
imul eax, eax, 0xf4583170
add eax, 0x8c5103e0
cmp eax, 0x8d8dec78
ja 0x14003dbf0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
test al, al
je 0x14003dc2c
ud2
mov eax, 0x902d093b
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5600]
imul ecx, dword [0x141dc5604]
add ecx, 0x84959c0e
shr ecx, 1
imul rcx, rax
shr rcx, 0x3c
imul ecx, ecx, 0xf61819d8
ud2
mov eax, dword [0x141dc5620]
xor edx, edx
div dword [0x141dc5624]
or eax, 0xa0359af3
cmp eax, 0x2b5fa010
jne 0x14003dcc5
jmp 0x14003dcea
mov eax, dword [0x141dc5628]
xor eax, dword [0x141dc562c]
imul eax, eax, 0x26db90fb
add eax, 0xaaa59e5c
xor eax, 0x3d17a013
ud2
ud2