Function at 0x1400bf6e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x14021ef58]
and eax, dword [0x14021ef5c]
mov ecx, eax
not ecx
or eax, 0x749eac25
and ecx, 0x88615250
mov r8d, eax
and r8d, 0x2314098a
or r8d, ecx
xor r8d, 0x44014140
and eax, 0x98eab735
or eax, r8d
cmp eax, 0xb9ecc162
je 0x1400bf700
movzx r14d, word [rdx + 0x10]
mov r12, qword [rdx]
mov qword [rsp + 0x30], rdx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x28], rax
nop word cs:[rax + rax]
mov eax, dword [0x14021ef60]
xor edx, edx
div dword [0x14021ef64]
shr eax, 1
imul rax, rax, 0x1d9064fb
shr rax, 0x37
mov ecx, eax
not ecx
or eax, 0x9010a041
or ecx, 0x9010a050
and ecx, eax
not ecx
or ecx, 0x490d5cae
cmp ecx, 0x54efc564
jb 0x1400bf760
xor r9d, r9d
mov r15d, 0x9d633f93
nop word cs:[rax + rax]
mov eax, dword [0x14021ef68]
xor edx, edx
div dword [0x14021ef6c]
mov r13d, r14d
mov rsi, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov eax, dword [0x14021ef74]
not eax
add eax, dword [0x14021ef70]
imul eax, eax, 0x2233096f
add eax, 0x77022256
or eax, 0x8c051b78
cmp eax, 0x88eff9d
je 0x1400bf7d0
test r13w, r13w
je 0x1400bf850
mov word [rsi + 0x10], 0
nop word cs:[rax + rax]
mov eax, dword [0x14021efe8]
xor r14d, r14d
xor edx, edx
div dword [0x14021efec]
mov ecx, eax
and ecx, 0x77c7c5f0
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xf7c7c5f0
or eax, 0x4abe4688
imul rax, r15
shr rax, 0x3e
cmp eax, 0x6e26d569
ja 0x1400bf810
jmp 0x1400bfe80
mov r8d, 0xb3fe5d87
nop word cs:[rax + rax]
mov eax, dword [0x14021ef78]
mov ecx, dword [0x14021ef7c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
add eax, 0xa0add1ee
mov ecx, eax
xor ecx, 0x152c0040
xor eax, 0x28112800
and eax, 0xea533c06
and ecx, 0x15acc3f9
or ecx, eax
cmp ecx, 0xf2c750eb
je 0x1400bf860
mov eax, dword [0x14021ef80]
xor edx, edx
div dword [0x14021ef84]
mov eax, dword [0x14021ef88]
imul eax, dword [0x14021ef8c]
and eax, 0x795befe9
add eax, 0x45f177f9
imul rax, r8
shr rax, 0x3f
cmp eax, 0xbf703bff
je 0x1400bf8aa
cmp r12, qword [rsp + 0x28]
je 0x1400c00f0
lea rcx, [r12 + 1]
mov qword [rsi], rcx
movzx r8d, byte [r12]
nop dword [rax + rax]
mov eax, dword [0x14021ef90]
xor edx, edx
div dword [0x14021ef94]
imul rdx, rax, 0x22cb5df5
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
or eax, 0x67f3e4ec
cmp eax, 0x5a51638f
jb 0x1400bf8f0
test r8b, r8b
js 0x1400bf9d2
mov eax, dword [0x14021efb0]
or eax, dword [0x14021efb4]
xor eax, 0xd046c938
add eax, 0x1e216d41
imul rax, rax, 0x75376f37
shr rax, 0x3e
cmp eax, 0x545c5e73
ja 0x1400bf927
nop
mov eax, dword [0x14021efb8]
mov edx, dword [0x14021efbc]
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
mov edx, eax
xor edx, 0xc8264df7
add edx, eax
and eax, 0x37d9b208
sub edx, eax
imul eax, edx, 0x30fb5a7f
mov edx, eax
not edx
and edx, 0x2206f6f7
mov r9d, eax
and r9d, 0xddf90908
imul r9d, edx
mov edx, eax
and edx, 0x2206f6f7
or eax, 0x2206f6f7
imul eax, edx
add eax, r9d
cmp eax, 0x7f5f4d31
je 0x1400bf950
mov r13d, r8d
jmp 0x1400bfe20
mov eax, dword [0x14021ef98]
mov ecx, dword [0x14021ef9c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
or ecx, 0x8842036
not eax
and eax, 0x503ac808
and ecx, 0xaf8427f7
or ecx, eax
xor ecx, 0x110dfb15
add ecx, 0xdc4a5771
cmp ecx, 0xd0eb303d
jbe 0x1400bfa20
lea rax, [r12 + 2]
mov qword [rsi], rax
nop word [rax + rax]
lea rcx, [r12 + 2]
mov qword [rsi], rcx
test r9b, r9b
jne 0x1400bfa20
mov eax, r8d
and eax, 0x1f
movzx r10d, byte [r12 + 1]
mov edx, eax
shl edx, 6
and r10d, 0x3f
nop word cs:[rax + rax]
mov r9d, dword [0x14021efa0]
sub r9d, dword [0x14021efa4]
mov r11d, r9d
or r11d, 0x320010d
and r11d, 0xb25392f
or r9d, 0x1bb5396f
add r9d, r11d
mov r11d, r9d
not r11d
mov ebx, r9d
and ebx, 0xbdcb8eea
and r11d, 0x40347110
imul r11d, ebx
mov ebx, r9d
and ebx, 0x42347114
or r9d, 0x42347114
imul r9d, ebx
add r9d, r11d
cmp r9d, 0x8a5bb01b
ja 0x1400bfa50
not edx
mov r13d, r10d
not r13d
and r13d, edx
not r13d
nop word cs:[rax + rax]
mov edx, dword [0x14021efa8]
mov r9d, dword [0x14021efac]
add edx, r9d
add edx, 0xaee79776
cmp edx, 0xa0b2ffb2
ja 0x1400bfad0
cmp r8b, 0xdf
jbe 0x1400bfe20
lea r9, [r12 + 3]
mov qword [rsi], r9
movzx edx, byte [r12 + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
mov ecx, eax
shl ecx, 0xc
nop word cs:[rax + rax]
mov r10d, dword [0x14021efc0]
mov r11d, dword [0x14021efc4]
mov ebx, r10d
not ebx
and ebx, r11d
mov ebp, r11d
not ebp
and ebp, r10d
imul ebp, ebx
mov ebx, r10d
and ebx, r11d
or r10d, r11d
imul r10d, ebx
add r10d, ebp
mov r11d, r10d
xor r11d, 0x74fcec61
or r10d, 0x8b03139e
and r10d, r11d
mov r11d, r10d
not r11d
and r11d, 0x9c2decf
and r10d, 0x363d2130
sub r10d, r11d
or r10d, 0xc4b4135b
cmp r10d, 0xdc0ddfd8
jb 0x1400bfb20
mov r13d, edx
not r13d
mov r10d, ecx
not r10d
mov r11d, r13d
and r11d, 0x1e7a86e9
mov ebx, edx
and ebx, 0x916
or ebx, r11d
or r13d, r10d
and r10d, 0x1e7a86e9
and ecx, 0x17916
or ecx, r10d
xor ecx, ebx
not r13d
or r13d, ecx
mov ecx, dword [0x14021efc8]
add ecx, dword [0x14021efcc]
mov r10d, ecx
and r10d, 0x4dfd828b
xor ecx, 0x4dfd828b
lea ecx, [rcx + r10*2]
imul ecx, ecx, 0x217855c6
cmp ecx, 0x11e0002c
je 0x1400bfbc8
cmp r8b, 0xf0
jb 0x1400bfd68
mov ecx, dword [0x14021efd4]
add ecx, dword [0x14021efd0]
mov r8d, ecx
not r8d
and r8d, 0x10d9350f
mov r10d, ecx
and r10d, 0xef26caf0
imul r10d, r8d
mov r8d, ecx
and r8d, 0x10d9350f
or ecx, 0x10d9350f
imul ecx, r8d
add ecx, r10d
mov r8d, 0xb72ed169
imul rcx, r8
shr rcx, 0x3f
add ecx, 0xc8150849
cmp ecx, 0x9a02593b
jae 0x1400bfc70
lea rcx, [r12 + 4]
mov qword [rsi], rcx
nop word cs:[rax + rax]
mov ecx, dword [0x14021efd8]
mov r8d, dword [0x14021efdc]
mov r10d, ecx
not r10d
and r10d, r8d
not r8d
and r8d, ecx
sub r8d, r10d
mov ecx, r8d
and ecx, 0x56aa3120
xor ecx, 0xa270b38
and r8d, 0x14883000
add r8d, r8d
sub r8d, ecx
or r8d, 0x831658a3
lea rcx, [r12 + 4]
mov qword [rsi], rcx
cmp r8d, 0x14eb9666
je 0x1400bfc70
nop word cs:[rax + rax]
mov r8d, dword [0x14021efe0]
imul r8d, dword [0x14021efe4]
mov r10d, r8d
not r10d
and r10d, 0x6680442b
mov r11d, r8d
and r11d, 0x997fbbd4
imul r11d, r10d
mov r10d, r8d
and r10d, 0x6680442b
or r8d, 0x6680442b
imul r8d, r10d
add r8d, r11d
mov r10d, r8d
not r10d
or r8d, 0x2e102650
and r10d, 0x510c0808
and r8d, 0x2e3177f1
or r8d, r10d
xor r8d, 0xa29906aa
cmp r8d, 0xc3364aaf
jb 0x1400bfcd0
movzx r13d, byte [r9]
shl eax, 0x12
mov r8d, eax
xor r8d, 0xffe3ffff
or eax, 0x1c0000
and eax, r8d
shl edx, 6
and r13d, 0x3f
or r13d, edx
or r13d, eax
jmp 0x1400bfd6b
mov rcx, r9
mov eax, dword [0x14021eff0]
sub eax, dword [0x14021eff4]
mov edx, eax
not edx
and edx, 0xd1f4a944
and eax, 0x2e0b56bb
sub eax, edx
imul rax, rax, 0x711c843f
shr rax, 0x3e
cmp eax, 0xb53bf6c1
je 0x1400bfd6b
cmp r13d, 0xffff
jbe 0x1400bfe20
nop word cs:[rax + rax]
mov eax, dword [0x14021f000]
mov edx, dword [0x14021f004]
not eax
not edx
or edx, eax
not edx
imul rax, rdx, 0x34168151
shr rax, 0x3c
imul eax, eax, 0xb2f1d1c8
cmp eax, 0xffed3cc1
ja 0x1400bfdb0
lea eax, [r13 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
mov edx, r13d
xor edx, 0x2000
or r13d, 0x3ff
and r13d, edx
or r13d, 0xdc00
mov word [rsi + 0x10], r13w
mov r12, rcx
mov r14d, r13d
mov r13d, eax
jmp 0x1400bfe80
mov eax, dword [0x14021eff8]
xor edx, edx
div dword [0x14021effc]
xor r14d, r14d
add eax, 0x653db75a
mov edx, eax
xor edx, 0x10848c00
xor eax, 0xaf5312e7
mov r8d, eax
and r8d, 0x412871fb
and edx, 0xbed78e04
imul edx, r8d
mov r8d, eax
and r8d, 0xbed78e04
or eax, 0xbed78e04
imul eax, r8d
add eax, edx
cmp eax, 0x7604e460
je 0x1400bfe20
mov r12, rcx
nop word cs:[rax + rax]
mov eax, dword [0x14021f008]
xor edx, edx
div dword [0x14021f00c]
imul eax, eax, 0xd47c299c
mov ecx, eax
and ecx, 0xa390a7bc
mov edx, ecx
not edx
mov r8d, eax
and r8d, 0x8190243c
and edx, 0x6a69cbc1
imul edx, r8d
and eax, 0x22008380
or ecx, 0x6a69cbc1
imul ecx, eax
add ecx, edx
cmp ecx, 0x173429a
jb 0x1400bfe80
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
jne 0x1400bfffb
mov eax, dword [0x14021f020]
xor edx, edx
div dword [0x14021f024]
add eax, 0xffce665
mov ecx, eax
not ecx
and ecx, 0xe2cab464
and eax, 0x1d354b9b
sub eax, ecx
or eax, 0x4a8138d4
cmp eax, 0xb16c6c7a
ja 0x1400bfed9
mov rbp, qword [rsp + 0x28]
sub rbp, r12
nop word cs:[rax + rax]
mov eax, dword [0x14021f028]
add eax, dword [0x14021f02c]
mov ecx, eax
xor ecx, 0x40376929
add ecx, eax
and eax, 0xbfc896d6
sub ecx, eax
and ecx, 0xac961603
imul eax, ecx, 0xa914efae
cmp eax, 0x20ac6879
jb 0x1400bff20
mov eax, dword [0x14021f030]
or eax, dword [0x14021f034]
or eax, 0x7308f399
add eax, 0xa31b9778
cmp eax, 0x76f252ca
jb 0x1400c003d
mov eax, dword [0x14021f038]
sub eax, dword [0x14021f03c]
mov ecx, eax
or ecx, 0x6e8d44f9
mov edx, eax
not edx
and edx, 0x91220106
mov r8d, ecx
and r8d, 0x68d4fae9
imul r8d, edx
and ecx, 0x972b0516
or eax, 0xffaf45ff
imul eax, ecx
lea esi, [rax + r8]
add esi, 0x72989d4d
mov rax, rbp
add rax, 3
mov rcx, 0xffffffffffffffff
cmovb rax, rcx
shr rax, 2
cmp r14w, 1
mov ecx, 2
sbb rcx, 0
mov edx, ecx
and edx, eax
xor rcx, rax
lea r8, [rcx + rdx*2]
mov rcx, rdi
mov rdx, rbx
call fcn.140177790
cmp esi, 0x3ce6ff66
jb 0x1400bff71
mov eax, dword [0x14021f010]
xor eax, dword [0x14021f014]
add eax, 0x96b1a7a7
and eax, 0xb2af5381
imul rcx, rax, 0x187d0f89
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x2588f7ec
ja 0x1400bfffb
mov rcx, qword [rdi + 8]
xor r9d, r9d
test r9b, r9b
je 0x1400c0080
jmp 0x1400c00e0
mov r8, rbp
add r8, 3
mov rax, 0xffffffffffffffff
cmovb r8, rax
shr r8, 2
movabs rax, 0xfb00d564c67ef6c4
add r8, rax
cmp r14w, 1
sbb r8, 0
sub r8, rax
add r8, 2
mov rcx, rdi
mov rdx, rbx
call fcn.140177790
jmp 0x1400bff71
mov eax, dword [0x14021f018]
xor edx, edx
div dword [0x14021f01c]
add eax, 0xe3f62068
not eax
or eax, 0x47091408
mov edx, eax
not edx
mov r8d, edx
and r8d, 0x2840a2b1
and eax, 0x94be4d46
imul eax, r8d
mov r8d, edx
and r8d, 0x90b64946
or edx, 0x94be4d46
imul edx, r8d
add edx, eax
lea rax, [rbx + 1]
mov word [rcx + rbx*2], r13w
mov qword [rdi + 0x10], rax
cmp edx, 0xc32616e
jae 0x1400bf7b0
mov word [rcx + rbx*2], r13w
lea rax, [rbx + 1]
mov qword [rdi + 0x10], rax
jmp 0x1400c0080
mov eax, dword [0x14021f040]
mov ecx, dword [0x14021f044]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
xor eax, 0x8213c0
or eax, 0x77116c3a
cmp eax, 0xb5ccada3
je 0x1400c00f0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret