Function at 0x140055bdc
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x9f0
mov rax, qword [0x14016e040]
xor rax, rsp
mov qword [rsp + 0x9e0], rax
mov rbx, qword [0x140235eb0]
lea rcx, [rsp + 0x20]
mov rsi, qword [0x140235ea8]
mov ebp, 0x270
sub rbx, rsi
mov edi, ebp
sar rbx, 2
mov edx, 0x8b8b8b8b
cmp rbx, rbp
mov r8d, 0x9c0
lea rax, [rbx + 1]
cmovae rdi, rax
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
movabs r15, 0xa41a41a41a41a41b
test rdi, rdi
je 0x140055d4e
lea r11, [r9 + 0x132]
mov rax, r15
mul r11
mov rax, r11
lea r8, [r9 - 1]
sub rax, rdx
mov r10, r9
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub r11, rax
mov rax, r15
mul r9
mov r14d, dword [rsp + r11*4 + 0x20]
mov rax, r9
sub rax, rdx
mov ecx, r14d
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub r10, rax
mov rax, r15
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub r8, rax
xor ecx, dword [rsp + r8*4 + 0x20]
xor ecx, dword [rsp + r10*4 + 0x20]
mov eax, ecx
shr eax, 0x1b
xor eax, ecx
imul ecx, eax, 0x19660d
test r9, r9
jne 0x140055cf2
mov rax, rbx
jmp 0x140055d04
cmp r9, rbx
ja 0x140055d01
mov eax, dword [rsi + r9*4 - 4]
add rax, r10
jmp 0x140055d04
mov rax, r10
lea r8d, [rax + rcx]
lea eax, [r14 + rcx]
mov dword [rsp + r11*4 + 0x20], eax
lea rcx, [r9 + 0x13d]
mov rax, r15
inc r9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub rcx, rax
add dword [rsp + rcx*4 + 0x20], r8d
mov dword [rsp + r10*4 + 0x20], r8d
cmp r9, rdi
jb 0x140055c5b
add rdi, rbp
cmp r9, rdi
jae 0x140055e3c
lea rsi, [r9 - 1]
lea r11, [rsi + 0x133]
mov rax, r15
mul r11
lea rbx, [rsi + 1]
mov rax, r11
sub rax, rdx
mov r10, rbx
shr rax, 1
mov rcx, rsi
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub r11, rax
mov rax, r15
mul rbx
mov r9d, dword [rsp + r11*4 + 0x20]
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub r10, rax
mov rax, r15
mul rsi
mov rax, rsi
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub rcx, rax
mov edx, dword [rsp + rcx*4 + 0x20]
add edx, r9d
add edx, dword [rsp + r10*4 + 0x20]
mov eax, edx
shr eax, 0x1b
xor eax, edx
imul ecx, eax, 0x5d588b65
mov rax, r15
xor r9d, ecx
mov r8d, ecx
lea rcx, [rsi + 0x13e]
mov dword [rsp + r11*4 + 0x20], r9d
mul rcx
sub r8d, r10d
mov rax, rcx
sub rax, rdx
mov rsi, rbx
shr rax, 1
add rax, rdx
shr rax, 9
imul rax, rax, 0x270
sub rcx, rax
lea rax, [rbx + 1]
xor dword [rsp + rcx*4 + 0x20], r8d
mov dword [rsp + r10*4 + 0x20], r8d
cmp rax, rdi
jb 0x140055d5e
xor edx, edx
lea r9, [rsp + 0x20]
xor r8d, r8d
mov ecx, dword [r9]
lea rax, [0x140234b24]
mov dword [rax + r8*4], ecx
lea r9, [r9 + 4]
mov eax, ecx
or eax, edx
mov edx, ecx
shr edx, 0x1f
test r8, r8
cmovne edx, eax
inc r8
cmp r8, rbp
jb 0x140055e46
test edx, edx
jne 0x140055e7d
mov dword [0x140234b24], 0x80000000
mov dword [0x140234b20], ebp
mov rcx, qword [rsp + 0x9e0]
xor rcx, rsp
call fcn.140118ad0
lea r11, [rsp + 0x9f0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret