Function at 0x140106980
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov r15, rdx
mov rsi, rcx
mov eax, dword [0x1402254b0]
mov ecx, eax
not ecx
or ecx, dword [0x1402254b4]
add eax, ecx
inc eax
or eax, 0x15ceba8d
xor eax, 0xef671a89
cmp eax, 0x710efa1d
jb 0x140106a5b
mov ecx, dword [0x1402254b8]
mov eax, dword [0x1402254bc]
mov edx, eax
not edx
mov r8d, ecx
and r8d, edx
or edx, ecx
not edx
imul edx, r8d
mov r8d, ecx
and r8d, eax
or ecx, eax
imul ecx, r8d
add ecx, edx
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xf862c7f2
and eax, 0x79d380d
imul eax, edx
mov edx, ecx
and edx, 0x79d380d
or ecx, 0x79d380d
imul ecx, edx
add ecx, eax
mov eax, ecx
not eax
or eax, 0x2021110
and eax, 0x5a9e771e
and ecx, 0x21400061
or ecx, eax
xor ecx, 0x54372fc
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdx, rsp
mov eax, 0x40
call fcn.1401516e0
sub rsp, rax
mov rax, rsp
cmp ecx, 0x6e35cd5e
jbe 0x140106a7a
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov eax, 0x40
call fcn.1401516e0
sub rsp, rax
jmp 0x1401069c4
mov qword [rbp - 0x18], rax
mov qword [rbp - 8], rdx
mov eax, dword [0x1402254c0]
mov ecx, dword [0x1402254c4]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
xor ecx, 0x67bfe16e
xor eax, 0x88400081
and eax, 0x8ae260e5
mov edx, ecx
and edx, 0x751d9f1a
or edx, eax
xor edx, 0x57a1f585
and ecx, 0xdd439560
or ecx, edx
cmp ecx, 0xc0000745
jb 0x140106ae0
mov eax, 0x60
call fcn.1401516e0
sub rsp, rax
mov r13, rsp
xor eax, eax
test al, al
je 0x140106aef
mov eax, 0x60
call fcn.1401516e0
sub rsp, rax
jmp 0x140106aca
mov rax, qword [r15]
mov qword [rbp], rax
movzx r14d, word [rax + 0x3d2]
mov eax, dword [0x1402254c8]
mov ecx, dword [0x1402254cc]
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not edx
or edx, ecx
mov eax, edx
and eax, 0x77a8aee4
add eax, eax
neg eax
add eax, edx
add eax, 0x30861390
xor eax, 0x860a5d06
cmp eax, 0x59156b1f
jae 0x140106b50
movzx eax, byte [0x14022cb78]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.140107940
add rsp, 0x20
nop
mov eax, dword [0x1402254d0]
sub eax, dword [0x1402254d4]
mov ecx, eax
xor ecx, 0x62f7f112
or eax, 0x9d080eed
and eax, ecx
imul edi, eax, 0x944bd7c7
not edi
and edi, 0x9ac6a171
movzx eax, byte [0x14022cb78]
sub rsp, 0x20
mov edx, 0x438
xor ecx, ecx
call fcn.14014ee50
add rsp, 0x20
cmp edi, 0x1c5c41c1
ja 0x140106b50
mov rbx, rax
test rax, rax
je 0x140107415
mov qword [rbp - 0x30], r14
mov eax, dword [0x1402254d8]
sub eax, dword [0x1402254dc]
mov ecx, 0x9184c89f
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x27c7ad62
mov r9, qword [rbp]
mov r10, qword [rbp - 0x18]
jne 0x140106c04
mov qword [rbx + 0x160], 0
mov eax, dword [r15 + 0x10]
movzx ecx, word [r9 + 0x3d2]
lea edx, [rax*2 + 1]
sub eax, edx
mov edx, ecx
and edx, eax
or eax, ecx
add eax, edx
mov word [rbx + 0x3d2], ax
xor eax, eax
nop word cs:[rax + rax]
mov qword [rbx + 0x160], 0
mov r12, qword [r15 + 0x10]
movzx ecx, word [r9 + 0x3d2]
lea r14, [r12 + r12]
not r14
add r14, r12
add r14, rcx
mov word [rbx + 0x3d2], r14w
test al, al
jne 0x140106c10
lea r11, [r9 + 0x168]
nop word [rax + rax]
mov eax, dword [0x1402254e0]
mov edx, dword [0x1402254e4]
not eax
not edx
or edx, eax
mov eax, edx
not eax
and edx, 0xb33538ff
mov r8d, eax
and r8d, 0x4ccac700
or r8d, edx
xor r8d, 0x67c8f7b0
and eax, 0xd4fdcf4f
or eax, r8d
add eax, 0x15dc1f8f
cmp eax, 0x833176bf
jb 0x140106c50
imul rax, r12, 0x38
mov rdx, qword [r11 + rax + 0x30]
mov qword [r10 + 0x30], rdx
movups xmm0, xmmword [r11 + rax]
movups xmm1, xmmword [r11 + rax + 0x10]
movups xmm2, xmmword [r11 + rax + 0x20]
movups xmmword [r10 + 0x20], xmm2
movups xmmword [r10 + 0x10], xmm1
movups xmmword [r10], xmm0
mov rax, r12
shl rax, 5
movups xmm0, xmmword [r9 + rax]
movups xmm1, xmmword [r9 + rax + 0x10]
mov rax, qword [rbp - 8]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp r14, 0xb
ja 0x140106dcb
mov eax, dword [0x1402254e8]
xor edx, edx
div dword [0x1402254ec]
lea rax, [r12 + 1]
mov qword [rbp - 0x10], rax
sub rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x1402254f4]
add eax, dword [0x1402254f0]
imul eax, eax, 0x2bc2bfc8
mov edx, eax
not edx
and edx, 0x9bf8b512
mov r8d, eax
and r8d, 0x64074ae8
imul r8d, edx
mov edx, eax
and edx, 0x9bf8b510
or eax, 0x9bf8b512
imul eax, edx
add eax, r8d
cmp eax, 0x456a7249
je 0x140106d10
nop word cs:[rax + rax]
mov eax, dword [0x1402254f8]
and eax, dword [0x1402254fc]
imul rax, rax, 0x1906c8a7
shr rax, 0x3b
cmp eax, 0x447841c6
je 0x140106d60
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], r15
cmp rcx, r14
jne 0x140107415
mov eax, dword [0x140225508]
or eax, dword [0x14022550c]
add eax, 0x6ad7d831
mov ecx, eax
and ecx, 0x15940ba
and eax, 0x10082
add eax, eax
sub ecx, eax
add ecx, 0xe2851cc2
cmp ecx, 0xd0d426ee
mov rsi, qword [rbp - 0x10]
mov rdi, r11
jae 0x140106e0e
jmp 0x140106e8c
ud2
mov eax, dword [0x140225510]
mov r15d, dword [0x140225514]
xor r15d, eax
not r15d
and r15d, eax
mov eax, r15d
not eax
or r15d, 0x706f4603
and eax, 0x80909110
and r15d, 0x7a6f4603
sub r15d, eax
imul rdx, rsi, 0x38
add rdx, r11
lea rcx, [rbx + 0x168]
imul r8, r14, 0x38
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, rsi
shl rdx, 5
add rdx, qword [rbp]
mov r8, r14
shl r8, 5
sub rsp, 0x20
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, rdi
add rsp, 0x20
cmp r15d, 0x22c61f2b
jne 0x140106ef9
imul rdx, rsi, 0x38
add rdx, r11
lea rcx, [rbx + 0x168]
mov eax, r14d
not eax
mov r8, r14
and r8, 0xffffffffffffffc7
and eax, 0x38
imul rax, r8
mov r9d, r14d
and r9d, 0x38
mov r8, r14
or r8, 0x38
imul r8, r9
add r8, rax
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rdx, rsi
shl rdx, 5
add rdx, qword [rbp]
mov r8, r14
shl r8, 5
sub rsp, 0x20
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r11, rdi
add rsp, 0x20
jmp 0x140106e0e
mov eax, dword [0x140225518]
or eax, dword [0x14022551c]
mov ecx, eax
xor ecx, 0x8ab10606
or eax, 0x754ef9f9
and eax, ecx
imul rax, rax, 0x421f20f9
shr rax, 0x3e
or eax, 0xb561d6d8
cmp eax, 0xafcd2036
mov r8, qword [rbp]
mov rdx, qword [rbp - 8]
mov r9, qword [rbp - 0x18]
jae 0x140106f75
mov word [r8 + 0x3d2], r12w
mov rax, qword [r9 + 0x30]
mov qword [r13 + 0x30], rax
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r13 + 0x38], xmm0
movups xmmword [r13 + 0x48], xmm1
xor eax, eax
mov rsi, qword [rbp - 0x28]
nop dword [rax + rax]
mov word [r8 + 0x3d2], r12w
mov rcx, qword [r9 + 0x30]
mov qword [r13 + 0x30], rcx
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmm2, xmmword [r9 + 0x20]
movups xmmword [r13 + 0x20], xmm2
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [r13 + 0x48], xmm1
movups xmmword [r13 + 0x38], xmm0
test al, al
jne 0x140106f80
movzx r15d, word [rbx + 0x3d2]
nop word [rax + rax]
mov eax, dword [0x140225520]
sub eax, dword [0x140225524]
xor eax, 0xecbf8a0e
add eax, 0xd6713976
mov ecx, eax
not ecx
and ecx, 0x972825b5
mov edx, eax
and edx, 0x68d7da4a
imul edx, ecx
mov ecx, eax
and ecx, 0x972825b5
or eax, 0x972825b5
imul eax, ecx
add eax, edx
cmp eax, 0x1f662e3f
jb 0x140106fd0
cmp r15w, 0xb
ja 0x14010739e
lea r14, [r15 + 1]
mov rcx, rbx
add rcx, 0x3d8
nop dword [rax]
mov eax, dword [0x140225528]
imul eax, dword [0x14022552c]
xor eax, 0x68039495
add eax, 0x6f6fc40b
mov edx, eax
xor edx, 0x9ba2b2cc
and edx, eax
cmp edx, 0xbf8e3798
je 0x140107030
mov rdx, qword [rbp - 0x30]
sub rdx, r12
mov eax, 0xd76be0af
nop word cs:[rax + rax]
mov r9d, dword [0x140225530]
sub r9d, dword [0x140225534]
or r9d, 0xec2ef451
imul r9, rax
shr r9, 0x3c
xor r9d, 0x54baa61
cmp r9d, 0xa52ad5e3
ja 0x140107070
cmp rdx, r14
mov rdx, qword [rbp - 0x10]
jne 0x140107415
mov qword [rbp - 8], r13
mov eax, dword [0x140225538]
add eax, dword [0x14022553c]
mov r9d, eax
not r9d
or r9d, 0x4ef03952
add eax, r9d
inc eax
or eax, 0x6e6bf016
lea r13, [r8 + rdx*8]
add r13, 0x3d8
cmp eax, 0xcaab6596
jne 0x140107101
lea r8, [r14*8]
sub rsp, 0x20
mov rdx, r13
mov rdi, rcx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rdi
add rsp, 0x20
shl r14, 3
nop word cs:[rax + rax]
mov eax, dword [0x140225540]
imul eax, dword [0x140225544]
add eax, 0xf40528e0
imul rdi, rax, 0x53da2f1f
shr rdi, 0x3e
sub rsp, 0x20
mov rdx, r13
mov r8, r14
mov r12, r14
mov r14, rcx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r14
mov r14, r12
add rsp, 0x20
cmp edi, 0x4e63e2c4
je 0x140107110
nop word cs:[rax + rax]
mov eax, dword [0x140225548]
mov ecx, dword [0x14022554c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0x913bdda3
cmp eax, 0x1f2ed0a4
jb 0x140107160
xor eax, eax
mov rdi, qword [rbp - 8]
nop
test al, al
jne 0x1401071a0
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 8]
xor eax, eax
mov r11, qword [rbp]
jmp 0x1401071cc
or dl, r9b
mov rax, r8
jne 0x140107268
mov edx, dword [0x140225550]
xor edx, dword [0x140225554]
add edx, 0xad69bec0
xor edx, 0xa30e5930
add edx, 0x4b3e3c72
cmp edx, 0xfaa88eff
ja 0x140107250
nop word cs:[rax + rax]
mov edx, dword [0x140225558]
mov r8d, dword [0x14022555c]
lea r10d, [r8 + rdx]
add r10d, 0x9c652f15
cmp rax, r15
setae dl
mov r8, qword [rbx + rax*8 + 0x3d8]
mov qword [r8 + 0x160], rbx
mov word [r8 + 0x3d0], ax
mov r8, rax
adc r8, 0
cmp r8, r15
seta r9b
cmp r10d, 0x50d0a58e
jbe 0x1401071c0
mov rdx, qword [rbx + rax*8 + 0x3d8]
mov qword [rdx + 0x160], rbx
mov word [rdx + 0x3d0], ax
jmp 0x140107200
xor eax, eax
test al, al
je 0x1401072a4
mov qword [rsi + 0x58], r11
mov qword [rsi + 0x60], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov rax, qword [rdi + 0x50]
mov qword [rsi + 0x50], rax
mov eax, 0x81d2be69
nop dword [rax]
mov edx, dword [0x140225560]
mov r8d, dword [0x140225564]
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, r9d
or r9d, edx
not r9d
imul r9d, r10d
mov r10d, edx
and r10d, r8d
or edx, r8d
imul edx, r10d
add edx, r9d
and edx, 0x8edd761f
xor edx, 0x88110208
imul rdx, rax
shr rdx, 0x3e
mov qword [rsi + 0x58], r11
mov qword [rsi + 0x60], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi + 0x20], xmm2
movups xmmword [rsi + 0x30], xmm3
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov r8, qword [rdi + 0x50]
mov qword [rsi + 0x50], r8
cmp edx, 0xeb5de069
ja 0x1401072b0
nop dword [rax]
mov eax, dword [0x140225568]
xor eax, dword [0x14022556c]
mov edx, eax
not edx
and edx, 0x4e73fe6b
mov r8d, eax
and r8d, 0xb18c0194
imul r8d, edx
mov edx, eax
and edx, 0x4e73fe6b
or eax, 0x4e73fe6b
imul eax, edx
add eax, r8d
mov edx, eax
or edx, 0x480a02da
not eax
or eax, 0xb7f5fd25
and eax, edx
not eax
add eax, 0x33e2a05f
cmp eax, 0xe1acd5f4
ja 0x140107340
xor eax, eax
test al, al
je 0x1401073cc
jmp 0x1401073fa
mov eax, dword [0x140225578]
add eax, dword [0x14022557c]
or eax, 0xdd6127a4
mov ecx, 0xec220d25
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x9c10aab4
cmp ecx, 0x976b0228
jne 0x140107417
jmp 0x140107444
mov eax, dword [0x140225570]
xor edx, edx
div dword [0x140225574]
xor eax, 0x2a58c0f1
add eax, 0xeeb95fda
not eax
or eax, 0xc17c0b50
mov qword [rsi + 0x68], rbx
mov qword [rsi + 0x70], rcx
cmp eax, 0xa7c76f44
jae 0x140107404
mov qword [rsi + 0x68], rbx
mov qword [rsi + 0x70], rcx
jmp 0x1401073cc
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x140225580]
sub eax, dword [0x140225584]
mov ecx, eax
and ecx, 0x2fdcac5
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xa43fcdb4
or eax, 0x7e0677b3
ud2
ud2