Function at 0x1400be980
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 rbx, r8
mov r14, rdx
mov qword [rbp], rcx
xor eax, eax
test al, al
je 0x1400be9b2
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov ecx, 0x923b1195
nop word [rax + rax]
mov edx, dword [0x14021edf8]
sub edx, dword [0x14021edfc]
imul rdx, rcx
shr rdx, 0x3f
xor edx, 0xa351f3c5
add edx, 0x1e54546c
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
cmp edx, 0xd8edded9
ja 0x1400be9c0
mov r13, rbx
mov r15d, 2
inc r13
je 0x1400beb3b
nop word [rax + rax]
mov eax, dword [0x14021ee00]
add eax, dword [0x14021ee04]
imul rax, rax, 0x4c99116d
shr rax, 0x3e
or eax, 0x18220e16
cmp eax, 0xccdf0f68
ja 0x1400bea10
mov rax, r13
shr rax, 0x3e
jne 0x1400beb90
lea r12, [r13*2]
movzx eax, byte [0x14022cb78]
mov eax, dword [str.7yYz]
mov ecx, dword [0x14021ee14]
mov edx, eax
or edx, ecx
not edx
not eax
not ecx
and ecx, eax
or ecx, edx
not ecx
or ecx, 0x645969f1
add ecx, 0xfe7a8e52
cmp ecx, 0x5c84e77e
jae 0x1400beaa0
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.140107940
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14021ee18]
sub eax, dword [0x14021ee1c]
imul esi, eax, 0xff11719d
add esi, 0xea95a789
or esi, 0xfe458ee4
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
call fcn.140107940
add rsp, 0x20
cmp esi, 0x650c601c
jb 0x1400beaa0
mov r15, rax
nop dword [rax + rax]
mov eax, dword [0x14021ee20]
mov ecx, dword [0x14021ee24]
not eax
not ecx
and ecx, eax
not ecx
imul rax, rcx, 0x37dd7875
shr rax, 0x3b
add eax, 0xfa1f5762
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x21c0444
and ecx, 0x4c0088b
imul ecx, edx
mov edx, eax
and edx, 0xf803532b
or eax, 0xfcc35bab
imul eax, edx
add eax, ecx
cmp eax, 0x981c6f6f
je 0x1400beae0
test r15, r15
je 0x1400bebcd
mov eax, dword [0x14021ee38]
xor edx, edx
div dword [0x14021ee3c]
add eax, 0xd3aec460
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x19b7b485
and ecx, 0xe6484b7a
imul ecx, edx
mov edx, eax
and edx, 0xe6484b7a
or eax, 0xe6484b7a
imul eax, edx
add eax, ecx
imul rax, rax, 0x5bc4d3a3
shr rax, 0x3b
cmp eax, 0xb19ece64
jbe 0x1400bec7d
jmp 0x1400becdb
ud2
mov eax, dword [0x14021ee28]
sub eax, dword [0x14021ee2c]
not eax
or eax, 0xd262cab5
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x10c150a
and eax, 0xfe9168e5
imul eax, edx
mov edx, ecx
and edx, 0x2c912040
or ecx, 0xfe9168e5
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0x64cf860a
and ecx, 0x1b3079f4
add ecx, ecx
sub ecx, eax
cmp ecx, 0x44ad9ab0
jne 0x1400bec30
ud2
mov eax, dword [0x14021ee30]
xor edx, edx
div dword [0x14021ee34]
and eax, 0xd9236db8
mov ecx, 0xd5fdd974
sub ecx, eax
add eax, 0x2a02268b
and ecx, 0x994b3284
mov edx, eax
and edx, 0x6224cd7b
imul edx, ecx
mov ecx, eax
and ecx, 0x99033280
or eax, 0x994b3284
imul eax, ecx
add eax, edx
ud2
mov eax, dword [0x14021ee40]
xor edx, edx
div dword [0x14021ee44]
or eax, 0xf948f594
imul rsi, rax, 0x74425d25
shr rsi, 0x3d
and esi, 1
mov qword [rdi], r13
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], 0
lea rax, [r14 + rbx]
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], rax
mov word [rbp - 8], 0
sub rsp, 0x20
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.1400bf6e0
add rsp, 0x20
cmp esi, 0x877a2dd5
jne 0x1400bed15
mov qword [rdi], r13
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], 0
lea rax, [r14 + rbx]
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], rax
mov word [rbp - 8], 0
sub rsp, 0x20
lea rdx, [rbp - 0x18]
mov rcx, rdi
call fcn.1400bf6e0
add rsp, 0x20
jmp 0x1400bec7d
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
mov r8, r14
mov rcx, rbx
cmp r14, 8
jb 0x1400bf257
xor r9d, r9d
mov r10d, 0x8149c541
mov r11d, 0xd82cc1a7
mov rcx, rbx
mov r8, r14
nop word cs:[rax + rax]
mov eax, dword [0x14021ee58]
xor edx, edx
div dword [0x14021ee5c]
mov edx, eax
not edx
and edx, 0xaa2565d6
and eax, 0x55da9a29
sub eax, edx
imul rax, rax, 0x33c31ae1
shr rax, 0x3d
or eax, 0xb0829e72
cmp eax, 0x9d038169
je 0x1400bed50
cmp word [rcx], 0
je 0x1400bf31d
movzx eax, word [rcx + 2]
nop word cs:[rax + rax]
mov edx, dword [0x14021ee64]
mov esi, edx
xor esi, edx
not esi
and esi, dword [0x14021ee60]
xor esi, edx
cmp esi, 0x6981623b
je 0x1400beda0
test ax, ax
je 0x1400bf31d
test r9b, r9b
jne 0x1400bedc5
mov eax, dword [0x14021ee68]
mov edx, dword [0x14021ee6c]
mov esi, edx
not esi
mov r15d, eax
and r15d, esi
or esi, eax
not esi
imul esi, r15d
mov r15d, eax
and r15d, edx
or eax, edx
imul eax, r15d
add eax, esi
imul eax, eax, 0xef3ba20c
add eax, 0xab0a3f68
cmp eax, 0xba47db8c
ja 0x1400bedca
cmp word [rcx + 4], 0
je 0x1400bf31d
mov eax, dword [0x14021ee70]
xor edx, edx
div dword [0x14021ee74]
nop word cs:[rax + rax]
mov eax, dword [0x14021ee78]
mov edx, dword [0x14021ee7c]
mov esi, eax
not esi
and esi, edx
mov r15d, edx
not r15d
and r15d, eax
imul r15d, esi
mov esi, eax
and esi, edx
or eax, edx
imul eax, esi
add eax, r15d
mov edx, eax
and edx, 0x1f9c02c
and eax, 0x179c008
add eax, eax
sub edx, eax
add edx, 0xfd7dd708
mov eax, edx
not eax
and eax, 0x7f9ddb4
and edx, 0xd0062248
sub edx, eax
cmp edx, 0xe6bb1297
ja 0x1400bee30
mov eax, dword [0x14021ee80]
mov edx, dword [0x14021ee84]
mov esi, eax
and esi, edx
or eax, edx
add eax, esi
imul rax, r10
shr rax, 0x3f
imul eax, eax, 0xbca26328
mov edx, eax
and edx, 0x755e8138
add edx, edx
neg edx
add eax, edx
add eax, 0x755e813b
cmp eax, 0xbac748e1
ja 0x1400bee8b
cmp word [rcx + 6], 0
je 0x1400bf31d
movzx r15d, word [rcx + 8]
mov eax, dword [0x14021ee88]
xor edx, edx
div dword [0x14021ee8c]
nop word cs:[rax + rax]
mov eax, dword [0x14021ee90]
mov edx, dword [0x14021ee94]
mov esi, eax
xor esi, edx
not esi
or eax, edx
and eax, esi
add eax, 0xb4fd026b
mov edx, eax
not edx
mov esi, eax
and esi, 0xda595b36
and edx, 0x25a6a4c9
imul edx, esi
mov esi, eax
and esi, 0x25a6a4c9
or eax, 0x25a6a4c9
imul eax, esi
add eax, edx
cmp eax, 0x1ef79dbc
je 0x1400beef0
test r15w, r15w
je 0x1400bf31d
nop word cs:[rax + rax]
mov eax, dword [0x14021ee98]
and eax, dword [0x14021ee9c]
add eax, 0x93ca06f6
imul rax, rax, 0x10e5e1c5
shr rax, 0x3c
cmp eax, 0x65d785f7
je 0x1400bef50
movzx r15d, word [rcx + 0xa]
mov eax, dword [0x14021eea0]
xor edx, edx
div dword [0x14021eea4]
nop word cs:[rax + rax]
mov eax, dword [0x14021eea8]
or eax, dword [0x14021eeac]
mov edx, eax
not edx
mov esi, eax
and esi, 0x4ddb9db5
and edx, 0xb224624a
imul edx, esi
mov esi, eax
and esi, 0xb224624a
or eax, 0xb224624a
imul eax, esi
add eax, edx
mov edx, eax
xor edx, 0x3e5bbbac
or eax, 0xc1a44452
and eax, edx
add eax, 0x18b2814c
cmp eax, 0xbdaafd5b
ja 0x1400bef90
test r15w, r15w
je 0x1400bf31d
nop dword [rax + rax]
mov eax, dword [0x14021eeb0]
xor edx, edx
div dword [0x14021eeb4]
add eax, 0xeabbf1b9
mov edx, eax
not edx
or edx, 0x251f5bd4
xor edx, 0xb3d1a6f7
and eax, 0x12c0a423
add eax, eax
sub eax, edx
cmp eax, 0x21eb39ca
je 0x1400beff0
nop word cs:[rax + rax]
mov eax, dword [0x14021eeb8]
or eax, dword [0x14021eebc]
imul rax, r11
shr rax, 0x3d
lea edx, [rax - 0x29fed0e8]
mov esi, eax
not esi
and esi, 0x8280066
mov r15d, edx
and r15d, 0x16010419
imul r15d, esi
and edx, 0xc0002b06
or eax, 0xde292f7e
imul eax, edx
add eax, r15d
cmp eax, 0xa9f82025
je 0x1400bf030
movzx eax, word [rcx + 0xc]
mov edx, dword [0x14021eec0]
sub edx, dword [0x14021eec4]
or edx, 0xba199ac1
cmp edx, 0xd8621148
je 0x1400bf07e
test ax, ax
je 0x1400bf31d
mov eax, dword [0x14021eec8]
add eax, dword [0x14021eecc]
mov edx, eax
not edx
or edx, 0x9000
or eax, 0x5410060
and eax, edx
or eax, 0xfabe6f9f
cmp eax, 0x89cbbe7
jb 0x1400bf0a1
mov eax, dword [str._l9f]
xor edx, edx
div dword [0x14021eed4]
mov eax, dword [0x14021eed8]
and eax, dword [0x14021eedc]
mov edx, eax
xor edx, 0x995ef695
add edx, eax
and eax, 0x66a1096a
sub edx, eax
add edx, 0x4aadd7fc
imul rax, rdx, 0x34cdd079
shr rax, 0x3d
cmp eax, 0x7dc2087e
je 0x1400bf0d8
movzx eax, word [rcx + 0xe]
nop word cs:[rax + rax]
mov esi, dword [0x14021eee0]
mov r15d, dword [0x14021eee4]
mov edx, esi
not edx
mov r12d, r15d
not r12d
mov r13d, edx
and r13d, 0x6512b570
and esi, 0x1aed4a8f
or esi, r13d
or edx, r12d
and r12d, 0x6512b570
and r15d, 0x1aed4a8f
or r15d, r12d
xor r15d, esi
not edx
or edx, r15d
add edx, 0x89567495
or edx, 0x874d99a8
add edx, 0xf39db33a
cmp edx, 0xf3e8c8b0
ja 0x1400bf120
test ax, ax
je 0x1400bf31d
nop dword [rax]
mov eax, dword [0x14021eee8]
sub eax, dword [0x14021eeec]
mov edx, eax
not edx
mov esi, eax
and esi, 0xa8a3441c
and edx, 0x575cbbe3
imul edx, esi
mov esi, eax
and esi, 0x575cbbe3
or eax, 0x575cbbe3
imul eax, esi
add eax, edx
add eax, 0xa7eef8e7
mov edx, eax
or edx, 0xe62c66c7
not eax
or eax, 0x19d39938
and eax, edx
cmp eax, 0xf6313a7
je 0x1400bf190
add r8, 0xfffffffffffffff8
nop word cs:[rax + rax]
test r9b, r9b
jne 0x1400bf1f0
add rcx, 0x10
mov eax, dword [0x14021eef0]
xor edx, edx
div dword [0x14021eef4]
nop word [rax + rax]
mov eax, dword [0x14021eef8]
mov edx, dword [0x14021eefc]
mov esi, edx
not esi
and esi, eax
xor edx, eax
add edx, eax
sub edx, esi
mov eax, edx
not eax
and eax, 0x719b06d0
and edx, 0x8e64f92f
sub edx, eax
add edx, 0x2216ae2f
xor edx, 0x690be954
cmp edx, 0x9aa8c77
jb 0x1400bf210
cmp r8, 7
ja 0x1400bed50
mov edx, 0xd609b53b
lea rax, [rcx + r8*2]
mov r8d, dword [0x14021ee48]
mov r9d, dword [0x14021ee4c]
mov r10d, r8d
xor r10d, r9d
not r9d
and r9d, r8d
add r9d, r9d
sub r9d, r10d
or r9d, 0x82b8c101
imul r9, rdx
shr r9, 0x3e
imul r8d, r9d, 0xaaa9bbe2
cmp r8d, 0x3f26b86f
jb 0x1400bf260
xor edx, edx
nop word cs:[rax + rax]
cmp rcx, rax
je 0x1400bf572
mov r8d, dword [0x14021ee50]
add r8d, dword [0x14021ee54]
mov r9d, r8d
or r9d, 0x527dd74a
not r8d
and r8d, 0x20802000
mov r10d, r9d
and r10d, 0x9d470ab5
or r10d, r8d
xor r10d, 0xaf2a6092
and r9d, 0xcd9295d8
or r9d, r10d
cmp r9d, 0xde6bf3aa
je 0x1400bf2b9
lea r8, [rcx + 2]
nop word cs:[rax + rax]
test dl, dl
jne 0x1400bf310
cmp word [rcx], 0
mov rcx, r8
jne 0x1400bf2b0
movabs rax, 0x8000000000000000
mov ecx, dword [0x14021ef00]
mov edx, dword [0x14021ef04]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
add ecx, 0xba12866a
cmp ecx, 0x1ab0d2ab
mov r10, qword [rbp]
jae 0x1400bf35e
lea rcx, str.ju__
mov qword [r10 + 8], rcx
mov qword [r10], rax
lea rcx, str.ju__
nop word cs:[rax + rax]
mov edx, dword [0x14021ef08]
sub edx, dword [0x14021ef0c]
mov r8d, edx
not r8d
and r8d, 0x7353b974
mov r9d, edx
and r9d, 0x8cac468b
imul r9d, r8d
mov r8d, edx
and r8d, 0x7353b974
or edx, 0x7353b974
imul edx, r8d
add edx, r9d
add edx, 0xbaf69c4e
and edx, 0xf6478dd4
mov qword [r10 + 8], rcx
mov qword [r10], rax
cmp edx, 0x97357b62
je 0x1400bf370
mov rax, qword [rdi]
xor ecx, ecx
nop
test cl, cl
jne 0x1400bf3d0
test rax, rax
je 0x1400bf550
mov eax, dword [0x14021ef10]
imul eax, dword [0x14021ef14]
and eax, 0xaa1fb17c
imul eax, eax, 0x591d803c
cmp eax, 0x83cec934
jne 0x1400bf410
mov rax, qword [0x14022cb48]
nop word cs:[rax + rax]
mov eax, dword [0x14021ef18]
mov ecx, dword [0x14021ef1c]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
xor ecx, 0x196d02e5
and eax, 0x188987e4
or eax, ecx
mov ecx, eax
and ecx, 0xe000729e
mov edx, ecx
not edx
and edx, 0x2a4011cf
mov r8d, eax
and r8d, 0xc0006210
imul r8d, edx
and eax, 0x2000108e
or ecx, 0x2a4011cf
imul ecx, eax
add ecx, r8d
mov rsi, qword [0x14022cb48]
cmp ecx, 0x74b80839
jb 0x1400bf410
mov eax, dword [0x14021ef20]
mov ecx, dword [0x14021ef24]
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
imul eax, eax, 0xe9fd605
add eax, 0xbc685aba
mov ecx, eax
not ecx
and ecx, 0xa7dccb71
mov edx, eax
and edx, 0x5823348e
imul edx, ecx
mov ecx, eax
and ecx, 0xa7dccb71
or eax, 0xa7dccb71
imul eax, ecx
add eax, edx
cmp eax, 0xc8419c9f
jbe 0x1400bf4ed
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rbx
call fcn.14014eed0
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x14021ef28]
mov r14d, dword [0x14021ef2c]
not r14d
mov ecx, eax
or ecx, r14d
and r14d, eax
not r14d
and r14d, ecx
not r14d
add r14d, 0x866673c1
and r14d, 0xc82f69ac
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, rbx
call rdi
add rsp, 0x20
cmp r14d, 0xa389eff9
jb 0x1400bf500
nop word [rax + rax]
mov eax, dword [0x14021ef30]
add eax, dword [0x14021ef34]
or eax, 0x3d2a0022
add eax, 0x54b73f84
cmp eax, 0x5da6c2d
jb 0x1400bf550
jmp 0x1400bf643
mov ecx, 0x82f1bec7
nop word [rax + rax]
mov eax, dword [0x14021ef38]
xor edx, edx
div dword [0x14021ef3c]
add eax, 0x32b5a0e4
imul rax, rcx
shr rax, 0x3c
or eax, 0x491bfcb3
cmp eax, 0x31d6e7e3
je 0x1400bf580
mov rax, qword [rdi]
nop word [rax + rax]
mov ecx, dword [0x14021ef40]
sub ecx, dword [0x14021ef44]
xor ecx, 0x20a10000
and ecx, 0xe4ab0d62
imul ecx, ecx, 0x53e28e36
cmp ecx, 0x506962c3
jb 0x1400bf5b0
cmp r14, rax
jne 0x1400bf627
sub rsp, 0x20
mov rcx, rdi
call fcn.14012eba0
add rsp, 0x20
mov ecx, 0x885b64ab
mov eax, dword [0x14021ef50]
xor edx, edx
div dword [0x14021ef54]
mov edx, eax
not edx
or edx, 0x1a78279e
or eax, 0xcc334d49
and eax, edx
and eax, 0xde7b6fdf
imul rax, rcx
shr rax, 0x3c
cmp eax, 0x2443c38b
ja 0x1400bf5f0
mov rbx, qword [rdi + 8]
mov word [rbx + r14*2], 0
inc r14
mov qword [rdi + 0x10], r14
mov rax, qword [rbp]
mov qword [rax + 0x10], r14
movups xmm0, xmmword [rdi]
movups xmmword [rax], xmm0
mov eax, 0xe3c66ad1
nop dword [rax + rax]
mov ecx, dword [0x14021ef48]
mov edx, dword [0x14021ef4c]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
mov edx, ecx
not edx
mov r8d, ecx
or r8d, 0xcc4cf9ce
mov r9d, r8d
and r9d, 0xd26ef4a8
and edx, 0x21910211
imul edx, r9d
and r8d, 0x2d910b57
or ecx, 0xedddfbdf
imul ecx, r8d
add ecx, edx
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xa99936a0
je 0x1400bf650
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret