Function at 0x1400fc8e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, qword [rcx]
mov r8, rdx
mov rsi, rcx
nop dword [rax]
mov ecx, dword [0x1415bb4c8]
mov edx, dword [0x1415bb4cc]
mov r9d, edx
not r9d
mov r10d, ecx
and r10d, r9d
or r9d, ecx
not r9d
imul r9d, r10d
mov r10d, ecx
and r10d, edx
or ecx, edx
imul ecx, r10d
add ecx, r9d
or ecx, 0xa89604
and ecx, 0x4cf89605
cmp ecx, 0xd96bb8b8
ja 0x1400fc900
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb4d0]
mov edx, dword [0x1415bb4d4]
mov r9d, edx
not r9d
mov r10d, ecx
and r10d, r9d
or r9d, ecx
not r9d
imul r9d, r10d
mov r10d, ecx
and r10d, edx
or ecx, edx
imul ecx, r10d
add ecx, r9d
and ecx, 0xcfcfc457
imul ecx, ecx, 0xf36cc96a
mov edx, ecx
and edx, 0x1a515508
add edx, edx
neg edx
add ecx, edx
add ecx, 0x9a515509
cmp ecx, 0x82d31f7b
ja 0x1400fc950
test rax, rax
je 0x1400fc9ef
mov r12, qword [rsi + 8]
mov r9, qword [r8]
mov rbx, qword [r8 + 8]
mov r14, qword [r8 + 0x10]
mov r13, qword [r8 + 0x18]
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], rbx
mov eax, dword [0x1415bb4d8]
xor eax, dword [0x1415bb4dc]
mov qword [rsp + 0x48], r14
or eax, 0x2114000
and eax, 0x52114080
cmp eax, 0xee809765
jbe 0x1400fca31
jmp 0x1400fca57
mov rcx, qword [rsi + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb4f0]
xor eax, dword [0x1415bb4f4]
or eax, 0xd37fbffb
imul rax, rax, 0x70e4ba97
shr rax, 0x3e
cmp eax, 0xa3ba55f
ja 0x1400fca00
mov rdx, qword [rsi + 0x28]
call fcn.1400fd630
jmp 0x1400fd390
mov eax, dword [0x1415bb4e0]
mov ecx, dword [0x1415bb4e4]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not eax
and eax, ecx
mov qword [rsp + 0x50], r13
cmp eax, 0x8dc144d0
jne 0x1400fca5e
mov qword [rsp + 0x50], r13
jmp 0x1400fca31
mov edi, dword [rsi + 0x30]
mov ecx, dword [rsi + 0x34]
and ecx, 8
movzx eax, byte [rsi + 0x38]
mov byte [rsp + 0x27], al
nop
mov eax, dword [0x1415bb4e8]
xor edx, edx
div dword [0x1415bb4ec]
mov edx, eax
xor edx, 0x12008200
and edx, eax
and edx, 0x5e1097a3
add edx, 0x87de6cb5
cmp edx, 0x7e72a313
jb 0x1400fca70
test ecx, ecx
mov dword [rsp + 0x34], edi
je 0x1400fcb44
nop dword [rax + rax]
mov eax, dword [0x1415bb4f8]
mov ecx, dword [0x1415bb4fc]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
or eax, 0x778340e7
and eax, 0x7783c0e7
cmp eax, 0x16ac1cd2
je 0x1400fcab0
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
mov rdx, r9
mov r8, rbx
call qword [rax + 0x18]
test al, al
jne 0x1400fd340
mov qword [rsp + 0x38], 1
mov qword [rsp + 0x40], 0
mov rax, r12
sub rax, rbx
mov r12d, 0
cmovae r12, rax
mov dword [rsi + 0x30], 0x30
mov eax, dword [0x1415bb568]
and eax, dword [0x1415bb56c]
add eax, 0xd3631aca
mov ecx, eax
xor ecx, 0x42a64813
and ecx, eax
cmp ecx, 0xd45c189a
jne 0x1400fd283
jmp 0x1400fd2cd
movzx ecx, byte [rsp + 0x27]
lea rax, [r13*2]
add rax, r13
lea r8, [r14 + rax*8]
nop dword [rax + rax]
mov eax, dword [0x1415bb500]
sub eax, dword [str._5y]
mov edx, eax
not edx
and edx, 0x9a40f204
mov r9d, eax
and r9d, 0x65bf0dfb
imul r9d, edx
mov edx, eax
and edx, 0x9a40f204
or eax, 0x9a40f204
imul eax, edx
add eax, r9d
mov edx, eax
not edx
and edx, 0x2dfe9ae8
mov r9d, eax
and r9d, 0xd2016514
imul r9d, edx
mov edx, eax
and edx, 0x2dfe9ae8
or eax, 0x2dfe9ae8
imul eax, edx
add eax, r9d
add eax, 0x4bdea17d
cmp eax, 0xf0b1a5b
jb 0x1400fcb60
test r13, r13
je 0x1400fcfdb
mov r9d, 0xdaba2d95
mov r10d, 0xeb4c780d
nop word cs:[rax + rax]
mov eax, dword [0x1415bb508]
mov edx, dword [0x1415bb50c]
mov r11d, eax
not r11d
and r11d, edx
mov ebp, edx
not ebp
and ebp, eax
imul ebp, r11d
mov r11d, eax
and r11d, edx
or eax, edx
imul eax, r11d
add eax, ebp
mov edx, eax
xor edx, 0xee24bbff
or eax, 0x11db4400
and eax, edx
add eax, 0x1d8b680b
not eax
and eax, 0xa80972ac
cmp eax, 0x22725668
jb 0x1400fcbf0
movzx eax, word [r14]
cmp rax, 1
jg 0x1400fce10
cmp eax, 1
jne 0x1400fced1
mov eax, dword [0x1415bb510]
mov edx, dword [0x1415bb514]
mov r11d, eax
and r11d, edx
or eax, edx
add eax, r11d
mov edx, eax
not edx
and edx, 0x3db1b990
mov r11d, eax
and r11d, 0xc24e466f
imul r11d, edx
mov edx, eax
and edx, 0x3db1b990
or eax, 0x3db1b990
imul eax, edx
add eax, r11d
mov edx, eax
not edx
mov r11d, eax
and r11d, 0x628841a0
and edx, 0x9d77be5a
imul edx, r11d
mov r11d, eax
and r11d, 0x9d77be50
or eax, 0x9d77be5a
imul eax, r11d
add eax, edx
mov edx, eax
xor edx, 0x9f88b66b
and eax, 0x60774980
add eax, eax
sub eax, edx
cmp eax, 0x2f521531
jb 0x1400fcc56
movzx r11d, word [r14 + 2]
nop word cs:[rax + rax]
mov eax, dword [0x1415bb518]
xor edx, edx
div dword [0x1415bb51c]
mov edx, eax
and edx, 0x9b808b25
xor edx, 0x11800a04
and eax, 0x11800a04
or eax, edx
cmp eax, 0xf5bf0ee0
je 0x1400fccf0
movzx eax, r11w
cmp eax, 0x3e8
jae 0x1400fced7
nop dword [rax]
mov eax, dword [0x1415bb540]
xor edx, edx
div dword [0x1415bb544]
imul eax, eax, 0x41c20d4c
add eax, 0x96f2efa0
or eax, 0x9cf4dfe7
cmp eax, 0x97fa11d3
jb 0x1400fcd30
nop word cs:[rax + rax]
mov eax, dword [0x1415bb548]
mov edx, dword [0x1415bb54c]
add eax, edx
add eax, 0xcc4ee683
or eax, 0xfcae47ca
cmp eax, 0xa9452fd1
jb 0x1400fcd60
mov eax, 1
cmp r11w, 0xa
jb 0x1400fcf4c
nop
mov eax, dword [0x1415bb550]
or eax, dword [0x1415bb554]
mov edx, eax
xor edx, 0x6f3c9f44
and eax, 0x10c360bb
add eax, eax
sub eax, edx
cmp eax, 0xdb8cbe4d
je 0x1400fcd90
mov eax, dword [0x1415bb558]
mov edx, eax
not edx
or edx, dword [0x1415bb55c]
add eax, edx
inc eax
imul rax, rax, 0x44f3b521
shr rax, 0x3e
not eax
and eax, 0xe00d6285
imul edx, eax, 0xfffff6bf
not eax
and eax, 0x19821009
imul ebp, eax, 0x6708432
add ebp, edx
cmp r11w, 0x64
mov eax, 3
sbb rax, 0
cmp ebp, 0x88785581
je 0x1400fcdb4
jmp 0x1400fcf4c
mov eax, dword [0x1415bb520]
and eax, dword [0x1415bb524]
mov edx, eax
and edx, 0x20ddc311
xor eax, 0xa0ddc311
lea eax, [rax + rdx*2]
mov edx, eax
or edx, 0x210620
not eax
and eax, 0x899a6054
and edx, 0x72611628
sub edx, eax
cmp edx, 0xa2343368
ja 0x1400fce10
nop dword [rax + rax]
mov eax, dword [0x1415bb528]
sub eax, dword [0x1415bb52c]
xor eax, 0x460a00
or eax, 0xe88994ff
cmp eax, 0x86b41cca
je 0x1400fce50
mov rax, qword [r14 + 0x10]
nop word cs:[rax + rax]
mov edx, dword [0x1415bb530]
sub edx, dword [0x1415bb534]
add edx, 0xca7188fe
mov r11d, edx
not r11d
mov ebp, edx
or ebp, 0xe10829cd
mov r15d, ebp
and r15d, 0x5d91df64
and r11d, 0x2660012
imul r11d, r15d
and ebp, 0xa26e209b
or edx, 0xe36e29df
imul edx, ebp
add edx, r11d
cmp edx, 0x8f7b26b4
ja 0x1400fce80
jmp 0x1400fcf4c
mov rax, qword [r14 + 8]
jmp 0x1400fcf4c
cmp eax, 0x2710
mov eax, 5
sbb rax, 0
nop word cs:[rax + rax]
mov edx, dword [0x1415bb538]
mov r11d, dword [0x1415bb53c]
mov ebp, r11d
not ebp
mov r15d, edx
and r15d, ebp
or ebp, edx
not ebp
imul ebp, r15d
mov r15d, edx
and r15d, r11d
or edx, r11d
imul edx, r15d
add edx, ebp
imul rdx, r9
shr rdx, 0x3f
lea r11d, [rdx + 0x129000]
imul r11d, r11d, 0xe2102e0
or edx, 0xfe33ffe8
imul edx, edx, 0xf0006d08
add edx, r11d
cmp edx, 0xa09ba66a
jae 0x1400fcef0
add r14, 0x18
mov edx, dword [0x1415bb560]
mov r11d, dword [0x1415bb564]
mov r15d, r11d
not r15d
mov ebp, edx
and ebp, r15d
or r15d, edx
not r15d
imul r15d, ebp
mov ebp, edx
and ebp, r11d
or edx, r11d
imul edx, ebp
add edx, r15d
add edx, 0x6adab2d5
mov r11d, edx
not r11d
and r11d, 0x7ec5b629
mov ebp, edx
and ebp, 0x813a49d6
imul ebp, r11d
mov r11d, edx
and r11d, 0x7ec5b629
or edx, 0x7ec5b629
imul edx, r11d
add edx, ebp
imul rdx, r10
shr rdx, 0x3e
cmp edx, 0x8d7ff8b0
ja 0x1400fcf50
mov rdx, rax
and rdx, rbx
xor rax, rbx
lea rbx, [rax + rdx*2]
cmp r14, r8
jne 0x1400fcbf0
cmp r12, rbx
jbe 0x1400fd03f
movabs rax, 0xe2d9a296807d2098
sub r12, rax
sub r12, rbx
add r12, rax
movzx eax, cl
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb580]
mov edx, dword [0x1415bb584]
not ecx
not edx
or edx, ecx
not edx
add edx, 0xc5be98ea
cmp edx, 0x15bb0f43
jb 0x1400fd000
cmp rax, 2
jge 0x1400fd0b2
test rax, rax
jne 0x1400fd19c
mov qword [rsp + 0x28], r12
jmp 0x1400fd197
mov rcx, qword [rsi + 0x20]
mov edi, dword [rsp + 0x34]
nop word [rax + rax]
mov eax, dword [0x1415bb5a0]
imul eax, dword [0x1415bb5a4]
mov edx, eax
not edx
and edx, 0x37874d
mov r8d, eax
and r8d, 0x4878b2
imul r8d, edx
mov edx, eax
and edx, 0x37874d
or eax, 0x37874d
imul eax, edx
add eax, r8d
and eax, 0x52a06b
cmp eax, 0x8d18f000
ja 0x1400fd050
mov rdx, qword [rsi + 0x28]
lea r8, [rsp + 0x38]
call fcn.14021b1c0
mov dword [rsi + 0x30], edi
movzx ecx, byte [rsp + 0x27]
mov byte [rsi + 0x38], cl
jmp 0x1400fd390
cmp eax, 2
jne 0x1400fd19c
mov rax, r12
shr rax, 1
inc r12
shr r12, 1
mov qword [rsp + 0x28], r12
nop dword [rax]
mov edx, dword [0x1415bb588]
mov ecx, dword [0x1415bb58c]
mov r8d, edx
xor r8d, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, r8d
mov edx, ecx
not edx
and edx, 0x4ad3a89f
mov r8d, ecx
and r8d, 0x352c5760
imul r8d, edx
mov edx, ecx
and edx, 0x4ad3a89f
or ecx, 0x4ad3a89f
imul ecx, edx
add ecx, r8d
or ecx, 0x561fd84
and ecx, 0x5ff9fdd7
cmp ecx, 0x4f37c0f1
je 0x1400fd0d0
mov ecx, 0xf3ae57d1
mov edx, dword [0x1415bb590]
mov r8d, dword [0x1415bb594]
mov r9d, edx
not r9d
or edx, r8d
not r8d
or r8d, r9d
not r8d
not edx
or edx, r8d
not edx
imul rdx, rcx
shr rdx, 0x39
mov r8d, edx
and r8d, 0xffffffe3
mov r9d, r8d
not r9d
mov r10d, edx
and r10d, 0xffffffe1
and r9d, 0x9d89b99a
imul r9d, r10d
and edx, 2
or r8d, 0x9d89b99a
imul r8d, edx
add r8d, r9d
cmp r8d, 0xb8656ad0
jb 0x1400fd130
mov r12, rax
jmp 0x1400fd1b0
xor eax, eax
mov qword [rsp + 0x28], rax
nop word cs:[rax + rax]
mov eax, dword [0x1415bb598]
sub eax, dword [0x1415bb59c]
add eax, 0xf09fab3a
cmp eax, 0x28067579
jb 0x1400fd1b0
mov rbx, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
xor r15d, r15d
xor ebp, ebp
nop word cs:[rax + rax]
cmp rbp, r12
je 0x1400fd20e
inc rbp
mov rcx, rbx
mov edx, edi
call qword [r14 + 0x20]
nop word cs:[rax + rax]
test r15b, r15b
jne 0x1400fd200
test al, al
je 0x1400fd1e0
jmp 0x1400fd340
mov eax, dword [0x1415bb5a8]
sub eax, dword [0x1415bb5ac]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa7a6be2e
and ecx, 0x585941d1
imul ecx, edx
mov edx, eax
and edx, 0x585941d1
or eax, 0x585941d1
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x83943d74
and ecx, 0x7c6bc28b
imul ecx, edx
mov edx, eax
and edx, 0x7c6bc28b
or eax, 0x7c6bc28b
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xf6b87d33
and ecx, eax
cmp ecx, 0xf0fac7f5
jne 0x1400fd3ef
jmp 0x1400fd42e
mov eax, dword [0x1415bb570]
xor eax, dword [0x1415bb574]
add eax, 0x4bd2e003
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x73426025
and ecx, 0x8cbd9fda
imul ecx, edx
mov edx, eax
and edx, 0x8cbd9fda
or eax, 0x8cbd9fda
imul eax, edx
add eax, ecx
not eax
or eax, 0x3d6099da
mov byte [rsi + 0x38], 1
cmp eax, 0x2f10dac2
jne 0x1400fd2d3
mov byte [rsi + 0x38], 1
jmp 0x1400fd283
mov eax, 0xb9754d93
xor ebx, ebx
nop word [rax + rax]
mov ecx, dword [0x1415bb578]
mov edx, dword [0x1415bb57c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
imul ecx, ecx, 0x95183f9e
add ecx, 0xf5c3d0c4
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xcdd54e51
je 0x1400fd2e0
mov cl, 1
mov edi, 0x30
jmp 0x1400fcb49
mov eax, dword [0x1415bb5e8]
mov ecx, dword [0x1415bb5ec]
add eax, ecx
add eax, 0x8ed35d60
cmp eax, 0x5ad2da07
jb 0x1400fd340
nop word [rax + rax]
mov eax, dword [0x1415bb5f0]
xor edx, edx
div dword [0x1415bb5f4]
add eax, 0x13bcfa78
imul rax, rax, 0x55263c13
shr rax, 0x3d
not eax
or eax, 0x9b888651
cmp eax, 0x828add89
je 0x1400fd360
mov al, 1
nop
mov ecx, dword [0x1415bb5f8]
sub ecx, dword [0x1415bb5fc]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xdf207b66
and edx, 0x20df8499
imul edx, r8d
mov r8d, ecx
and r8d, 0x20df8499
or ecx, 0x20df8499
imul ecx, r8d
add ecx, edx
xor ecx, 0xdc331225
add ecx, 0x58c6e5ed
cmp ecx, 0xc73db5f3
jb 0x1400fd390
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415bb5b0]
sub eax, dword [0x1415bb5b4]
xor eax, 0x46feb800
shr eax, 0xa
imul r15, rax, 0x215115
shr r15, 0x2b
add r15d, 0xaa41ac41
lea r8, [rsp + 0x38]
mov rcx, rbx
mov rdx, r14
call fcn.1400fd630
cmp r15d, 0xc02c7bf6
jbe 0x1400fd440
lea r8, [rsp + 0x38]
mov rcx, rbx
mov rdx, r14
call fcn.14021b1c0
jmp 0x1400fd3ef
test al, al
jne 0x1400fd340
nop dword [rax + rax]
mov eax, dword [0x1415bb5b8]
mov ecx, dword [0x1415bb5bc]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
not eax
and eax, 0x14445b4c
and ecx, 0x6bbba4b3
sub ecx, eax
or ecx, 0xa0c352c7
cmp ecx, 0x1824b45
je 0x1400fd450
xor r15d, r15d
nop word [rax + rax]
mov eax, dword [0x1415bb5c0]
mov ecx, dword [0x1415bb5c4]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
not eax
mov edx, ecx
or edx, 0xab645e75
mov r8d, edx
and r8d, 0x8ad658f6
and eax, 0x5409a108
imul eax, r8d
and edx, 0x7529a709
or ecx, 0xff6dff7d
imul ecx, edx
add ecx, eax
cmp ecx, 0x163d0c15
je 0x1400fd490
mov ebp, 0x946377e7
nop
mov r12, r15
nop word cs:[rax + rax]
mov eax, dword [0x1415bb5c8]
xor edx, edx
div dword [0x1415bb5cc]
or eax, 0x9630fc42
cmp eax, 0x95075307
je 0x1400fd4f0
cmp r12, qword [rsp + 0x28]
je 0x1400fd616
mov eax, dword [0x1415bb5d0]
mov ecx, dword [0x1415bb5d4]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul rax, rbp
shr rax, 0x3d
mov ecx, eax
not ecx
and ecx, 0x4401eb73
mov edx, eax
and edx, 0xfffffffc
imul edx, ecx
mov ecx, eax
and ecx, 3
or eax, 0x4401eb73
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xf4e61c92
add ecx, eax
and eax, 0xb19e36d
sub ecx, eax
cmp ecx, 0xaa7938e3
jae 0x1400fd574
mov rcx, rbx
mov edx, edi
call qword [r14 + 0x20]
lea r15, [r12 + 1]
nop dword [rax]
mov r13d, dword [0x1415bb5d8]
and r13d, dword [0x1415bb5dc]
add r13d, 0x46e973b8
mov eax, r13d
not eax
mov ecx, r13d
and ecx, 0xe9fc8a67
and eax, 0x16037598
imul eax, ecx
mov ecx, r13d
and ecx, 0x16037598
or r13d, 0x16037598
imul r13d, ecx
add r13d, eax
mov rcx, rbx
mov edx, edi
call qword [r14 + 0x20]
cmp r13d, 0xd7bd69a7
je 0x1400fd580
nop word cs:[rax + rax]
mov ecx, dword [0x1415bb5e0]
add ecx, dword [0x1415bb5e4]
or ecx, 0x3784f749
mov edx, ecx
xor edx, 0xdc0a2126
and ecx, 0x23f5ded9
add ecx, ecx
sub ecx, edx
cmp ecx, 0xdbc81eda
je 0x1400fd5e0
test al, al
je 0x1400fd4e0
jmp 0x1400fd61b
mov r12, qword [rsp + 0x28]
cmp r12, qword [rsp + 0x28]
setb al
mov edi, dword [rsp + 0x34]
jmp 0x1400fd0a2