Function at 0x140072640
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x208
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x170], xmm6
mov qword [rbp + 0x168], 0xfffffffffffffffe
cmp byte [rcx + 0x878], 0
jne 0x140072e00
mov rsi, rcx
mov ecx, dword [rcx + 0x87c]
mov r9d, ecx
xor r9d, 0xffffffdf
movsxd rax, dword [0x14052e858]
mov r8d, dword [0x14052e878]
test r9d, ecx
je 0x140072df9
mov qword [rbp + 0x128], rdx
lea rcx, [0x14052e858]
movabs rdx, 0x750bb454049990c7
mov r9, rax
xor r9, rdx
and rax, rdx
lea rax, [r9 + rax*2]
movabs r9, 0x8af44babfb666f39
add r9, rcx
add r9, rax
mov ecx, dword [0x1406939f8]
mov r10d, dword [0x1405ff11c]
mov eax, ecx
sub eax, r10d
add eax, 0xa49a28ee
imul eax, ecx
add r10d, 0x5b65d713
xor edx, edx
div r10d
test edx, edx
jne 0x140072720
mov r15d, dword [0x1405fe1e8]
lea r12d, [r15 + 1]
mov dword [0x1405fe1e8], r12d
mov eax, dword [0x1406939fc]
cmp eax, 0x44
jl 0x14007276a
nop dword [rax]
mov eax, dword [0x1405fe1e8]
mov ecx, eax
xor ecx, 0x8119f9f4
and eax, 0x119f9f4
lea ecx, [rcx + rax*2]
add ecx, 0x7ee6060d
mov edx, 0xffffffff
shl edx, cl
sub edx, ecx
imul edx, ecx
sub edx, ecx
imul edx, ecx
mov eax, edx
shl eax, cl
mov ecx, eax
shl edx, cl
add edx, eax
mov dword [0x1405fe1e8], edx
mov eax, dword [0x1406939fc]
cmp eax, 0x13
jge 0x140072720
jmp 0x140072700
mov qword [rbp + 0x120], rsi
xor r13d, r13d
test r15d, r12d
jne 0x140072840
test r8d, r8d
jle 0x140072840
xor eax, eax
mov ecx, 0x5b65d712
lea rdx, [fcn.140072640]
lea r10d, [rdx + rdx]
add r10d, 0x3f20
xor r11d, r11d
xor r13d, r13d
nop word cs:[rax + rax]
movsxd rbx, r11d
add rbx, r9
nop word cs:[rax + rax]
test al, al
jne 0x1400727e1
mov r14d, dword [rbx]
mov esi, dword [0x1405ff11c]
mov edi, esi
xor edi, 0x5b65d711
and esi, 0x5b65d711
add esi, esi
add esi, edi
je 0x140072810
mov esi, dword [rbx]
lea esi, [rdx + rdx]
add esi, 0x3320
mov edi, esi
not edi
and esi, edi
lea r14d, [rdx + rdx]
add r14d, 0x3321
and edi, 0xfffffffe
xor edi, r14d
or edi, esi
cmp edi, 0xffffffff
jne 0x1400727c0
jmp 0x1400727c4
xor r13d, r14d
mov esi, dword [0x1406939f8]
nop dword [rax]
mov esi, dword [0x1405ff11c]
add esi, ecx
mov edi, r10d
xor edi, esi
not edi
test edi, esi
jne 0x140072820
add r11d, 4
cmp r11d, r8d
jl 0x1400727b0
cmp qword [0x140696b78], 0
mov rsi, qword [rbp + 0x120]
jne 0x140072883
mov ecx, 0x900
mov edx, 0x1ffd6751
mov r8d, 0x3ef7940b
call fcn.1400a8810
mov qword [rbp + 0x150], rax
mov rcx, rax
call fcn.140085690
mov rax, qword [rbp + 0x150]
mov qword [0x140696b78], rax
mov rax, qword [0x140696b78]
mov qword [rbp + 0x158], rax
cmp qword [rax + 0x4c8], 0
je 0x140072e00
cmp qword [0x140693dc8], 0
jne 0x140072905
mov ecx, 0xe8
mov edx, 0x1ffd6751
mov r8d, 0x3ef7940b
call fcn.1400a8810
lea rcx, [0x14052ec78]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
movzx ecx, byte [0x1405ff118]
add cl, 0x8a
mov byte [rax + 0x18], cl
lea rcx, [0x14052ecd8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x140693dc8], rax
mov rax, qword [0x140693dc8]
movzx eax, word [rax + 0xa]
movzx ecx, word [0x140693a6a]
mov edx, ecx
xor edx, eax
and ecx, eax
lea eax, [rdx + rcx*2]
add ax, word [0x140693a90]
movzx eax, ax
cmp eax, 0x5ff
ja 0x140072952
mov eax, dword [0x140693493]
mov ecx, eax
not ecx
xor eax, 0x800000
and ecx, 0xff7fffff
or ecx, eax
not ecx
or ecx, eax
mov dword [0x140693493], ecx
mov dword [rbp + 0x164], 0
xorps xmm6, xmm6
movaps xmmword [rbp + 0x130], xmm6
mov qword [rbp + 0x140], 0
movaps xmmword [rbp - 0x50], xmm6
movaps xmmword [rbp], xmm6
movaps xmmword [rbp - 0x10], xmm6
movaps xmmword [rbp - 0x20], xmm6
movaps xmmword [rbp - 0x30], xmm6
movaps xmmword [rbp - 0x40], xmm6
mov qword [rbp + 0x10], 0
mov dword [rbp - 0x50], 0x68
mov ebx, dword [0x14069354a]
mov edx, dword [0x140693546]
mov dword [rsp + 0x20], 0xb0f6b818
mov rcx, qword [rbp + 0x128]
mov r8d, 0x3cbe5a90
mov r9d, 0x340fc70a
call fcn.1400ac140
mov r14, rax
movzx eax, byte [0x1405ff118]
add al, 0x8b
movups xmmword [rbp + 0xc8], xmm6
mov byte [rbp + 0xd8], al
mov dword [rbp + 0xdc], 1
movups xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0xf0], 0
test rbx, rbx
je 0x140072a2c
mov rcx, rbx
call fcn.1404e9d44
mov rdi, rax
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xc8], rbx
mov rcx, rax
test r14, r14
je 0x140072a30
mov rdx, r14
mov r8, rbx
call fcn.140511c70
jmp 0x140072a3a
xor edi, edi
jmp 0x140072a3a
xor edx, edx
mov r8, rbx
call fcn.140512320
mov qword [rbp + 0xc0], rdi
lea rax, [0x140530b78]
mov qword [rbp + 0xb8], rax
movups xmmword [rbp + 0x60], xmm6
mov qword [rbp + 0x70], 0
mov byte [rbp + 0x78], 1
mov dword [rbp + 0x7c], 1
movups xmmword [rbp + 0x80], xmm6
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0xb8]
lea rdi, [rbp + 0x58]
mov rdx, rdi
call fcn.14036d2e0
lea rax, [rbp + 0x164]
mov qword [rbp + 0xf8], rax
lea rax, [rbp + 0x158]
mov qword [rbp + 0x100], rax
lea rax, [rbp - 0x50]
mov qword [rbp + 0x108], rax
lea rax, [rbp + 0x130]
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rdi
lea rcx, [rbp + 0x98]
call fcn.1400730a0
cmp qword [rbp + 0xa8], 0
je 0x140072af9
lea rcx, [rbp + 0xf8]
lea rdx, [rbp + 0x98]
call fcn.1400734c0
jmp 0x140072b8a
mov dword [rsp + 0x28], 0x25a18e6a
mov dword [rsp + 0x20], 0x7b949e22
mov ecx, 1
xor edx, edx
mov r8d, 1
mov r9d, 0x5b0e64
call fcn.1400a99b0
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x40], rax
movups xmm0, xmmword [rbp + 0xf8]
movups xmm1, xmmword [rbp + 0x108]
movups xmmword [rbp + 0x30], xmm1
movups xmmword [rbp + 0x20], xmm0
lea rax, [0x140530be8]
mov qword [rbp + 0x18], rax
lea r8, [rbp + 0x18]
mov qword [rbp + 0x50], r8
mov rdx, qword [rbp + 0x68]
mov rcx, rdx
test rdx, rdx
je 0x140072b65
mov rcx, qword [rbp + 0x60]
call fcn.140255580
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x140072b8a
lea rax, [rbp + 0x18]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [0x1405fc400]
mov edi, dword [rbp + 0x164]
test edi, edi
je 0x140072cfa
mov eax, dword [rbp + 0x140]
mov dword [rsi + 0x898], eax
mov rax, qword [rbp + 0x158]
mov rax, qword [rax + 0x348]
mov rcx, qword [rbp + 0x138]
call qword [0x1405fc400]
mov rax, qword [rbp + 0x158]
mov rax, qword [rax + 0x348]
mov rcx, qword [rbp + 0x130]
call qword [0x1405fc400]
xor ebx, ebx
mov r14b, 1
nop
mov eax, dword [0x1406939f8]
mov ecx, dword [0x1405ff11c]
sub ecx, eax
add ecx, 0x5b65d712
imul ecx, eax
test cl, 1
jne 0x140072c17
nop dword [rax]
mov ecx, dword [0x14052e854]
mov eax, dword [0x1406939f8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140072c20
mov eax, dword [0x14052e854]
jmp 0x140072c00
xor r8d, r8d
test r15d, r12d
setne r8b
mov edx, dword [0x1406939f8]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x1405ff11c]
lea r10d, [r9 + 0x5b65d713]
xor edx, edx
div r10d
add r9d, 0x5b65d711
cmp edx, r9d
jne 0x140072cf0
nop dword [rax]
mov eax, dword [0x1406939fc]
cmp eax, 0x39
jge 0x140072cf0
dec r8d
sub ecx, r13d
xor ecx, r8d
not ecx
and ecx, r8d
mov eax, ecx
shr eax, 0x10
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, r8d
xor r9d, edx
and r9d, r8d
or r9d, edx
not r9d
and r8d, eax
and edx, ecx
or edx, r8d
or edx, r9d
movzx eax, word [0x140693a6a]
mov ecx, eax
xor ecx, edx
and edx, eax
lea eax, [rcx + rdx*2]
mov word [0x140693a6a], ax
cmp ebx, 0x1388
jae 0x140072cfa
mov rax, qword [rbp + 0x158]
mov rax, qword [rax + 0x2f0]
call qword [0x1405fc400]
test eax, eax
jne 0x140072cfa
mov ecx, 1
call fcn.140074cf0
inc ebx
jmp 0x140072be0
test r14b, r14b
je 0x140072cf0
jmp 0x140072c60
mov rax, qword [rbp + 0xb0]
cmp rax, 8
jb 0x140072de0
mov rcx, qword [rbp + 0x98]
lea rdx, [rax + rax]
add rdx, 2
cmp rdx, 0x1000
jb 0x140072ddb
mov r8, qword [rcx - 8]
mov rdx, rcx
not rdx
and rdx, 0xfffffffffffffff8
mov r9, rcx
xor r9, 7
or r9, rdx
not r9
or r9, rdx
movabs rdx, 0x7ffffffffffffff8
and rdx, rcx
lea rcx, [r9 + rdx*2]
movabs rdx, 0x9456837144a34ed2
xor rdx, rcx
movabs r9, 0x1456837144a34ed2
and r9, rcx
lea rcx, [rdx + r9*2]
mov rdx, qword [0x1405ff110]
movabs r9, 0xb893073929db3a8c
xor r9, rdx
movabs r10, 0x3893073929db3a8c
and r10, rdx
lea r9, [r9 + r10*2]
mov r10, r8
sub r10, rcx
add r10, r9
neg r10
neg rdx
movabs rcx, 0xdbc37c381ac81426
xor rcx, rdx
movabs r9, 0x5bc37c381ac81426
and r9, rdx
lea rcx, [rcx + r9*2]
neg rcx
cmp r10, rcx
jae 0x140072e1b
add rax, rax
add rax, 0x29
mov rdx, rax
mov rcx, r8
call fcn.1400a75d0
lea rcx, [rbp + 0x58]
call fcn.140074ed0
lea rcx, [rbp + 0xb8]
call fcn.140074ed0
test edi, edi
je 0x140072e00
mov byte [rsi + 0x878], 1
movaps xmm6, xmmword [rbp + 0x170]
add rsp, 0x208
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1404ca324
int3