Function at 0x14003c940
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 r10, r9
mov r12, r8
mov r11, rdx
mov eax, dword [0x141dc5808]
xor edx, edx
div dword [0x141dc580c]
mov rdi, rcx
imul eax, eax, 0x6a656f69
mov ecx, 0xb81d45e7
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xbd1e4c34
cmp ecx, 0x9648af56
jb 0x14003c9bc
mov eax, dword [0x141dc5810]
xor edx, edx
div dword [0x141dc5814]
imul ecx, eax, 0xfe6add47
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov r9, rsp
cmp ecx, 0x81e302f0
jne 0x14003c9cb
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
jmp 0x14003c990
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rcx, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r14, rsp
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov r15, rsp
mov eax, 0x40
call fcn.1400ef3b0
sub rsp, rax
mov r13, rsp
mov eax, 0x10
call fcn.1400ef3b0
sub rsp, rax
mov rdx, rsp
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov r8, rsp
nop dword [rax + rax]
mov eax, dword [0x141dc5818]
imul eax, dword [0x141dc581c]
xor eax, 0xa9af2af5
imul rax, rax, 0x5f40633
shr rax, 0x3a
add eax, 0x44c220b5
cmp eax, 0x5343bffe
ja 0x14003ca40
cmp r11, 0x41
jae 0x14003cb34
nop word cs:[rax + rax]
mov eax, dword [0x141dc5858]
or eax, dword [0x141dc585c]
xor eax, 0x120441
or eax, 0xaf65d23a
and eax, 0xaf77df7b
cmp eax, 0x7b0659ff
jb 0x14003ca80
mov eax, dword [0x141dc5860]
or eax, dword [0x141dc5864]
add eax, 0x70cb3065
or eax, 0x43344b67
add eax, 0xad88a89f
cmp eax, 0x25a825b8
jbe 0x14003cad2
mov dword [rdx], r11d
mov qword [r8], rdx
mov qword [r8 + 8], 4
mov eax, 0x8d2f716f
nop word [rax + rax]
mov ecx, dword [0x141dc5868]
imul ecx, dword [0x141dc586c]
add ecx, 0xb4072452
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xb8983c70
mov dword [rdx], r11d
mov qword [r8], rdx
mov qword [r8 + 8], 4
cmp ecx, 0xcac9f1bb
je 0x14003cae0
mov qword [r8 + 0x10], r12
mov qword [r8 + 0x18], r10
sub rsp, 0x20
mov r9d, 2
mov rcx, rdi
mov rdx, r11
jmp 0x14003ce3f
mov eax, dword [0x141dc5820]
add eax, dword [0x141dc5824]
or eax, 0x77f4601
imul eax, eax, 0x27076653
xor eax, 0x501c44b8
cmp eax, 0xc1a610ec
ja 0x14003cb9a
mov eax, dword [0x141dc5828]
or eax, dword [0x141dc582c]
and eax, 0x8cae2ba8
imul rdx, rax, 0xc7b32f
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1a
xorps xmm0, xmm0
movups xmmword [r13 + 0x30], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13], xmm0
cmp eax, 0xbd6df05a
jne 0x14003cbb3
xorps xmm0, xmm0
movups xmmword [r13 + 0x30], xmm0
movups xmmword [r13 + 0x20], xmm0
movups xmmword [r13 + 0x10], xmm0
movups xmmword [r13], xmm0
jmp 0x14003cb57
mov qword [rbp - 0x10], rbx
mov eax, dword [0x141dc5830]
sub eax, dword [0x141dc5834]
add eax, 0x44db135a
or eax, 0xfead6ff6
cmp eax, 0x9bb67256
je 0x14003cc19
mov eax, dword [0x141dc5838]
imul eax, dword [0x141dc583c]
add eax, 0x764c3999
or eax, 0x4cdd3502
imul rax, rax, 0x2ae6315b
shr rax, 0x3d
xorps xmm0, xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
mov dword [rcx], r11d
mov qword [r14], rcx
cmp eax, 0x8ad7fc53
jbe 0x14003cc34
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15], xmm0
mov dword [rcx], r11d
mov qword [r14], rcx
jmp 0x14003cbd4
mov qword [rbp - 8], r9
mov eax, dword [0x141dc5840]
and eax, dword [0x141dc5844]
imul rax, rax, 0x5124758b
shr rax, 0x3d
imul eax, eax, 0x77efb738
add eax, 0x72b15770
cmp eax, 0x2773c6f6
jae 0x14003ccb2
mov qword [r14 + 8], 4
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r10
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r13
mov r8, r14
mov rbx, r11
mov rsi, rdi
mov rdi, r10
call fcn.14003bb20
mov r10, rdi
mov rdi, rsi
mov r11, rbx
add rsp, 0x20
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov qword [rbp - 0x18], r11
lea rax, [r11 - 0x20]
mov qword [rbp], rax
nop
mov ebx, dword [0x141dc5848]
and ebx, dword [0x141dc584c]
mov qword [r14 + 8], 4
mov qword [r14 + 0x10], r12
mov qword [r14 + 0x18], r10
sub rsp, 0x20
mov edx, 0x40
mov r9d, 2
mov rcx, r13
mov r8, r14
mov rsi, rdi
mov rdi, r10
call fcn.14003bb20
mov r10, rdi
mov rdi, rsi
add rsp, 0x20
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp ebx, 0x4f5ff85a
je 0x14003ccc0
mov eax, 0x20
cmp qword [rbp], 0x41
mov rsi, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
jb 0x14003ce1a
nop word [rax + rax]
mov eax, dword [0x141dc5850]
imul eax, dword [0x141dc5854]
or eax, 0x4ccff401
imul eax, eax, 0xbac8d6c2
shr eax, 2
imul rax, rax, 0x14dfae75
shr rax, 0x3a
cmp eax, 0x4ec75cc1
je 0x14003cd40
xor eax, eax
nop
test al, al
jne 0x14003cd70
mov ebx, 0x20
xor r14d, r14d
nop dword [rax]
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmm2, xmmword [r13 + 0x20]
movups xmm3, xmmword [r13 + 0x30]
movups xmmword [r15 + 0x30], xmm3
movups xmmword [r15 + 0x20], xmm2
movups xmmword [r15 + 0x10], xmm1
movups xmmword [r15], xmm0
mov qword [r12], r15
mov qword [r12 + 8], 0x40
sub rsp, 0x20
mov edx, 0x40
mov r9d, 1
mov rcx, r13
mov r8, r12
call fcn.14003bb20
add rsp, 0x20
cmp rbx, 0xffffffffffffffe0
je 0x14003ce59
lea rax, [rbx + 0x20]
test r14b, r14b
jne 0x14003cde0
cmp rax, rsi
ja 0x14003ce81
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movups xmmword [rdi + rbx + 0x10], xmm1
movups xmmword [rdi + rbx], xmm0
mov rcx, qword [rbp]
add rcx, 0xffffffffffffffe0
mov rbx, rax
mov qword [rbp], rcx
cmp rcx, 0x40
ja 0x14003cd80
sub rsi, rax
add rdi, rax
mov r8, qword [rbp - 8]
mov qword [r8], r13
mov qword [r8 + 8], 0x40
sub rsp, 0x20
mov r9d, 1
mov rcx, rdi
mov rdx, rsi
call fcn.14003bb20
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