Function at 0x1400056f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x140156010]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov rdi, rcx
mov qword [rbp], rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
xor r8d, r8d
lea rdx, [0x14005ee73]
lea rcx, [rbp + 8]
call fcn.140009a20
nop
movdqa xmm0, xmmword [0x140149860]
movdqu xmmword [rbp - 0x28], xmm0
movdqa xmm1, xmmword [0x14014a170]
movdqu xmmword [rbp - 0x18], xmm1
mov byte [rbp - 8], r15b
lea rdx, [rbp - 0x27]
lea rcx, [rbp - 0x50]
call fcn.140005550
mov rbx, rax
lea rax, [rbp + 8]
cmp rax, rbx
je 0x1400057e2
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x1400057b3
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400057ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140005814
call fcn.14005b338
movdqa xmm0, xmmword [0x1401496c0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140005820
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000581b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000581b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005b338
lea rsi, [rbp + 8]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
cmovae rsi, r8
add rsi, qword [rbp + 0x18]
lea rbx, [rbp + 8]
cmp rdx, 0x10
cmovae rbx, r8
add rbx, qword [rbp + 0x18]
lea rcx, [rbp + 8]
cmp rdx, 0x10
cmovae rcx, r8
mov r8b, 0xa
mov rdx, rbx
call fcn.14005ae10
mov r8, rax
cmp rax, rbx
je 0x140005886
inc rax
cmp rax, rbx
je 0x140005886
nop
movzx ecx, byte [rax]
cmp cl, 0xa
je 0x14000587e
mov byte [r8], cl
inc r8
inc rax
cmp rax, rbx
jne 0x140005870
lea rax, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rax, qword [rbp + 8]
mov r9, r8
sub r9, rax
sub rsi, r8
mov rbx, qword [rbp + 0x18]
mov rax, rbx
sub rax, r9
cmp rax, rsi
cmovb rsi, rax
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
add rcx, r9
sub rbx, rsi
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + rsi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x18], rbx
lea rsi, [rbp + 8]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
cmovae rsi, r8
add rsi, rbx
lea rax, [rbp + 8]
cmp rdx, 0x10
cmovae rax, r8
add rbx, rax
lea rcx, [rbp + 8]
cmp rdx, 0x10
cmovae rcx, r8
mov r8b, 0xd
mov rdx, rbx
call fcn.14005ae10
mov r8, rax
cmp rax, rbx
je 0x14000593b
inc rax
cmp rax, rbx
je 0x14000593b
movzx ecx, byte [rax]
cmp cl, 0xd
je 0x140005933
mov byte [r8], cl
inc r8
inc rax
cmp rax, rbx
jne 0x140005925
lea rax, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rax, qword [rbp + 8]
mov r9, r8
sub r9, rax
sub rsi, r8
mov rbx, qword [rbp + 0x18]
mov rax, rbx
sub rax, r9
cmp rax, rsi
cmovb rsi, rax
lea rcx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, qword [rbp + 8]
add rcx, r9
sub rbx, rsi
mov r8, rbx
sub r8, r9
inc r8
lea rdx, [rcx + rsi]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x18], rbx
test rbx, rbx
je 0x1400059fc
lea rcx, [rbp + 8]
mov rsi, qword [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rcx, rsi
cmp rbx, 1
jne 0x1400059bc
mov r8, rbx
lea rdx, [0x14005ef10]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400059fc
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, rsi
mov r8, rbx
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.14000a3a0
lea rdx, [0x140009160]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movups xmm0, xmmword [rbp + 8]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x18]
movups xmmword [rdi + 0x10], xmm1
jmp 0x140005d31
movdqa xmm0, xmmword [0x1401498d0]
movdqa xmmword [rsp + 0x20], xmm0
movdqa xmm1, xmmword [0x140149e10]
movdqa xmmword [rsp + 0x30], xmm1
movdqa xmm0, xmmword [str.XM_bGN_bnAZM_IDD]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm1, xmmword [0x1401497b0]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm0, xmmword [0x1401497c0]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm1, xmmword [0x14014a2d0]
movdqa xmmword [rsp + 0x70], xmm1
mov dword [rbp - 0x80], 0x4e474758
mov dword [rbp - 0x7c], 0x4f4641
mov rcx, r15
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x21], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x22], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x23], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x24], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x25], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x26], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x27], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x28], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x29], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2a], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2b], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2c], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2d], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2e], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x2f], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x30], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x31], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x32], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x33], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x34], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x35], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x36], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x37], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x38], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x39], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3a], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3b], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3c], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3d], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3e], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x3f], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x40], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x41], al
movzx eax, byte [rsp + 0x20]
xor byte [rsp + rcx + 0x42], al
add rcx, 0x22
cmp rcx, 0x66
jb 0x140005a61
mov byte [rbp - 0x79], 0
movdqa xmm0, xmmword [0x140149f70]
movdqu xmmword [rbp - 0x70], xmm0
mov dword [rbp - 0x60], 0x5748206e
mov dword [rbp - 0x5c], 0xa204449
mov byte [rbp - 0x58], 0
lea r8, [rbp + 8]
lea rdx, [rbp - 0x6f]
lea rcx, [rbp - 0x28]
call fcn.1400091a0
nop
lea rcx, [rsp + 0x21]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], 0
jne 0x140005be2
lea rdx, [rsp + 0x21]
mov rcx, rax
call fcn.140008780
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140005c80
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c7b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005c7b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005b338
movdqa xmm0, xmmword [0x1401496c0]
movdqu xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140005ccf
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005cca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005cca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005b338
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], r15
mov r8d, 4
lea rdx, str.null
mov rcx, rdi
call fcn.140009a20
nop
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140005d31
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005d2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005d2c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14005b338
mov rax, rdi
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14005b040
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret