Function at 0x1400054d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov rax, qword [0x14000b008]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rbx, rdx
mov qword [rsp + 0x30], rcx
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x100
mov edi, 2
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x42]
lea r9, [rsp + 0x46]
sub r8, rbx
lea r10, [rsp + 0x4a]
sub r9, rbx
lea r11, [rsp + 0x4e]
sub r10, rbx
lea r14, [rsp + 0x40]
sub r11, rbx
lea r15, [rsp + 0x44]
sub r14, rbx
lea rsi, [rsp + 0x52]
sub r15, rbx
sub rsi, rbx
lea rbp, [rsp + 0x56]
sub rbp, rbx
lea rax, [rbx + 6]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rax - 5]
movzx edx, byte [rax - 6]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax - 4]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax - 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax - 1]
mov dword [rax + r14 - 6], edx
movzx edx, byte [rax - 2]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 3]
mov dword [rax + r15 - 6], edx
movzx edx, byte [rax + 2]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 4]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 5]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 7]
mov dword [rax + r8], edx
movzx edx, byte [rax + 6]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 8]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 9]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0xb]
mov dword [rax + r9], edx
movzx edx, byte [rax + 0xa]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0xc]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0xd]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0xf]
mov dword [rax + r10], edx
movzx edx, byte [rax + 0xe]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x10]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x11]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x13]
mov dword [rax + r11], edx
movzx edx, byte [rax + 0x12]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x14]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x15]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x17]
mov dword [rax + rsi], edx
movzx edx, byte [rax + 0x16]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 0x18]
lea rax, [rax + 0x20]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax - 7]
shl edx, 8
or edx, ecx
mov dword [rax + rbp - 0x20], edx
sub rdi, 1
jne 0x140005570
mov r10d, dword [rsp + 0x44]
lea rdi, [rsp + 0x44]
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], 4
nop
mov r8d, dword [rdi + 4]
mov r12d, r10d
mov r11d, dword [rdi + 0x34]
mov eax, r10d
mov ebx, dword [rdi + 0x38]
mov ecx, r11d
mov r9d, dword [rdi + 8]
mov edx, r8d
ror eax, 7
mov r15d, ebx
mov r13d, dword [rdi + 0x2c]
ror edx, 0x12
ror r12d, 0x12
xor r12d, eax
ror r15d, 0x13
ror ecx, 0x13
mov eax, r10d
shr eax, 3
xor r12d, eax
mov eax, r11d
ror eax, 0x11
xor ecx, eax
mov eax, r11d
shr eax, 0xa
xor ecx, eax
mov eax, r8d
ror eax, 7
add r12d, ecx
add r12d, dword [rdi - 4]
xor edx, eax
add r12d, dword [rdi + 0x20]
mov eax, r8d
shr eax, 3
mov r14d, r12d
xor edx, eax
ror r14d, 0x13
mov eax, ebx
mov dword [rdi + 0x3c], r12d
ror eax, 0x11
xor r15d, eax
mov eax, ebx
shr eax, 0xa
xor r15d, eax
lea eax, [r10 + rdx]
mov r10d, dword [rdi + 0xc]
add r15d, eax
add r15d, dword [rdi + 0x24]
mov eax, r9d
ror eax, 7
mov edx, r9d
ror edx, 0x12
mov esi, r15d
xor edx, eax
ror esi, 0x13
mov eax, r9d
mov dword [rdi + 0x40], r15d
shr eax, 3
xor edx, eax
mov eax, r12d
ror eax, 0x11
xor r14d, eax
mov eax, r12d
shr eax, 0xa
xor r14d, eax
lea eax, [r8 + rdx]
add r14d, eax
mov edx, r10d
add r14d, dword [rdi + 0x28]
mov eax, r10d
ror eax, 7
ror edx, 0x12
xor edx, eax
mov dword [rdi + 0x44], r14d
mov eax, r10d
shr eax, 3
xor edx, eax
mov eax, r15d
ror eax, 0x11
xor esi, eax
mov eax, r15d
shr eax, 0xa
mov r8d, dword [rdi + 0x10]
lea rbp, [rdi + 0x30]
xor esi, eax
lea eax, [r9 + rdx]
add esi, eax
mov edx, r8d
ror edx, 0x12
add esi, r13d
mov dword [rdi + 0x48], esi
mov eax, r8d
ror eax, 7
mov edi, r14d
xor edx, eax
ror edi, 0x13
mov eax, r8d
mov ecx, esi
shr eax, 3
xor edx, eax
ror ecx, 0x13
mov eax, r14d
ror eax, 0x11
xor edi, eax
mov eax, r14d
shr eax, 0xa
xor edi, eax
lea eax, [r10 + rdx]
mov r10, qword [rsp + 0x20]
add edi, eax
add edi, dword [rbp]
mov r9d, dword [r10 + 0x14]
mov edx, r9d
ror edx, 0x12
mov eax, r9d
ror eax, 7
xor edx, eax
mov dword [r10 + 0x4c], edi
mov eax, r9d
shr eax, 3
xor edx, eax
mov eax, esi
ror eax, 0x11
add r8d, edx
xor ecx, eax
mov eax, esi
shr eax, 0xa
xor ecx, eax
add r8d, ecx
mov ecx, edi
ror ecx, 0x13
add r8d, r11d
mov r11d, dword [r10 + 0x18]
mov edx, r11d
ror edx, 0x12
mov eax, r11d
ror eax, 7
xor edx, eax
mov dword [r10 + 0x50], r8d
mov eax, r11d
shr eax, 3
xor edx, eax
mov eax, edi
ror eax, 0x11
xor ecx, eax
mov eax, edi
shr eax, 0xa
xor ecx, eax
lea eax, [rbx + rdx]
add ecx, eax
add r9d, ecx
mov ecx, r8d
mov dword [r10 + 0x54], r9d
mov r10d, dword [r10 + 0x1c]
mov edx, r10d
ror edx, 0x12
mov eax, r10d
ror eax, 7
xor edx, eax
mov eax, r10d
shr eax, 3
xor edx, eax
ror ecx, 0x13
mov eax, r8d
shr r8d, 0xa
ror eax, 0x11
xor ecx, eax
lea eax, [r12 + rdx]
mov r12, qword [rsp + 0x20]
xor r8d, ecx
add r8d, eax
mov ecx, r9d
ror ecx, 0x13
add r8d, r11d
mov ebx, dword [r12 + 0x20]
mov edx, ebx
mov r11d, dword [r12 + 0x24]
mov eax, ebx
ror eax, 7
ror edx, 0x12
xor edx, eax
mov dword [r12 + 0x58], r8d
mov eax, ebx
shr eax, 3
xor edx, eax
mov eax, r9d
ror eax, 0x11
xor ecx, eax
shr r9d, 0xa
xor r9d, ecx
mov ecx, r8d
lea eax, [r15 + rdx]
ror ecx, 0x13
add r9d, eax
mov edx, r11d
ror edx, 0x12
add r9d, r10d
mov r10d, dword [r12 + 0x28]
mov eax, r11d
ror eax, 7
xor edx, eax
mov dword [r12 + 0x5c], r9d
mov eax, r11d
shr eax, 3
xor edx, eax
mov eax, r8d
ror eax, 0x11
xor ecx, eax
shr r8d, 0xa
xor r8d, ecx
mov ecx, r9d
lea eax, [r14 + rdx]
ror ecx, 0x13
add r8d, eax
mov edx, r10d
ror edx, 0x12
add r8d, ebx
mov eax, r10d
mov dword [r12 + 0x60], r8d
ror eax, 7
xor edx, eax
mov eax, r10d
shr eax, 3
xor edx, eax
mov eax, r9d
ror eax, 0x11
xor ecx, eax
shr r9d, 0xa
xor ecx, r9d
lea eax, [rsi + rdx]
mov edx, r13d
add ecx, eax
ror edx, 0x12
add ecx, r11d
mov eax, r13d
ror eax, 7
xor edx, eax
mov dword [r12 + 0x64], ecx
shr r13d, 3
mov ecx, r8d
xor edx, r13d
ror ecx, 0x13
mov eax, r8d
ror eax, 0x11
xor ecx, eax
shr r8d, 0xa
xor ecx, r8d
mov qword [rsp + 0x20], rbp
lea eax, [rdi + rdx]
mov rdi, rbp
add ecx, eax
add ecx, r10d
mov r10d, dword [rbp]
sub qword [rsp + 0x28], 1
mov dword [r12 + 0x68], ecx
jne 0x1400056b0
mov r15, qword [rsp + 0x30]
lea r13, [0x140008570]
xor r12d, r12d
mov ebx, dword [r15]
mov r11d, dword [r15 + 4]
mov r10d, dword [r15 + 8]
mov r9d, dword [r15 + 0xc]
mov r14d, dword [r15 + 0x10]
mov ebp, dword [r15 + 0x14]
mov esi, dword [r15 + 0x18]
mov edi, dword [r15 + 0x1c]
nop dword [rax + rax]
mov r8d, r14d
mov eax, r14d
ror eax, 0xb
mov ecx, r14d
ror r8d, 0x19
not ecx
xor r8d, eax
and ecx, esi
mov eax, r14d
ror eax, 6
xor r8d, eax
mov eax, ebp
and eax, r14d
xor ecx, eax
mov eax, ebx
add r8d, ecx
ror eax, 0xd
add r8d, dword [r12 + r13]
mov ecx, r11d
add r8d, dword [rsp + r12 + 0x40]
xor ecx, ebx
add r8d, edi
and ecx, r10d
add r9d, r8d
mov edi, ebx
ror edi, 0x16
xor edi, eax
mov eax, ebx
ror eax, 2
xor edi, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
mov eax, r9d
ror eax, 0xb
add edi, ecx
add edi, r8d
mov ecx, r9d
not ecx
mov r8d, r9d
ror r8d, 0x19
and ecx, ebp
xor r8d, eax
mov eax, r9d
ror eax, 6
xor r8d, eax
mov eax, r14d
and eax, r9d
xor ecx, eax
mov eax, edi
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x44]
mov ecx, ebx
add r8d, dword [r12 + r13 + 4]
xor ecx, edi
add r8d, esi
and ecx, r11d
add r10d, r8d
mov esi, edi
ror esi, 0x16
xor esi, eax
mov eax, edi
ror eax, 2
xor esi, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, r10d
add esi, ecx
ror eax, 0xb
add esi, r8d
mov ecx, r10d
mov r8d, r10d
not ecx
ror r8d, 0x19
xor r8d, eax
mov eax, r10d
ror eax, 6
xor r8d, eax
and ecx, r14d
mov eax, r9d
and eax, r10d
xor ecx, eax
mov eax, esi
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x48]
mov ecx, edi
add r8d, dword [r12 + r13 + 8]
xor ecx, esi
add r8d, ebp
and ecx, ebx
add r11d, r8d
mov ebp, esi
ror ebp, 0x16
xor ebp, eax
mov eax, esi
ror eax, 2
xor ebp, eax
mov eax, edi
and eax, esi
xor ecx, eax
mov eax, r11d
ror eax, 0xb
add ebp, ecx
add ebp, r8d
mov ecx, r11d
not ecx
mov r8d, r11d
ror r8d, 0x19
and ecx, r9d
xor r8d, eax
mov eax, r11d
ror eax, 6
xor r8d, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
mov eax, ebp
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x4c]
mov ecx, esi
add r8d, dword [r12 + r13 + 0xc]
xor ecx, ebp
add r8d, r14d
and ecx, edi
add ebx, r8d
mov r14d, ebp
ror r14d, 0x16
xor r14d, eax
mov eax, ebp
ror eax, 2
xor r14d, eax
mov eax, esi
and eax, ebp
xor ecx, eax
mov eax, ebx
ror eax, 0xb
add r14d, ecx
add r14d, r8d
mov ecx, ebx
not ecx
mov r8d, ebx
ror r8d, 0x19
and ecx, r10d
xor r8d, eax
mov eax, ebx
ror eax, 6
xor r8d, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
mov eax, r14d
add r8d, ecx
add r8d, dword [rsp + r12 + 0x50]
add r8d, dword [r12 + r13 + 0x10]
add r8d, r9d
mov r9d, r14d
ror r9d, 0x16
ror eax, 0xd
xor r9d, eax
add edi, r8d
mov eax, r14d
mov ecx, ebp
ror eax, 2
xor ecx, r14d
xor r9d, eax
and ecx, esi
mov eax, ebp
and eax, r14d
xor ecx, eax
mov eax, edi
ror eax, 0xb
add r9d, ecx
add r9d, r8d
mov ecx, edi
not ecx
mov r8d, edi
and ecx, r11d
ror r8d, 0x19
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
mov eax, ebx
and eax, edi
xor ecx, eax
mov eax, r9d
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x54]
mov ecx, r14d
add r8d, dword [r12 + r13 + 0x14]
xor ecx, r9d
add r8d, r10d
and ecx, ebp
add esi, r8d
mov r10d, r9d
ror r10d, 0x16
xor r10d, eax
mov eax, r9d
ror eax, 2
xor r10d, eax
mov eax, r14d
and eax, r9d
xor ecx, eax
mov eax, esi
ror eax, 0xb
add r10d, ecx
add r10d, r8d
mov ecx, esi
not ecx
mov r8d, esi
ror r8d, 0x19
and ecx, ebx
xor r8d, eax
mov eax, esi
ror eax, 6
xor r8d, eax
mov eax, edi
and eax, esi
xor ecx, eax
mov eax, r10d
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x58]
mov ecx, r9d
add r8d, dword [r12 + r13 + 0x18]
xor ecx, r10d
add r8d, r11d
and ecx, r14d
mov r11d, r10d
ror r11d, 0x16
xor r11d, eax
mov eax, r10d
ror eax, 2
xor r11d, eax
mov eax, r9d
and eax, r10d
xor ecx, eax
add r11d, ecx
add r11d, r8d
add ebp, r8d
mov r8d, ebp
mov eax, ebp
ror eax, 0xb
mov ecx, ebp
ror r8d, 0x19
not ecx
xor r8d, eax
and ecx, edi
mov eax, ebp
ror eax, 6
xor r8d, eax
mov eax, esi
and eax, ebp
xor ecx, eax
mov eax, r11d
add r8d, ecx
ror eax, 0xd
add r8d, dword [rsp + r12 + 0x5c]
mov ecx, r10d
add r8d, dword [r12 + r13 + 0x1c]
xor ecx, r11d
add r8d, ebx
and ecx, r9d
mov ebx, r11d
add r14d, r8d
ror ebx, 0x16
add r12, 0x20
xor ebx, eax
mov eax, r11d
ror eax, 2
xor ebx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
add ebx, ecx
add ebx, r8d
cmp r12, 0x100
jb 0x1400059f0
add dword [r15], ebx
add dword [r15 + 4], r11d
add dword [r15 + 8], r10d
add dword [r15 + 0xc], r9d
add dword [r15 + 0x10], r14d
add dword [r15 + 0x14], ebp
add dword [r15 + 0x18], esi
add dword [r15 + 0x1c], edi
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140005f50
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret