Function at 0x180057d94
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x148]
sub rsp, 0x220
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xor r8d, r8d
mov qword [rbp - 0x70], r12
xor edx, edx
mov byte [rbp - 0x80], r12b
lea r13d, [r12 + 0xf]
mov ecx, 0x13ee37f0
mov r15d, r13d
mov qword [rbp - 0x68], r13
mov esi, r12d
call fcn.1800c1c00
mov rcx, rax
call fcn.1800c2414
lea rcx, [rbp + 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
lea edx, [r12 + 0x1a]
xor ecx, ecx
xor r8d, r8d
call rax
mov r14d, 0x1f7047dd
test eax, eax
je 0x180057e4d
xorps xmm0, xmm0
mov byte [rbp + 0x150], r12b
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x70], r12
movups xmmword [rsp + 0x60], xmm0
mov r8, rbx
mov qword [rsp + 0x78], r12
lea rax, [rbp + 0x150]
inc r8
cmp byte [rax + r8], r12b
jne 0x180057e3b
lea rdx, [rbp + 0x150]
jmp 0x180057ec4
movdqa xmm0, xmmword [0x180007fd0]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov r8d, r12d
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0x10
jl 0x180057e63
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x40]
call fcn.180045474
xorps xmm0, xmm0
mov qword [rsp + 0x70], r12
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x78], r12
movups xmmword [rsp + 0x60], xmm0
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x180057eb8
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180029790
mov ecx, dword [0x1800c7ee0]
movabs rdi, 0x7fffffffffffffff
test ecx, ecx
je 0x180057ff0
sub ecx, 1
je 0x180057f6f
cmp ecx, 1
jne 0x1800580bd
movdqa xmm0, xmmword [0x180006f70]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x4331
mov r8d, r12d
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0x12
jl 0x180057f15
lea rax, [rsp + 0x40]
inc rbx
cmp byte [rax + rbx], r12b
jne 0x180057f48
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, rbx
jb 0x18005823d
lea rax, [rsp + 0x40]
jmp 0x180058067
movdqa xmm0, xmmword [0x180006480]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x2b6a2625
mov r8d, r12d
mov word [rsp + 0x54], 0x342a
mov byte [rsp + 0x56], 0x48
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0x17
jl 0x180057f99
lea rax, [rsp + 0x40]
inc rbx
cmp byte [rax + rbx], r12b
jne 0x180057fcc
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, rbx
jb 0x18005823d
lea rax, [rsp + 0x40]
jmp 0x180058067
movdqa xmm0, xmmword [0x1800071a0]
lea r9, [rsp + 0x40]
movdqu xmmword [rsp + 0x40], xmm0
mov word [rsp + 0x50], 0x302e
mov r8d, r12d
mov byte [rsp + 0x52], 0x44
mov eax, r14d
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x39
mov al, r8b
inc r8d
sub al, cl
add al, 0x32
xor byte [r9], al
inc r9
cmp r8d, 0x13
jl 0x180058012
lea rax, [rsp + 0x40]
inc rbx
cmp byte [rax + rbx], r12b
jne 0x180058045
mov rcx, qword [rsp + 0x70]
mov rax, rdi
sub rax, rcx
cmp rax, rbx
jb 0x18005823d
lea rax, [rsp + 0x40]
cmp qword [rsp + 0x78], r13
lea r9, [rsp + 0x60]
mov dl, byte [rbp + 0x150]
lea r8, [rsp + 0x60]
cmova r9, qword [rsp + 0x60]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x60]
call fcn.18002ca00
movups xmm1, xmmword [rbp - 0x50]
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmm1
movq rsi, xmm1
psrldq xmm0, 8
movq r15, xmm0
mov r14, qword [rbp - 0x80]
lea rbx, [rbp - 0x80]
cmp r15, r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
cmova rbx, r14
cmp rsi, rdi
ja 0x180058243
cmp rsi, r13
ja 0x1800580f7
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r13
movups xmm0, xmmword [rbx]
movdqu xmmword [rsp + 0x40], xmm0
jmp 0x18005815e
mov rax, rsi
or rax, r13
cmp rax, rdi
jbe 0x18005810e
movabs rcx, 0x8000000000000000
jmp 0x18005812a
mov ecx, 0x16
mov rdi, rax
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180058131
call fcn.180029604
jmp 0x180058140
test rcx, rcx
je 0x18005813d
call fcn.1800bf320
jmp 0x180058140
mov rax, r12
lea r8, [rsi + 1]
mov qword [rsp + 0x40], rax
mov rdx, rbx
mov qword [rsp + 0x50], rsi
mov rcx, rax
mov qword [rsp + 0x58], rdi
call fcn.1800c16a0
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x40]
call fcn.1800b1370
mov rdx, rax
lea rcx, [0x1800c7010]
mov rbx, rax
call fcn.18002e400
lea rdx, [rbx + 0x20]
lea rcx, [0x1800c7030]
call fcn.18002e400
mov eax, dword [rbx + 0x40]
lea rcx, [rbp - 0x40]
mov dword [0x1800c7050], eax
call fcn.18002e0b0
mov byte [section..data], r12b
call fcn.180064ea4
mov rdx, qword [rsp + 0x78]
cmp rdx, r13
jbe 0x1800581e4
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800581df
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058237
call fcn.1800bf340
cmp r15, r13
jbe 0x180058216
lea rdx, [r15 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x18005820e
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180058237
mov rcx, r14
call fcn.1800bf340
lea r11, [rsp + 0x220]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180089708
int3
call fcn.1800308bc
int3
call fcn.1800308bc
int3