Function at 0x1400ad058
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1404e8f18]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, rdx
mov r14, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x58], rdx
xor r15d, r15d
mov dword [rsp + 0x20], r15d
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], r15
mov qword [rcx + 0x18], r15
cmp qword [rdx + 0x18], 0x10
jb 0x1400ad0b8
mov rdx, qword [rdx]
mov r8, qword [rsi + 0x10]
call fcn.140012c04
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x2c], 0x10
movdqa xmm0, xmmword [0x1403c9b10]
movdqu xmmword [rsp + 0x60], xmm0
mov rcx, r15
mov al, cl
add al, byte [rsp + 0x60]
xor byte [rsp + rcx + 0x61], al
inc rcx
cmp rcx, 0xe
jb 0x1400ad0e2
mov byte [rsp + 0x6f], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
lea rax, [rsp + 0x61]
or rdi, 0xffffffffffffffff
mov r8, rdi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400ad115
lea rdx, [rsp + 0x61]
lea rcx, [rbp + 0x60]
call fcn.140003aa8
nop
mov dword [rsp + 0x70], 0x4755577d
mov dword [rsp + 0x74], 0x4f435054
mov word [rsp + 0x78], 0x7f47
mov byte [rsp + 0x7a], r15b
mov rax, r15
mov r12d, 0xa
add byte [rsp + rax + 0x70], 0xfe
inc rax
cmp rax, r12
jb 0x1400ad152
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x70]
mov r8, rdi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400ad176
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x40]
call fcn.140003aa8
nop
mov cl, 0x4a
mov dword [rsp + 0x60], 0xb18314a
mov dword [rsp + 0x64], 0x7050e04
mov word [rsp + 0x68], 0x37
mov rax, r15
xor byte [rsp + rax + 0x61], cl
inc rax
cmp rax, 8
jae 0x1400ad1bd
mov cl, byte [rsp + 0x60]
jmp 0x1400ad1aa
mov byte [rsp + 0x69], r15b
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x90], xmm1
lea rax, [rsp + 0x61]
mov r8, rdi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400ad1df
lea rdx, [rsp + 0x61]
lea rcx, [rbp + 0x80]
call fcn.140003aa8
nop
mov word [rsp + 0x24], 0x43
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r15
mov qword [rbp - 8], r15
lea rax, [rsp + 0x24]
mov r8, rdi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400ad218
lea rdx, [rsp + 0x24]
lea rcx, [rbp - 0x20]
call fcn.140003aa8
nop
mov word [rsp + 0x28], 0x55
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
lea rax, [rsp + 0x28]
mov r8, rdi
inc r8
cmp byte [rax + r8], r15b
jne 0x1400ad24e
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.140003aa8
nop
lea rbx, [0x1404e2e38]
cmp qword [0x1404e2e48], r15
jne 0x1400ad2c8
mov rdx, r12
lea rcx, [rbp + 0x20]
call fcn.1400ae388
mov rdx, rax
mov rcx, rbx
call fcn.140015734
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400ad2c8
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad2c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc03
call fcn.140335394
lea rdx, [rsp + 0x2c]
lea rcx, [rbp + 0xa0]
call qword [0x14036f1d8]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm0
movdqu xmmword [rbp - 0x50], xmm1
test eax, eax
je 0x1400ad501
lea rax, [rbp + 0xa0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], r15w
jne 0x1400ad2fb
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x60]
call fcn.140003b88
nop
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.1400ae864
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.1400ae404
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8, r12
cmp qword [rax + 0x10], r12
cmovb r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400ad356
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.140003aa8
mov dword [rsp + 0x20], 5
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x10]
xor edx, edx
lea rcx, [rbp - 0x80]
call fcn.1400335e8
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, 0x20
mov rdx, rax
lea rcx, [rbp]
call fcn.1403367f0
mov qword [rbx + 0x10], r15
mov r13d, 0xf
mov qword [rbx + 0x18], r13
mov byte [rbx], r15b
lea r15d, [r13 - 2]
mov dword [rsp + 0x20], r15d
lea r8, [rbp]
lea rdx, [rbp + 0x60]
mov rcx, r14
call fcn.1400ae514
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1400ad411
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad40c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc09
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x10], xmm0
xor ebx, ebx
mov byte [rbp], bl
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400ad45e
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad459
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc0f
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp - 0x70], xmm0
mov byte [rbp - 0x80], bl
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400ad4a9
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad4a4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc15
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400ad62d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad628
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adbf7
jmp 0x1400ad628
mov r8, r12
cmp qword [0x1404e2e48], r12
cmovb r8, qword [0x1404e2e48]
mov rdx, rbx
cmp qword [0x1404e2e50], 0x10
cmovae rdx, qword [0x1404e2e38]
lea rcx, [rbp - 0x60]
call fcn.140003aa8
mov dword [rsp + 0x20], 0x81
lea r8, [rbp - 0x20]
cmp qword [rbp - 8], 0x10
cmovae r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x10]
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1400335e8
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 0x20
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1403367f0
mov qword [rbx + 0x10], r15
mov r13d, 0xf
mov qword [rbx + 0x18], r13
mov byte [rbx], r15b
mov r15d, 0x181
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x60]
mov rcx, r14
call fcn.1400ae514
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400ad5e0
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad5db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc1b
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp - 0x70], xmm0
xor ebx, ebx
mov byte [rbp - 0x80], bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400ad62d
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ad628
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc21
call fcn.140335394
lea rdx, [rsp + 0x2c]
lea rcx, [rbp + 0xa0]
call qword [0x14036f128]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x60], xmm0
movdqu xmmword [rbp - 0x50], xmm1
test eax, eax
je 0x1400adabf
lea rax, [rbp + 0xa0]
inc rdi
cmp word [rax + rdi*2], bx
jne 0x1400ad65d
mov r8, rdi
lea rdx, [rbp + 0xa0]
lea rcx, [rbp - 0x60]
call fcn.140003b88
nop
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x38]
call fcn.1400ae864
mov rdx, rax
lea rcx, [rbp + 0x20]
call fcn.1400ae404
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8, r12
cmp qword [rax + 0x10], r12
cmovb r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400ad6ba
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp]
call fcn.140003aa8
bts r15d, 9
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x30]
xor edx, edx
lea rcx, [rbp]
call fcn.1400335e8
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 0x20
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1403367f0
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], r13
mov byte [rbx], 0
or r15d, 0x10
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.1400ae514
nop
mov rdx, qword [rbp - 0x68]
mov edi, 0x1000
cmp rdx, 0x10
jb 0x1400ad773
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad76e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc27
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp - 0x70], xmm0
xor ebx, ebx
mov byte [rbp - 0x80], bl
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1400ad7bc
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad7b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc2d
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x10], xmm0
mov byte [rbp], bl
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1400ad803
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad7fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc33
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400ad84f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad84a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc39
call fcn.140335394
lea rdi, [0x1404e2e38]
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
cmp qword [0x1404e2e48], r12
cmovb r12, qword [0x1404e2e48]
cmp qword [0x1404e2e50], 0x10
cmovae rdi, qword [0x1404e2e38]
mov r8, r12
mov rdx, rdi
lea rcx, [rbp - 0x60]
call fcn.140003aa8
or r15d, 2
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x80]
mov rcx, r14
call fcn.1400ae514
nop
mov rdx, qword [rbp - 0x48]
mov edi, 0x1000
cmp rdx, 0x10
jb 0x1400ad8ed
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad8e7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc3f
call fcn.140335394
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0x10
jb 0x1400ad924
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad91f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc51
call fcn.140335394
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], r13
mov byte [rbp - 0x40], bl
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1400ad966
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad961
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc57
call fcn.140335394
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], r13
mov byte [rbp - 0x20], bl
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x1400ad9ae
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad9a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc5d
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x90], xmm0
mov byte [rbp + 0x80], bl
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x1400ad9fb
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ad9f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc63
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], bl
mov rdx, qword [rbp + 0x78]
cmp rdx, 0x10
jb 0x1400ada42
inc rdx
mov rcx, qword [rbp + 0x60]
mov rax, rcx
cmp rdx, rdi
jb 0x1400ada3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adbf1
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp + 0x70], xmm0
mov byte [rbp + 0x60], bl
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x1400ada88
inc rdx
mov rcx, qword [rsi]
cmp rdx, rdi
jb 0x1400ada83
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400adbfd
mov rcx, r8
call fcn.140335394
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r13
mov byte [rsi], bl
mov rax, r14
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1403354e0
mov rbx, qword [rsp + 0x220]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8, r12
cmp qword [0x1404e2e48], r12
cmovb r8, qword [0x1404e2e48]
lea rdi, [0x1404e2e38]
mov rdx, rdi
cmp qword [0x1404e2e50], 0x10
cmovae rdx, qword [0x1404e2e38]
lea rcx, [rbp - 0x60]
call fcn.140003aa8
or r15d, 0x20
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x40]
cmp qword [rbp - 0x28], 0x10
cmovae r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x30]
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1400335e8
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 0x20
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.1403367f0
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], r13
mov byte [rbx], 0
or r15d, 0x40
mov dword [rsp + 0x20], r15d
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.1400ae514
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1400adb9f
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400adb9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc45
call fcn.140335394
movdqa xmm0, xmmword [0x140372210]
movdqu xmmword [rbp - 0x70], xmm0
xor ebx, ebx
mov byte [rbp - 0x80], bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 0x10
jb 0x1400ad856
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400adbe7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400adc4b
call fcn.140335394
jmp 0x1400ad856
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
int3
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
nop
call fcn.14033c794
int3