Function at 0x1400c41e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov rdi, rdx
mov eax, dword [0x141f42900]
add eax, dword [0x141f42904]
xor eax, 0xc400a3
or eax, 0xd73bfb5c
cmp eax, 0x7928b7ec
jb 0x1400c4263
mov r8d, dword [0x141f42908]
add r8d, dword [0x141f4290c]
xor r8d, 0x4fee8b40
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rdx, rsp
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rax, rsp
cmp r8d, 0xd00e79da
jbe 0x1400c428c
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
jmp 0x1400c4215
mov r13, qword [rcx + 0x18]
mov rsi, qword [rcx + 0x28]
movzx r12d, word [r13 + 0x3d2]
nop dword [rax]
mov r8d, dword [0x141f42910]
add r8d, dword [0x141f42914]
or r8d, 0x123cb0b2
imul r8, r8, 0x5216abdd
shr r8, 0x3e
cmp r8d, 0x1c308ef4
je 0x1400c42a0
lea r15, [r12 + rdi]
nop dword [rax]
mov r8d, dword [0x141f42918]
sub r8d, dword [str.oEH]
add r8d, 0xf9f5569d
cmp r8d, 0x23a2f7a7
jb 0x1400c42d0
cmp r15, 0xc
jae 0x1400c4714
movzx r10d, word [rsi + 0x3d2]
mov r11d, 0xdf026861
nop word cs:[rax + rax]
mov r8d, dword [0x141f42920]
and r8d, dword [0x141f42924]
add r8d, 0x26519daa
or r8d, 0x6b0c059
imul r8, r11
shr r8, 0x3f
cmp r8d, 0xd77a5fde
je 0x1400c4310
mov r8, r10
sub r8, rdi
jb 0x1400c46d0
mov qword [rbp - 0x10], r10
mov word [r13 + 0x3d2], r15w
mov qword [rbp], r8
mov word [rsi + 0x3d2], r8w
lea r10, [rdi - 1]
imul r8, r10, 0x38
mov qword [rbp - 0x30], r8
lea r11, [rsi + r8]
add r11, 0x168
mov qword [rbp - 0x50], r10
mov r8, r10
shl r8, 5
movups xmm0, xmmword [rsi + r8]
mov qword [rbp - 0x38], r8
movups xmm1, xmmword [rsi + r8 + 0x10]
movups xmmword [rax + 0x10], xmm1
mov r14, qword [rcx]
mov qword [rbp - 0x40], rcx
mov rbx, qword [rcx + 0x10]
imul r8, rbx, 0x38
lea r10, [r14 + r8]
add r10, 0x168
shl rbx, 5
add rbx, r14
mov ecx, dword [0x141f42938]
xor ecx, dword [0x141f4293c]
movups xmmword [rax], xmm0
and ecx, 0x690a61
imul ecx, ecx, 0xfdb2a8dd
cmp ecx, 0xf223b32d
jbe 0x1400c4495
mov rcx, qword [r10 + 0x30]
mov qword [r9 + 0x30], rcx
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmm2, xmmword [r10 + 0x20]
movups xmmword [r9 + 0x20], xmm2
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov rcx, qword [r11 + 0x30]
movups xmm0, xmmword [r11]
movups xmm1, xmmword [r11 + 0x10]
movups xmm2, xmmword [r11 + 0x20]
movups xmmword [r10], xmm0
mov qword [r10 + 0x30], rcx
movups xmmword [r10 + 0x20], xmm2
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
imul rcx, r12, 0x38
mov r8, qword [r9 + 0x30]
mov qword [r13 + rcx + 0x198], r8
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [r13 + rcx + 0x188], xmm2
movups xmmword [r13 + rcx + 0x178], xmm1
movups xmmword [r13 + rcx + 0x168], xmm0
mov rcx, r12
shl rcx, 5
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r13 + rcx], xmm0
movups xmmword [r13 + rcx + 0x10], xmm1
lea rcx, [rsi + 0x168]
mov qword [rbp - 0x28], rcx
lea rcx, [r13 + 0x168]
mov qword [rbp - 0x20], rcx
imul r8, r12, 0x38
mov r14, r12
shl r14, 5
mov qword [rbp - 8], r12
inc r12
mov qword [rbp - 0x18], r15
sub r15, r12
mov qword [rbp - 0x48], r15
nop dword [rax + rax]
mov r15d, dword [0x141f42940]
imul r15d, dword [0x141f42944]
mov rcx, qword [r10 + 0x30]
mov qword [r9 + 0x30], rcx
movups xmm0, xmmword [r10]
movups xmm1, xmmword [r10 + 0x10]
movups xmm2, xmmword [r10 + 0x20]
movups xmmword [r9 + 0x20], xmm2
movups xmmword [r9 + 0x10], xmm1
movups xmmword [r9], xmm0
mov rcx, qword [r11 + 0x30]
movups xmm0, xmmword [r11]
movups xmm1, xmmword [r11 + 0x10]
movups xmm2, xmmword [r11 + 0x20]
movups xmmword [r10], xmm0
mov qword [r10 + 0x30], rcx
movups xmmword [r10 + 0x20], xmm2
movups xmmword [r10 + 0x10], xmm1
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov rcx, qword [r9 + 0x30]
mov qword [r13 + r8 + 0x198], rcx
add r15d, 0x9922072c
xor r15d, 0xa604c190
or r15d, 0x8fa2603
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [r13 + r8 + 0x188], xmm2
movups xmmword [r13 + r8 + 0x178], xmm1
movups xmmword [r13 + r8 + 0x168], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r13 + r14 + 0x10], xmm1
movups xmmword [r13 + r14], xmm0
cmp r15d, 0xe32063ec
ja 0x1400c44d0
mov rax, qword [rbp - 0x48]
cmp qword [rbp - 0x50], rax
jne 0x1400c4714
imul rax, r12, 0x38
mov rcx, qword [rbp - 0x20]
add rcx, rax
sub rsp, 0x20
mov r14, qword [rbp - 0x28]
mov rdx, r14
mov r8, qword [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rcx, r12
shl rcx, 5
add rcx, r13
sub rsp, 0x20
mov rdx, rsi
mov r8, qword [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
imul rdx, rdi, 0x38
add rdx, r14
mov rbx, qword [rbp]
imul r8, rbx, 0x38
sub rsp, 0x20
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rdx, rdi
shl rdx, 5
add rdx, rsi
mov r8, rbx
shl r8, 5
sub rsp, 0x20
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
mov rax, qword [rbp - 0x40]
cmp qword [rax + 0x20], 0
mov rax, qword [rax + 0x30]
je 0x1400c4697
test rax, rax
je 0x1400c46a0
lea rbx, [rsi + 0x3d8]
lea r14, [r12*8 + 0x3d8]
add r14, r13
mov eax, dword [0x141f42950]
xor eax, dword [0x141f42954]
and eax, 0x11b67ab8
imul eax, eax, 0xf51df01b
mov ecx, 0xb203ed87
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x46671bab
jbe 0x1400c4755
jmp 0x1400c4795
test rax, rax
je 0x1400c473e
ud2
mov eax, dword [0x141f42928]
or eax, dword [0x141f4292c]
or eax, 0x3503c00b
cmp eax, 0xbc48fcb4
jne 0x1400c46f0
ud2
mov eax, dword [0x141f42930]
sub eax, dword [0x141f42934]
or eax, 0xf820129
add eax, 0xbf730711
and eax, 0xb64c91e4
ud2
ud2
test rcx, rcx
je 0x1400c473e
nop dword [rax + rax]
mov rdx, qword [rsi + rax*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], ax
inc rax
dec rcx
jne 0x1400c4720
xor eax, eax
test al, al
jne 0x1400c4740
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r15d, dword [0x141f42958]
add r15d, dword [0x141f4295c]
or r15d, 0xfebe70be
add r15d, 0x79bdbc46
lea r8, [rdi*8]
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp r15d, 0x44832e50
jae 0x1400c47b2
lea r8, [rdi*8]
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
jmp 0x1400c4755
lea rdx, [rbx + rdi*8]
mov r14, qword [rbp]
lea r8, [r14*8 + 8]
sub rsp, 0x20
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
add rsp, 0x20
test rdi, rdi
mov r11, qword [rbp - 0x18]
je 0x1400c4900
nop
mov eax, dword [0x141f42960]
xor edx, edx
div dword [0x141f42964]
imul eax, eax, 0xe17aafaa
add eax, 0x96a5ae07
and eax, 0x11baac30
cmp eax, 0xa705176d
je 0x1400c47e0
nop word cs:[rax + rax]
mov eax, dword [0x141f42968]
xor edx, edx
div dword [0x141f4296c]
or eax, 0xdffffbff
cmp eax, 0xe2c9657a
ja 0x1400c4810
test dil, 3
je 0x1400c4876
mov rbx, qword [rbp - 8]
lea rax, [rbx + 1]
lea rcx, [rbx*8 + 0x3e0]
add rcx, r13
mov edx, edi
and edx, 3
xor r8d, r8d
nop dword [rax + rax]
mov r9, qword [rcx + r8*8]
mov qword [r9 + 0x160], r13
lea r10d, [rax + r8]
mov word [r9 + 0x3d0], r10w
inc r8
cmp rdx, r8
jne 0x1400c4850
lea r12, [rbx + r8]
inc r12
cmp rdi, 4
jb 0x1400c4900
mov rax, qword [r13 + r12*8 + 0x3d8]
mov qword [rax + 0x160], r13
mov word [rax + 0x3d0], r12w
mov rax, qword [r13 + r12*8 + 0x3e0]
mov qword [rax + 0x160], r13
lea ecx, [r12 + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + r12*8 + 0x3e8]
mov qword [rax + 0x160], r13
lea ecx, [r12 + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [r13 + r12*8 + 0x3f0]
mov qword [rax + 0x160], r13
lea rcx, [r12 + 3]
mov word [rax + 0x3d0], cx
add r12, 4
cmp rcx, r11
jne 0x1400c4880
nop word cs:[rax + rax]
mov eax, dword [0x141f42970]
imul eax, dword [0x141f42974]
or eax, 0x10200004
and eax, 0x10202024
cmp eax, 0x7920c971
ja 0x1400c4900
nop
mov eax, dword [0x141f42978]
sub eax, dword [0x141f4297c]
imul eax, eax, 0x786a236c
add eax, 0xe3684658
and eax, 0xd1605980
cmp eax, 0x6a8a301a
ja 0x1400c4920
cmp r14, 0xffffffffffffffff
je 0x1400c473e
mov r10, qword [rbp - 0x10]
inc r10
sub r10, rdi
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400c4960
mov ecx, r10d
and ecx, 3
cmp r14, 3
jae 0x1400c4977
xor eax, eax
jmp 0x1400c4716
and r10, 0xfffffffffffffffc
nop dword [rax + rax]
mov eax, dword [0x141f42980]
xor edx, edx
div dword [0x141f42984]
and eax, 0x465618a2
add eax, 0x2a677bb2
and eax, 0x4e1811c6
cmp eax, 0x50a567a5
ja 0x1400c4980
nop word cs:[rax + rax]
mov eax, dword [0x141f42988]
imul eax, dword [0x141f4298c]
and eax, 0x8f9d0f4
imul eax, eax, 0x7728f0fe
imul rax, rax, 0x1b2e5ad3
shr rax, 0x3c
cmp eax, 0x97d81b36
ja 0x1400c49b0
xor eax, eax
nop dword [rax]
mov rdx, qword [rsi + rax*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov r8d, eax
mov word [rdx + 0x3d0], ax
mov rdx, qword [rsi + rax*8 + 0x3e0]
mov qword [rdx + 0x160], rsi
lea r9d, [r8 + 1]
mov word [rdx + 0x3d0], r9w
mov rdx, qword [rsi + rax*8 + 0x3e8]
mov qword [rdx + 0x160], rsi
lea r9d, [r8 + 2]
mov word [rdx + 0x3d0], r9w
mov rdx, qword [rsi + rax*8 + 0x3f0]
add rax, 4
mov qword [rdx + 0x160], rsi
add r8d, 3
mov word [rdx + 0x3d0], r8w
cmp rax, r10
jne 0x1400c49e0
jmp 0x1400c4716