Function at 0x140072470
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov rsi, rcx
mov r15, qword [rcx]
mov cl, 1
cmp byte [rsi + 0x10], 0
je 0x140072543
mov eax, dword [0x140216688]
xor edx, edx
div dword [0x14021668c]
mov edx, eax
not edx
and edx, 0x2ff7b2eb
and eax, 0xd0084d14
sub eax, edx
add eax, 0xa4be05af
mov edx, 0xbbb2c519
imul rdx, rax
shr rdx, 0x3a
cmp edx, 0x38e5c60b
jbe 0x1400724d6
mov byte [rsi + 0x10], cl
lea rax, [r15 + 1]
mov qword [rsi], rax
inc r15
nop dword [rax]
mov eax, dword [0x140216690]
and eax, dword [0x140216694]
add eax, 0x529a2e28
mov edx, eax
not edx
and edx, 0x42fe914
mov r8d, eax
and r8d, 0xfbd016eb
imul r8d, edx
mov edx, eax
and edx, 0x42fe914
or eax, 0x42fe914
imul eax, edx
add eax, r8d
xor eax, 0x7c393143
mov byte [rsi + 0x10], cl
mov qword [rsi], r15
cmp eax, 0xedb3a07f
je 0x1400724e0
mov rax, rsi
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14, qword [rsi + 8]
mov ebp, dword [r14 + 0x34]
mov rdi, r8
mov rbx, rdx
mov eax, ebp
xor eax, 0xfffffffb
nop word cs:[rax + rax]
mov ecx, dword [0x140216620]
and ecx, dword [0x140216624]
mov edx, ecx
not edx
or edx, 0x5cd1461e
or ecx, 0x7cb1c61a
and ecx, edx
and ecx, 0x7cf1c61e
cmp ecx, 0xf4a45780
je 0x140072560
test eax, ebp
je 0x1400726fa
nop word cs:[rax + rax]
mov eax, dword [0x140216630]
xor edx, edx
div dword [0x140216634]
add eax, 0x2be2c049
and eax, 0x3228a345
cmp eax, 0x3c858ce4
je 0x1400725a0
test r15, r15
jne 0x1400726b7
mov eax, 0x9b0429a3
nop dword [rax]
mov ecx, dword [0x140216640]
and ecx, dword [0x140216644]
or ecx, 0x2caa45d6
xor ecx, 0xdf98e88f
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x7d1e95e5
je 0x1400725d0
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
mov edx, dword [0x140216648]
add edx, dword [0x14021664c]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0xa13a357c
and r8d, 0x5ec5ca83
imul r8d, r9d
mov r9d, edx
and r9d, 0x5ec5ca83
or edx, 0x5ec5ca83
imul edx, r9d
add edx, r8d
mov r8d, edx
and r8d, 0x4c295da0
add r8d, r8d
sub edx, r8d
add edx, 0x4c295da0
mov r8d, edx
xor r8d, 0x310914b2
or edx, 0xcef6eb4d
and edx, r8d
cmp edx, 0xb1303310
ja 0x140072600
lea rdx, [0x140203c54]
mov r8d, 2
call qword [rax + 0x18]
mov cl, 1
test al, al
jne 0x140072493
mov ebp, dword [r14 + 0x34]
nop dword [rax]
mov eax, dword [0x140216650]
add eax, dword [0x140216654]
mov ecx, eax
xor ecx, 0x496c97d4
xor eax, 0xb0e46b0d
and eax, ecx
and eax, 0x1ff72326
cmp eax, 0x48433e30
je 0x140072690
mov eax, dword [0x140216658]
and eax, dword [0x14021665c]
mov ecx, eax
xor ecx, 0xfceceb35
or eax, 0x31314ca
and eax, ecx
mov ecx, eax
and ecx, 0x2b9f74ea
and eax, 0x8993042
add eax, eax
sub ecx, eax
add ecx, 0x48b93853
cmp ecx, 0xf40e8235
jbe 0x1400727d3
jmp 0x1400728a6
lea rax, [0x140203c53]
lea rcx, [0x140203c47]
nop dword [rax + rax]
mov edx, dword [0x140216628]
and edx, dword [0x14021662c]
not edx
or edx, 0x71dde381
mov r8d, edx
not r8d
and edx, 0x919900d1
mov r9d, r8d
and r9d, 0xe221c2e
or r9d, edx
xor r9d, 0xfaff5e0d
and r8d, 0xa221c5c
or r8d, r9d
imul r10, r8, 0x329c7b97
shr r10, 0x3c
xor r8d, r8d
test r15, r15
mov rdx, rcx
cmove rdx, rax
setne r9b
cmp r10d, 0x59e8f386
je 0x140072710
mov r8b, r9b
inc r8
mov rcx, qword [r14 + 0x20]
mov rax, qword [r14 + 0x28]
call qword [rax + 0x18]
mov cl, 1
test al, al
jne 0x140072493
mov rcx, rbx
mov rdx, r14
call rdi
mov ecx, eax
nop dword [rax + rax]
mov eax, dword [0x140216638]
mov edx, dword [0x14021663c]
xor edx, eax
not edx
and edx, eax
and edx, 0x6cde3918
add edx, 0x3e93bc46
mov eax, edx
xor eax, 0x40a3695a
and eax, edx
cmp eax, 0x89b1d804
jae 0x1400727a0
jmp 0x140072493
mov eax, dword [0x140216660]
mov ecx, dword [0x140216664]
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
and ecx, 0x42b824e
xor eax, 0x42b824e
lea r12d, [rax + rcx*2]
mov eax, r12d
not eax
or eax, 0x5a014109
and eax, 0xdbc15d6d
mov ecx, r12d
and ecx, 0x2424a292
or ecx, eax
xor ecx, 0x76456e10
and r12d, 0xa5843274
or r12d, ecx
mov byte [rsp + 0x2f], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 0x30]
movzx ecx, byte [r14 + 0x38]
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x68], cl
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [0x140203c10]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call rdi
cmp r12d, 0x3d10d66f
jne 0x14007290f
mov byte [rsp + 0x2f], 1
movups xmm0, xmmword [r14 + 0x20]
movaps xmmword [rsp + 0x70], xmm0
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 0x30]
movzx ecx, byte [r14 + 0x38]
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x68], cl
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x40], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [0x140203c10]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call rdi
jmp 0x1400727d3
test al, al
je 0x140072963
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140072920
nop word cs:[rax + rax]
mov eax, dword [0x140216680]
and eax, dword [0x140216684]
xor eax, 0x138a50f5
mov ecx, eax
and ecx, 0x2f97ed56
or eax, 0x2f97ed56
add eax, ecx
add eax, 0x3f8c6d00
cmp eax, 0x9d493e70
ja 0x140072930
mov cl, 1
jmp 0x140072493
mov rdi, qword [rsp + 0x50]
mov eax, dword [0x140216668]
xor eax, dword [0x14021666c]
mov ecx, eax
xor ecx, 0xee92ba83
xor eax, 0x116d457c
mov edx, eax
and edx, 0x25741a81
and ecx, 0xda8be57e
imul ecx, edx
mov edx, eax
and edx, 0xda8be57e
or eax, 0xda8be57e
imul eax, edx
add eax, ecx
add eax, 0xa122cab
cmp eax, 0x98816d7f
jb 0x140072a25
mov eax, dword [0x140216670]
xor eax, dword [0x140216674]
mov ecx, eax
not ecx
and ecx, 0x1e58abef
mov edx, eax
and edx, 0xe1a75410
imul edx, ecx
mov ecx, eax
and ecx, 0x1e58abef
or eax, 0x1e58abef
imul eax, ecx
lea ecx, [rax + rdx]
add ecx, 0x8a2b9b28
add eax, edx
mov edx, ecx
and edx, 0x9b9aa9ba
xor ecx, 0x64655645
lea ebx, [rcx + rax]
add ebx, 0x8a2b9b28
sub ebx, edx
mov rax, qword [rsp + 0x58]
lea rdx, [0x140203c4e]
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x18]
cmp ebx, 0xc90073ce
jae 0x140072a42
mov rax, qword [rsp + 0x58]
lea rdx, [0x140203c4e]
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x18]
jmp 0x1400729b0
mov ecx, eax
nop word cs:[rax + rax]
mov eax, dword [0x140216678]
mov edx, dword [0x14021667c]
mov r8d, eax
not r8d
and r8d, edx
not r8d
not edx
and edx, eax
not edx
and edx, r8d
not edx
imul eax, edx, 0x58961ad3
add eax, 0xc90410aa
mov edx, eax
not edx
and edx, 0xc3a9ba7d
mov r8d, eax
and r8d, 0x3c564582
imul r8d, edx
mov edx, eax
and edx, 0xc3a9ba7d
or eax, 0xc3a9ba7d
imul eax, edx
add eax, r8d
cmp eax, 0x67543cd2
je 0x140072a50
jmp 0x140072493