Function at 0x14013f700
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x60
mov rsi, rcx
nop word [rax + rax]
mov eax, dword [0x1415c0cb8]
mov ecx, dword [0x1415c0cbc]
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
not ecx
and ecx, eax
add ecx, 0xb9838cc1
imul rax, rcx, 0x6637ace5
shr rax, 0x3e
or eax, 0x9029afe4
cmp eax, 0x230f8d64
je 0x14013f710
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
cmp rax, 1
jg 0x14013f894
mov rdi, qword [rsi + 0x28]
cmp eax, 1
je 0x14013f800
mov eax, dword [0x1415c0cc0]
xor eax, dword [0x1415c0cc4]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x67824894
and ecx, 0x1048352b
mov r8d, edx
and r8d, 0xcf35c240
imul r8d, ecx
and edx, 0x30ca3dbf
or eax, 0x77ca7dbf
imul eax, edx
add eax, r8d
add eax, 0x3b637724
cmp eax, 0x55881811
ja 0x14013f8ea
mov eax, dword [0x1415c0cc8]
mov ecx, dword [0x1415c0ccc]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
or ecx, 0x7eb46df3
imul ebx, ecx, 0xa2e96aaf
call fcn.140246bb0
cmp ebx, 0xc6ab9f18
ja 0x14013f7c5
nop dword [rax + rax]
mov eax, dword [0x1415c0cf0]
xor eax, dword [0x1415c0cf4]
mov ecx, eax
and ecx, 0x62777d5f
mov edx, ecx
not edx
mov r8d, eax
and r8d, 0x40273142
and edx, 0x32d84e9d
imul edx, r8d
and eax, 0x22504c1d
or ecx, 0x32d84e9d
imul ecx, eax
add ecx, edx
cmp ecx, 0xae30992c
je 0x14013f800
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x90]
nop
mov ecx, dword [0x1415c0cf8]
or ecx, dword [0x1415c0cfc]
imul ecx, ecx, 0xb76b4b08
xor ecx, 0x48f041ca
cmp ecx, 0x83b3e047
je 0x14013f860
test rax, rax
jne 0x14013f8f4
xor eax, eax
test al, al
je 0x14013fb7f
jmp 0x14013fbb8
lock dec qword [rsi]
sete al
nop dword [rax + rax]
mov ecx, dword [0x1415c0cd0]
mov edx, dword [0x1415c0cd4]
xor edx, ecx
not edx
and edx, ecx
or edx, 0x3dfdf66a
xor edx, 0xc2fca851
cmp edx, 0x1332e4ae
jb 0x14013f8a0
test al, al
je 0x14013fb21
mov eax, dword [0x1415c0cd8]
add eax, dword [0x1415c0cdc]
cmp eax, 0x1073ffc3
jne 0x14013fabf
jmp 0x14013fae5
call fcn.140246bb0
jmp 0x14013f7c5
mov eax, dword [0x1415c0d00]
mov ecx, dword [0x1415c0d04]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
and eax, 0x11822
or eax, 0xa3d4a285
mov ecx, eax
and ecx, 0x841a02
add ecx, ecx
sub eax, ecx
cmp eax, 0x99b34bf6
je 0x14013f9df
mov eax, dword [0x1415c0d08]
mov ecx, dword [0x1415c0d0c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
and ecx, 0x193cf8fa
mov edx, eax
and edx, 0x26c30705
imul edx, ecx
mov ecx, eax
and ecx, 0x193cf8fa
or eax, 0x193cf8fa
imul eax, ecx
add eax, edx
or eax, 0xc839c58f
imul rsi, rax, 0x18e9f2df
shr rsi, 0x3c
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x2c], 0
lea rax, [0x14159ea50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call fcn.140142c60
mov rcx, rax
call fcn.14021acc0
cmp esi, 0xebc0bbfd
jbe 0x14013fa2f
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x2c], 0
lea rax, [0x14159ea50]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 1
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x30]
call fcn.140142c60
mov rcx, rax
call fcn.140143250
jmp 0x14013f92a
mov eax, dword [0x1415c0d10]
xor edx, edx
div dword [0x1415c0d14]
mov ecx, eax
xor ecx, 0x3e6428ac
add ecx, eax
and eax, 0xc19bd753
sub ecx, eax
mov eax, 0xa249062f
imul rax, rcx
shr rax, 0x3f
or eax, 0x51ee0db8
cmp eax, 0x441979d7
jae 0x14013fa6e
mov ecx, 7
int 0x29
mov ecx, 7
nop word cs:[rax + rax]
mov eax, dword [0x1415c0d18]
xor eax, dword [0x1415c0d1c]
int 0x29
cmp eax, 0x50b4f420
je 0x14013fa80
nop word cs:[rax + rax]
mov eax, dword [0x1415c0d20]
sub eax, dword [0x1415c0d24]
xor eax, 0xdbc93372
add eax, 0xc4eb5bad
cmp eax, 0xe39a7d67
ja 0x14013faa0
ud2
mov eax, dword [0x1415c0ce0]
mov ecx, dword [0x1415c0ce4]
add eax, ecx
add eax, 0x6cba3409
mov ecx, eax
and ecx, 0x7022eb3d
add ecx, ecx
sub eax, ecx
cmp eax, 0x21f144ce
jne 0x14013fae7
jmp 0x14013fabf
mov rcx, rsi
call fcn.14021b880
nop
mov eax, dword [0x1415c0ce8]
xor eax, dword [0x1415c0cec]
mov ecx, eax
xor ecx, 0x22cbfda
add ecx, eax
and eax, 0xdd34025
sub ecx, eax
add ecx, 0xb8d2ea57
or ecx, 0xf67115d8
cmp ecx, 0xbf231a04
jb 0x14013faf0
ud2
mov eax, dword [0x1415c0d30]
mov ecx, dword [0x1415c0d34]
add eax, ecx
add eax, 0x82642d8f
mov ecx, dword [0x1415d3954]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
and eax, 0x367bb72b
mov qword [rcx + 0x90], rsi
cmp eax, 0xd2f7f553
jne 0x14013fbd4
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x90], rsi
jmp 0x14013fb7f
mov eax, dword [0x1415c0d38]
mov ecx, dword [0x1415c0d3c]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0x75f7197c
xor ecx, 0x8a006281
and ecx, 0x9ae76299
mov edx, eax
and edx, 0x65189d66
imul edx, ecx
mov ecx, eax
and ecx, 0x9ae76299
or eax, 0x9ae76299
imul eax, ecx
add eax, edx
imul rcx, rax, 0x38bed453
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1b
cmp eax, 0xa9c861e3
jne 0x14013fc60
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x88], rdi
nop word cs:[rax + rax]
mov eax, dword [0x1415c0d40]
mov ecx, dword [0x1415c0d44]
not ecx
add eax, ecx
add eax, 0x23eb4be
mov ecx, dword [0x1415d3954]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
or eax, 0x97a20f6b
and eax, 0xb7a21f7b
mov qword [rcx + 0x88], rdi
cmp eax, 0xdabc44a5
ja 0x14013fc60
mov eax, dword [0x1415c0d48]
mov ecx, dword [0x1415c0d4c]
add eax, ecx
add eax, 0x7de56b5e
and eax, 0xfc3895ec
add eax, 0xbeb2c4a6
cmp eax, 0xf7539703
ja 0x14013fca0
add rsp, 0x60
pop rbx
pop rdi
pop rsi
ret