Function at 0x1400b5040
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0xe0], xmm15
movdqa xmmword [rbp + 0xd0], xmm14
movdqa xmmword [rbp + 0xc0], xmm13
movdqa xmmword [rbp + 0xb0], xmm12
movdqa xmmword [rbp + 0xa0], xmm11
movdqa xmmword [rbp + 0x90], xmm10
movdqa xmmword [rbp + 0x80], xmm9
movdqa xmmword [rbp + 0x70], xmm8
movdqa xmmword [rbp + 0x60], xmm7
movdqa xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x48], 0xfffffffffffffffe
test rdx, rdx
je 0x1400b50f1
mov rsi, rdx
mov rdi, rcx
mov eax, dword [0x1406d02e0]
mov ecx, dword [0x1406da6c8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400b5144
mov r8, qword [0x1406d02d8]
test r8, r8
je 0x1400b50f1
mov rcx, rdi
xor edx, edx
mov r9, rsi
call fcn.1400b5690
jmp 0x1400b50f3
xor eax, eax
movaps xmm6, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x70]
movaps xmm9, xmmword [rbp + 0x80]
movaps xmm10, xmmword [rbp + 0x90]
movaps xmm11, xmmword [rbp + 0xa0]
movaps xmm12, xmmword [rbp + 0xb0]
movaps xmm13, xmmword [rbp + 0xc0]
movaps xmm14, xmmword [rbp + 0xd0]
movaps xmm15, xmmword [rbp + 0xe0]
add rsp, 0x178
pop rbx
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1406d02e0]
call fcn.1401f8674
cmp dword [0x1406d02e0], 0xffffffff
jne 0x1400b50d6
mov rax, qword [0x1402625fc]
mov qword [rbp + 0x3e], rax
movups xmm0, xmmword [0x1402625ee]
mov eax, dword [0x1406cdd48]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdd4c], 0xa
movaps xmmword [rbp + 0x30], xmm0
setge al
and al, cl
movdqa xmm0, xmmword [0x1402591a0]
movdqa xmm4, xmmword [str._b_t_n_v]
movdqa xmm2, xmmword [0x1402591c0]
movdqa xmm3, xmmword [0x1402591d0]
xor ecx, ecx
movdqu xmm13, xmmword [rbp + rcx + 0x30]
movdqa xmm5, xmm13
pxor xmm1, xmm1
punpckhbw xmm5, xmm1
movdqa xmm6, xmm5
punpckhwd xmm6, xmm1
movdqa xmmword [rbp - 0x30], xmm6
punpcklwd xmm5, xmm1
punpcklbw xmm13, xmm1
movdqa xmm6, xmm13
punpckhwd xmm6, xmm1
movdqa xmmword [rbp - 0x20], xmm6
punpcklwd xmm13, xmm1
movdqa xmm8, xmm0
movdqa xmm7, xmm0
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm1, xmmword [str.9999]
paddd xmm8, xmm1
movdqa xmm9, xmm4
movdqa xmmword [rbp], xmm4
paddd xmm9, xmm1
movdqa xmm10, xmm2
movdqa xmmword [rbp + 0x20], xmm2
paddd xmm10, xmm1
movdqa xmm11, xmm3
movdqa xmmword [rbp + 0x10], xmm3
paddd xmm11, xmm1
movdqa xmm0, xmm13
pandn xmm0, xmm11
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm1, xmm8
movdqa xmm0, xmmword [0x140262a80]
pand xmm1, xmm0
movdqa xmm3, xmm9
pand xmm3, xmm0
movdqa xmm14, xmm10
pand xmm14, xmm0
movdqa xmm15, xmm11
pand xmm15, xmm0
movdqa xmm6, xmm0
psubd xmm6, xmm7
movdqa xmm2, xmmword [str.0000_b_b_b_b]
pand xmm6, xmm2
por xmm6, xmm1
movdqa xmm7, xmm0
psubd xmm7, xmm4
pand xmm7, xmm2
por xmm7, xmm3
movdqa xmm12, xmm0
psubd xmm12, xmmword [rbp + 0x20]
pand xmm12, xmm2
por xmm12, xmm14
movdqa xmm1, xmm0
movdqa xmm4, xmmword [rbp + 0x10]
psubd xmm1, xmm4
pand xmm1, xmm2
por xmm1, xmm15
movdqa xmm0, xmmword [0x140262aa0]
movdqa xmm3, xmm0
psubd xmm3, xmm4
movdqa xmm2, xmmword [0x140262ab0]
pand xmm3, xmm2
movdqa xmm4, xmmword [0x140262ac0]
pand xmm11, xmm4
por xmm11, xmm3
movdqa xmm15, xmmword [rbp - 0x20]
movdqa xmm14, xmm15
pandn xmm14, xmm10
por xmm11, xmm1
movdqa xmm1, xmm0
psubd xmm1, xmmword [rbp + 0x20]
pand xmm1, xmm2
pand xmm10, xmm4
por xmm10, xmm1
movdqa xmm1, xmm5
pandn xmm1, xmm9
por xmm10, xmm12
movdqa xmm3, xmm0
psubd xmm3, xmmword [rbp]
pand xmm3, xmm2
pand xmm9, xmm4
por xmm9, xmm3
movdqa xmm12, xmmword [rbp - 0x30]
movdqa xmm3, xmm12
pandn xmm3, xmm8
por xmm9, xmm7
movdqa xmm7, xmm0
psubd xmm7, xmmword [rbp - 0x10]
pand xmm7, xmm2
pand xmm8, xmm4
por xmm8, xmm7
por xmm8, xmm6
movdqa xmm0, xmmword [0x140262ad0]
pxor xmm11, xmm0
pand xmm11, xmm13
por xmm11, xmmword [rbp - 0x40]
pxor xmm10, xmm0
pand xmm10, xmm15
por xmm10, xmm14
pxor xmm9, xmm0
pand xmm9, xmm5
por xmm9, xmm1
pxor xmm8, xmm0
pand xmm8, xmm12
por xmm8, xmm3
movdqa xmm0, xmmword [0x140259880]
pand xmm11, xmm0
pand xmm10, xmm0
packuswb xmm11, xmm10
pand xmm9, xmm0
pand xmm8, xmm0
packuswb xmm9, xmm8
packuswb xmm11, xmm9
movdqu xmmword [rbp + rcx + 0x30], xmm11
lea rdx, [rcx + 0x10]
movdqa xmm0, xmmword [0x140259280]
movdqa xmm3, xmmword [rbp + 0x10]
paddd xmm3, xmm0
movdqa xmm2, xmmword [rbp + 0x20]
paddd xmm2, xmm0
movdqa xmm4, xmmword [rbp]
paddd xmm4, xmm0
movdqa xmm1, xmmword [rbp - 0x10]
paddd xmm1, xmm0
movdqa xmm0, xmm1
test rcx, rcx
mov rcx, rdx
jne 0x1400b51ad
xor byte [rbp + 0x40], 0x49
xor byte [rbp + 0x41], 0x4a
xor byte [rbp + 0x42], 0x4b
xor byte [rbp + 0x43], 0x4c
xor byte [rbp + 0x44], 0x4d
xor byte [rbp + 0x45], 0x4e
test al, al
je 0x1400b54a6
movdqa xmm0, xmmword [rbp + 0x30]
movdqa xmm1, xmm0
pandn xmm1, xmmword [str.9:_____ABCDEFGH]
pand xmm0, xmmword [0x140262af0]
por xmm0, xmm1
movdqa xmmword [rbp + 0x30], xmm0
xor byte [rbp + 0x40], 0x49
xor byte [rbp + 0x41], 0x4a
xor byte [rbp + 0x42], 0x4b
xor byte [rbp + 0x43], 0x4c
xor byte [rbp + 0x44], 0x4d
xor byte [rbp + 0x45], 0x4e
xor ecx, ecx
movdqa xmm3, xmmword [0x1402591d0]
movdqa xmm2, xmmword [0x1402591c0]
movdqa xmm4, xmmword [str._b_t_n_v]
movdqa xmm0, xmmword [0x1402591a0]
jmp 0x1400b51ad
lea rcx, [rbp - 0x60]
lea rdx, [rbp + 0x30]
call fcn.14009e520
mov rdx, qword [0x1406d01d0]
lea r8, [rbp - 0x60]
mov rcx, rdi
call fcn.1400aa1c0
mov rbx, rax
lea rcx, [rbp - 0x60]
call fcn.14009eab0
mov qword [0x1406d02d8], rbx
lea rcx, [0x1406d02e0]
call fcn.1401f870c
jmp 0x1400b50d6