Function at 0x1401a75a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov eax, dword [0x1415a3b58]
mov edx, dword [0x1415a3b5c]
add eax, edx
add eax, 0xdc7bc264
mov edx, 0xb8da2765
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xc0cf1706
ja 0x1401a762b
mov eax, dword [0x1415a3b60]
or eax, dword [0x1415a3b64]
add eax, 0x2725e539
mov edx, eax
and edx, 0x9c510920
or eax, 0x9c510920
add edx, eax
add edx, 0xad3c427d
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
cmp edx, 0xd2533805
jbe 0x1401a7647
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov eax, 0x40
call fcn.14020e090
sub rsp, rax
jmp 0x1401a75dd
mov rdi, qword [rcx]
nop word [rax + rax]
mov eax, dword [0x1415a3b68]
and eax, dword [0x1415a3b6c]
cmp eax, 0x12b21f7a
je 0x1401a7650
mov rax, qword [rcx + 8]
mov qword [rbp - 0x20], rax
mov rsi, qword [rcx + 0x18]
movzx edx, word [rsi + 0x3d2]
mov rax, qword [rcx + 0x28]
mov qword [rbp - 0x30], rax
movzx r8d, word [rax + 0x3d2]
mov qword [rbp - 0x10], rdx
lea r12, [rdx + 1]
mov eax, r8d
and eax, r12d
mov rdx, r12
mov qword [rbp], r8
xor rdx, r8
mov r8, qword [rcx + 0x20]
mov qword [rbp - 0x38], r8
lea r9, [rdx + rax*2]
nop word [rax + rax]
mov eax, dword [0x1415a3b70]
mov edx, dword [0x1415a3b74]
not edx
mov r8d, eax
or r8d, edx
and edx, eax
not edx
and edx, r8d
mov eax, edx
not eax
and edx, 0x4c8e94c3
mov r8d, eax
and r8d, 0xb3716b3c
imul r8d, edx
mov edx, eax
and edx, 0x4c8e94c3
or eax, 0x4c8e94c3
imul eax, edx
add eax, r8d
add eax, 0x178e59fe
mov edx, eax
not edx
or edx, 0xc542d81c
or eax, 0x3abd27e3
and eax, edx
cmp eax, 0xd48505d4
ja 0x1401a76b0
cmp r9d, 0xc
jae 0x1401a7e48
movzx r8d, word [rdi + 0x3d2]
mov qword [rbp - 0x18], r8
mov r14, qword [rcx + 0x10]
mov qword [rbp - 8], r14
mov qword [rbp - 0x28], r9
mov word [rsi + 0x3d2], r9w
imul rax, r14, 0x38
lea rcx, [rdi + rax]
add rcx, 0x168
mov rdx, qword [rdi + rax + 0x198]
mov qword [rbx + 0x30], rdx
movups xmm0, xmmword [rdi + rax + 0x168]
movups xmm1, xmmword [rdi + rax + 0x178]
movups xmm2, xmmword [rdi + rax + 0x188]
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
lea r13, [r14 + 1]
lea rdx, [rdi + rax]
add rdx, 0x1a0
movabs rax, 0xad7c9e573cab547d
xor r14, rax
not r14
xor r14, rax
add r14, r8
imul r8, r14, 0x38
sub rsp, 0x20
call fcn.14021bb50
add rsp, 0x20
imul rax, qword [rbp - 0x10], 0x38
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmm2, xmmword [rbx + 0x20]
movups xmmword [rsi + rax + 0x168], xmm0
movups xmmword [rsi + rax + 0x178], xmm1
movups xmmword [rsi + rax + 0x188], xmm2
mov rcx, qword [rbx + 0x30]
mov qword [rsi + rax + 0x198], rcx
mov rbx, qword [rbp - 0x30]
lea rdx, [rbx + 0x168]
imul rax, r12, 0x38
lea rcx, [rsi + rax]
add rcx, 0x168
mov r8, qword [rbp]
mov eax, r8d
not eax
and eax, 0x38
mov r9d, r8d
and r9d, 0xffffffc7
imul r9, rax
mov eax, r8d
and eax, 0x38
or r8, 0x38
imul r8, rax
add r8, r9
sub rsp, 0x20
call fcn.14021bb50
add rsp, 0x20
mov rax, qword [rbp - 8]
shl rax, 5
lea rcx, [rdi + rax]
movups xmm0, xmmword [rdi + rax]
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm1
mov rdx, r13
shl rdx, 5
add rdx, rdi
mov r8, r14
shl r8, 5
sub rsp, 0x20
call fcn.14021bb50
add rsp, 0x20
mov rax, qword [rbp - 0x10]
shl rax, 5
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rsi + rax], xmm0
movups xmmword [rsi + rax + 0x10], xmm1
mov rcx, r12
shl rcx, 5
add rcx, rsi
mov r8, qword [rbp]
shl r8, 5
sub rsp, 0x20
mov rdx, rbx
call fcn.14021bb50
add rsp, 0x20
mov rax, qword [rbp - 8]
lea r15, [rdi + rax*8]
add r15, 0x3e0
lea rdx, [rdi + rax*8]
add rdx, 0x3e8
shl r14, 3
sub rsp, 0x20
mov rcx, r15
mov r8, r14
call fcn.14021bb50
mov r11, qword [rbp - 0x18]
add rsp, 0x20
cmp r13, r11
jae 0x1401a7b68
nop word [rax + rax]
mov eax, dword [0x1415a3b90]
sub eax, dword [0x1415a3b94]
mov ecx, eax
not ecx
or ecx, 0x12408c18
or eax, 0x4001201
and ecx, 0x9bd88cd8
and eax, 0x64005203
or eax, ecx
xor eax, 0x6d8123a6
cmp eax, 0x9fb7f239
ja 0x1401a78f0
mov r14, qword [rbp - 8]
mov rcx, r14
not rcx
lea rax, [rcx + r11]
lea rdx, [r11 - 2]
xor r8d, r8d
nop dword [rax]
test r8b, r8b
jne 0x1401a7940
xor r14, rdx
and rcx, rdx
add rcx, rcx
and rax, 3
je 0x1401a7985
xor edx, edx
mov r8, r13
nop dword [rax]
inc r8
mov r9, qword [r15 + rdx*8]
mov qword [r9 + 0x160], rdi
lea r10d, [rdx + r13]
mov word [r9 + 0x3d0], r10w
inc rdx
cmp rax, rdx
jne 0x1401a7960
add r13, rdx
sub rcx, r14
mov eax, dword [0x1415a3b98]
xor edx, edx
div dword [0x1415a3b9c]
mov eax, 0xd097b5d1
nop dword [rax + rax]
mov edx, dword [0x1415a3ba0]
mov r8d, dword [0x1415a3ba4]
mov r9d, edx
not r9d
or r9d, r8d
not r8d
or r8d, edx
not r8d
not r9d
or r9d, r8d
xor r9d, 0x408e420b
or r9d, 0xb1701840
imul r9, rax
shr r9, 0x3e
cmp r9d, 0x1404819e
ja 0x1401a79a0
cmp rcx, 3
jb 0x1401a7b68
nop
mov eax, dword [0x1415a3ba8]
add eax, dword [0x1415a3bac]
not eax
or eax, 0x9ea057cf
mov ecx, eax
not ecx
and eax, 0xba289ea1
mov edx, ecx
and edx, 0x41572010
imul edx, eax
mov eax, ecx
and eax, 0x20088820
or ecx, 0xba289ea1
imul ecx, eax
add ecx, edx
imul rax, rcx, 0x51ae7a37
shr rax, 0x3b
cmp eax, 0x6a06a223
jbe 0x1401a7ac0
mov rax, qword [rdi + r13*8 + 0x3d8]
mov qword [rax + 0x160], rdi
mov word [rax + 0x3d0], r13w
mov rax, qword [rdi + r13*8 + 0x3e0]
mov qword [rax + 0x160], rdi
lea ecx, [r13 + 1]
mov word [rax + 0x3d0], cx
mov rax, 0xfffffffffffffffd
sub rax, r13
mov rcx, qword [rdi + r13*8 + 0x3e8]
mov qword [rcx + 0x160], rdi
lea edx, [r13 + 2]
mov word [rcx + 0x3d0], dx
shl rax, 3
neg rax
mov rax, qword [rdi + rax + 0x3d8]
mov qword [rax + 0x160], rdi
lea ecx, [r13 + 3]
mov word [rax + 0x3d0], cx
nop word cs:[rax + rax]
mov eax, dword [0x1415a3bb0]
and eax, dword [0x1415a3bb4]
imul rax, rax, 0x2fd2498b
shr rax, 0x3c
add eax, 0xf6228202
mov ecx, r13d
and ecx, 1
mov rdx, r13
xor rdx, 1
lea r8d, [r13 + 2]
lea r9d, [r13 + 3]
lea rcx, [rdx + rcx*2]
mov rdx, qword [rdi + r13*8 + 0x3d8]
mov qword [rdx + 0x160], rdi
mov word [rdx + 0x3d0], r13w
mov rdx, qword [rdi + rcx*8 + 0x3d8]
mov qword [rdx + 0x160], rdi
mov word [rdx + 0x3d0], cx
mov rcx, qword [rdi + r13*8 + 0x3e8]
mov qword [rcx + 0x160], rdi
mov word [rcx + 0x3d0], r8w
mov rcx, qword [rdi + r13*8 + 0x3f0]
mov qword [rcx + 0x160], rdi
mov word [rcx + 0x3d0], r9w
cmp eax, 0xa927b033
jb 0x1401a7ac0
add r13, 4
cmp r13, r11
jne 0x1401a79f0
dec word [rdi + 0x3d2]
mov rdi, qword [rbp - 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x1415a3bb8]
mov ecx, dword [0x1415a3bbc]
mov edx, ecx
not edx
or edx, eax
not eax
or eax, ecx
not edx
not eax
or eax, edx
add eax, 0x8db55ab
or eax, 0xbb2af36a
imul rax, rax, 0xfca6861
shr rax, 0x3b
cmp eax, 0xe6824103
ja 0x1401a7b80
cmp qword [rbp - 0x20], 2
jb 0x1401a7dc1
lea rcx, [rsi + r12*8]
add rcx, 0x3d8
lea rdx, [rbx + 0x3d8]
mov r14, qword [rbp]
lea r8, [r14*8 + 8]
sub rsp, 0x20
call fcn.14021bb50
add rsp, 0x20
mov eax, r14d
xor eax, 1
lea ecx, [rax + r14*2]
and ecx, 3
mov eax, dword [0x1415a3bc0]
xor edx, edx
div dword [0x1415a3bc4]
nop dword [rax]
mov eax, dword [0x1415a3bc8]
xor edx, edx
div dword [0x1415a3bcc]
or eax, 0xd733f252
add eax, 0x41abe1f
cmp eax, 0x2df7aa8d
jb 0x1401a7c10
test rcx, rcx
je 0x1401a7d10
xor r8d, r8d
nop dword [rax + rax]
mov eax, dword [0x1415a3bd0]
mov edx, dword [0x1415a3bd4]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
cmp eax, 0xe8731d05
jne 0x1401a7c90
mov rax, qword [rsi + r12*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r12w
nop
mov eax, dword [0x1415a3bd8]
xor edx, edx
div dword [0x1415a3bdc]
mov edx, eax
not edx
and edx, 0xd9774812
mov r9d, eax
and r9d, 0x2688b7ed
imul r9d, edx
mov edx, eax
and edx, 0xd9774812
or eax, 0xd9774812
imul eax, edx
add eax, r9d
imul rax, rax, 0x55d55d61
shr rax, 0x3e
or eax, 0x3bdaceaa
mov rdx, qword [rsi + r12*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r12w
cmp eax, 0xae3b7de1
je 0x1401a7c90
inc r12
mov eax, r8d
and eax, 1
or r8, 1
add r8, rax
cmp r8, rcx
jne 0x1401a7c40
mov eax, dword [0x1415a3be0]
mov ecx, dword [0x1415a3be4]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add ecx, 0x2e4af0cd
xor ecx, 0x7104edd2
imul rax, rcx, 0x18ba2b7
shr rax, 0x36
cmp eax, 0x44ad80f7
je 0x1401a7d10
cmp word [rbp], 3
jb 0x1401a7dc1
nop dword [rax]
mov rax, qword [rsi + r12*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r12w
mov rax, qword [rsi + r12*8 + 0x3e0]
mov qword [rax + 0x160], rsi
lea ecx, [r12 + 1]
mov word [rax + 0x3d0], cx
mov rax, qword [rsi + r12*8 + 0x3e8]
mov qword [rax + 0x160], rsi
lea ecx, [r12 + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [rsi + r12*8 + 0x3f0]
mov qword [rax + 0x160], rsi
lea rcx, [r12 + 3]
mov word [rax + 0x3d0], cx
add r12, 4
cmp rcx, rdi
jne 0x1401a7d50
mov ecx, dword [0x1415a3be8]
mov edx, dword [0x1415a3bec]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x3d4a3d2f
and ecx, 0xc2b5c2d0
or ecx, r9d
or eax, r8d
and r8d, 0x3d4a3d2f
and edx, 0xc2b5c2d0
or edx, r8d
xor edx, ecx
not eax
or eax, edx
add eax, 0x7a5b98d8
mov ecx, eax
xor ecx, 0x2600a0
xor eax, 0x7f09a25e
mov edx, eax
and edx, 0xfed95f51
and ecx, 0x126a0ae
imul ecx, edx
mov edx, eax
and edx, 0x126a0ae
or eax, 0x126a0ae
imul eax, edx
add eax, ecx
cmp eax, 0x80c97443
jne 0x1401a7ec3
jmp 0x1401a7f35
mov eax, dword [0x1415a3b78]
xor edx, edx
div dword [0x1415a3b7c]
or eax, 0x7c2cb410
add eax, 0xe6e346b2
or eax, 0xa194a125
cmp eax, 0x414c0064
je 0x1401a7e8b
mov eax, dword [0x1415a3b80]
add eax, dword [0x1415a3b84]
xor eax, 0x79d2d3a6
add eax, 0x8d2c0c36
ud2
ud2
mov eax, dword [0x1415a3bf0]
xor eax, dword [0x1415a3bf4]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x7c567528
and ecx, 0x83a98ad7
imul ecx, edx
mov edx, eax
and edx, 0x83a98ad7
or eax, 0x83a98ad7
imul eax, edx
add eax, ecx
imul rax, rax, 0x80390ed
shr rax, 0x3a
mov ecx, eax
and ecx, 0xfffffffe
add ecx, ecx
neg ecx
lea edi, [rax + rcx]
add edi, 0xf43ddb36
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp edi, 0x2c3b36f9
jae 0x1401a7f53
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call fcn.14020ae70
add rsp, 0x20
jmp 0x1401a7ec3
mov eax, dword [0x1415a3bf8]
xor edx, edx
div dword [0x1415a3bfc]
mov ecx, 0xff3c4933
nop word cs:[rax + rax]
mov eax, dword [0x1415a3c00]
xor edx, edx
div dword [0x1415a3c04]
imul eax, eax, 0xc8a94768
add eax, 0xb1e02418
imul rax, rcx
shr rax, 0x3b
cmp eax, 0xa477655
ja 0x1401a7f70
nop dword [rax + rax]
mov eax, dword [0x1415a3c08]
and eax, dword [0x1415a3c0c]
imul eax, eax, 0xb15f20c2
add eax, 0x4928a484
xor eax, 0xb3bc25d7
cmp eax, 0xce766225
jb 0x1401a7fa0
mov rax, rsi
mov rdx, qword [rbp - 0x38]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret