Function at 0x180056060
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x90
mov rax, qword gs:[0x58]
mov ecx, dword [0x1802848b4]
mov edx, 4
mov rsi, qword [rax + rcx*8]
add rsi, rdx
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x1800560cf
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x1800560cf
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
xor r14d, r14d
mov dword [rbp + 0x67], 0x1baf4d
mov qword [rbp + 0x7f], r14
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, qword [rbp + 0x7f]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx r8d, byte [rbp + rax + 0x68]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x7f]
shl dl, 3
sub cl, dl
mov edx, 0x2d16aadf
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x68], dl
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 2
jb 0x1800560f0
lea r8, [rbp + 0x68]
mov byte [rbp + 0x6a], r14b
lea rdx, [rbp - 0x31]
lea rcx, [0x18028a930]
call fcn.180003fd0
mov rcx, qword [rbp - 0x31]
mov rbx, qword [rax + 8]
sub rbx, qword [rax]
test rcx, rcx
je 0x1800561a0
mov rdx, qword [rbp - 0x21]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18005618f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800564c3
call fcn.180249cb8
xorps xmm0, xmm0
mov qword [rbp - 0x31], r14
movdqu xmmword [rbp - 0x29], xmm0
test rbx, rbx
je 0x1800562bc
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x1800561e5
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x1800561e5
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
mov dword [rbp + 0x6f], 0x8c81d4
mov qword [rbp + 0x7f], r14
mov rax, qword [rbp + 0x7f]
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx r8d, byte [rbp + rax + 0x70]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x7f]
shl dl, 3
sub cl, dl
mov edx, 0x44681f1
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x70], dl
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 2
jb 0x180056200
lea r8, [rbp + 0x70]
mov byte [rbp + 0x72], r14b
lea rdx, [rbp - 0x19]
lea rcx, [0x18028a930]
call fcn.180003fd0
mov rcx, qword [rax]
call fcn.18025359c
mov rcx, qword [rbp - 0x19]
mov ebx, eax
test rcx, rcx
je 0x1800562b3
mov rdx, qword [rbp - 9]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1800562a2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800564bd
call fcn.180249cb8
xorps xmm0, xmm0
mov qword [rbp - 0x19], r14
movdqu xmmword [rbp - 0x11], xmm0
test bx, bx
jne 0x1800564ab
mov dword [rbp + 0x7f], 0x2f85
mov dword [rbp - 0x39], 0xd07a
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov qword [rsp + 0x88], rdi
mov edi, dword [rbp + 0x7f]
mov dword [rbp - 0x39], 0x15f
mov dword [rbp + 0x7f], 0x2a1
mov ecx, dword [rbp + 0x7f]
mov eax, dword [rbp - 0x39]
add ecx, eax
mov dword [rbp + 0x7f], ecx
mov ebx, dword [rbp + 0x7f]
call fcn.18000ab80
xor edx, edx
lea r10, [rbp - 1]
mov ecx, edi
mov r8d, 0x57
sub ecx, ebx
inc ecx
div ecx
lea ecx, [rdi + 1]
mov rdi, qword [rsp + 0x88]
mov eax, edx
xor edx, edx
div ecx
add dx, bx
movzx ebx, dx
mov ecx, ebx
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
mov eax, 0x30
cmp ecx, 0xa
cmovge eax, r8d
add al, cl
mov ecx, edx
mov byte [r10], al
inc r10
test edx, edx
jg 0x180056330
lea rax, [rbp - 1]
mov byte [r10], r14b
sub r10d, eax
mov r9d, r14d
mov r11d, r10d
shr r11d, 1
je 0x1800563a8
lea r8, [rbp - 1]
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [r8]
lea rcx, [rbp - 1]
mov eax, r10d
lea r8, [r8 + 1]
sub eax, r9d
inc r9d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r8 - 1], al
mov byte [rcx], dl
cmp r9d, r11d
jb 0x180056380
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x1800563e4
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x1800563e4
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
mov dword [rbp + 0x77], 0xed42a8
mov qword [rbp + 0x7f], r14
mov rax, qword [rbp + 0x7f]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x7f]
mov rax, qword [rbp + 0x7f]
movzx r8d, byte [rbp + rax + 0x78]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x7f]
shl dl, 3
sub cl, dl
mov edx, 0xb6ceb32
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x78], dl
mov rax, qword [rbp + 0x7f]
inc rax
mov qword [rbp + 0x7f], rax
mov rax, qword [rbp + 0x7f]
cmp rax, 2
jb 0x180056400
lea r8, [rbp - 1]
mov byte [rbp + 0x7a], r14b
lea rdx, [rbp + 0x78]
lea rcx, [0x18028a930]
call fcn.180003d40
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x18005649f
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18005649f
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
lea rcx, [0x18028a930]
call fcn.180003860
movzx eax, bx
add rsp, 0x90
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret
call fcn.1802514a4
int3
call fcn.1802514a4
int3