Function at 0x140024440
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d0
mov rdi, rcx
movabs rbx, 0x7fe085d9e85b5045
call fcn.140024c00
mov qword [rsp + 0x78], rbx
xor ecx, ecx
nop word [rax + rax]
mov edx, ecx
mov byte [rsp + rcx + 0x88], cl
mov rdx, rcx
inc rdx
mov rcx, rdx
cmp rdx, 0x100
jne 0x140024470
xor ecx, ecx
mov edx, 8
xor r8d, r8d
xor r9d, r9d
nop dword [rax + rax]
movzx r10d, byte [rsp + rdx + 0x80]
add r8b, r10b
movsxd r9, r9d
add r8b, byte [rsp + r9 + 0x78]
movzx r11d, r8b
movzx esi, byte [rsp + r11 + 0x88]
mov byte [rsp + rdx + 0x80], sil
mov byte [rsp + r11 + 0x88], r10b
cmp r9d, 7
lea r9d, [r9 + 1]
cmovge r9d, ecx
mov r10, rdx
inc r10
mov rdx, r10
cmp r10, 0x108
jne 0x1400244a0
movzx ecx, byte [rsp + 0x89]
mov edx, ecx
movzx r8d, byte [rsp + rcx + 0x88]
mov byte [rsp + 0x89], r8b
mov byte [rsp + rcx + 0x88], cl
add r8b, cl
movzx ecx, r8b
movzx ecx, byte [rsp + rcx + 0x88]
xor rcx, 0x4c
movzx r8d, byte [rsp + 0x8a]
mov r9b, r8b
mov r10b, dl
lea edx, [r9 + r10]
movzx r9d, dl
mov edx, r9d
movzx r10d, byte [rsp + rdx + 0x88]
mov byte [rsp + 0x8a], r10b
mov byte [rsp + rdx + 0x88], r8b
add r10b, r8b
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0x88]
xor edx, 0x1d
movzx r8d, byte [rsp + 0x8b]
add r9b, r8b
movzx r9d, r9b
mov r10d, r9d
movzx r11d, byte [rsp + r10 + 0x88]
mov byte [rsp + 0x8b], r11b
mov byte [rsp + r10 + 0x88], r8b
add r11b, r8b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x88]
xor r8d, 0x7a
movzx r10d, byte [rsp + 0x8c]
add r9b, r10b
movzx r11d, r9b
mov r9d, r11d
movzx esi, byte [rsp + r9 + 0x88]
mov byte [rsp + 0x8c], sil
mov byte [rsp + r9 + 0x88], r10b
add sil, r10b
movzx r9d, sil
movzx r9d, byte [rsp + r9 + 0x88]
xor r9d, 7
movzx r10d, byte [rsp + 0x8d]
add r11b, r10b
movzx r11d, r11b
mov esi, r11d
movzx ebp, byte [rsp + rsi + 0x88]
mov byte [rsp + 0x8d], bpl
mov byte [rsp + rsi + 0x88], r10b
add bpl, r10b
movzx r10d, bpl
movzx r10d, byte [rsp + r10 + 0x88]
xor r10d, 0xf0
movzx esi, byte [rsp + 0x8e]
add r11b, sil
movzx ebp, r11b
mov r11d, ebp
movzx r14d, byte [rsp + r11 + 0x88]
mov byte [rsp + 0x8e], r14b
mov byte [rsp + r11 + 0x88], sil
add r14b, sil
movzx r11d, r14b
movzx r11d, byte [rsp + r11 + 0x88]
xor r11d, 0xb1
movzx esi, byte [rsp + 0x8f]
add bpl, sil
movzx ebp, bpl
mov r14d, ebp
movzx r15d, byte [rsp + r14 + 0x88]
mov byte [rsp + 0x8f], r15b
mov byte [rsp + r14 + 0x88], sil
add r15b, sil
movzx esi, r15b
movzx esi, byte [rsp + rsi + 0x88]
xor esi, 0x9c
movzx r14d, byte [rsp + 0x90]
add bpl, r14b
movzx ebp, bpl
mov r15d, ebp
movzx r12d, byte [rsp + r15 + 0x88]
mov byte [rsp + 0x90], r12b
mov byte [rsp + r15 + 0x88], r14b
add r12b, r14b
movzx r14d, r12b
movzx r14d, byte [rsp + r14 + 0x88]
xor r14d, 0x69
mov dword [rsp + 0x80], 8
mov dword [rsp + 0x84], ebp
shl r14, 0x38
shl rsi, 0x30
or rsi, r14
shl r11, 0x28
or r11, rsi
shl r10, 0x20
or r10, r11
shl r9d, 0x18
or r9, r10
shl r8d, 0x10
or r8, r9
shl edx, 8
mov esi, edx
or rsi, r8
or rsi, rcx
xor rsi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
mov rcx, rsi
mov rdx, rdi
call fcn.140022550
test eax, eax
js 0x140024be3
mov qword [rsp + 0x70], rbx
xor eax, eax
nop dword [rax + rax]
mov ecx, eax
mov byte [rsp + rax + 0x190], al
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x100
jne 0x140024760
xor eax, eax
mov ecx, 8
xor edx, edx
xor r8d, r8d
nop word [rax + rax]
movzx r9d, byte [rsp + rcx + 0x188]
add dl, r9b
movsxd r8, r8d
add dl, byte [rsp + r8 + 0x70]
movzx r10d, dl
movzx r11d, byte [rsp + r10 + 0x190]
mov byte [rsp + rcx + 0x188], r11b
mov byte [rsp + r10 + 0x190], r9b
cmp r8d, 7
lea r8d, [r8 + 1]
cmovge r8d, eax
mov r9, rcx
inc r9
mov rcx, r9
cmp r9, 0x108
jne 0x140024790
movzx eax, byte [rsp + 0x191]
mov ecx, eax
movzx edx, byte [rsp + rax + 0x190]
mov byte [rsp + 0x191], dl
mov byte [rsp + rax + 0x190], al
add dl, al
movzx eax, dl
movzx eax, byte [rsp + rax + 0x190]
xor rax, 0x4c
movzx edx, byte [rsp + 0x192]
mov r8b, dl
mov r9b, cl
lea ecx, [r8 + r9]
movzx r8d, cl
mov ecx, r8d
movzx r9d, byte [rsp + rcx + 0x190]
mov byte [rsp + 0x192], r9b
mov byte [rsp + rcx + 0x190], dl
add r9b, dl
movzx ecx, r9b
movzx ecx, byte [rsp + rcx + 0x190]
xor ecx, 0x1d
movzx edx, byte [rsp + 0x193]
add r8b, dl
movzx r8d, r8b
mov r9d, r8d
movzx r10d, byte [rsp + r9 + 0x190]
mov byte [rsp + 0x193], r10b
mov byte [rsp + r9 + 0x190], dl
add r10b, dl
movzx edx, r10b
movzx edx, byte [rsp + rdx + 0x190]
xor edx, 0x7a
movzx r9d, byte [rsp + 0x194]
add r8b, r9b
movzx r10d, r8b
mov r8d, r10d
movzx r11d, byte [rsp + r8 + 0x190]
mov byte [rsp + 0x194], r11b
mov byte [rsp + r8 + 0x190], r9b
add r11b, r9b
movzx r8d, r11b
movzx r8d, byte [rsp + r8 + 0x190]
xor r8d, 7
movzx r9d, byte [rsp + 0x195]
add r10b, r9b
movzx r10d, r10b
mov r11d, r10d
movzx ebx, byte [rsp + r11 + 0x190]
mov byte [rsp + 0x195], bl
mov byte [rsp + r11 + 0x190], r9b
add bl, r9b
movzx r9d, bl
movzx r9d, byte [rsp + r9 + 0x190]
xor r9d, 0xf0
movzx r11d, byte [rsp + 0x196]
add r10b, r11b
movzx edi, r10b
mov r10d, edi
movzx ebx, byte [rsp + r10 + 0x190]
mov byte [rsp + 0x196], bl
mov byte [rsp + r10 + 0x190], r11b
add bl, r11b
movzx r10d, bl
movzx r10d, byte [rsp + r10 + 0x190]
xor r10d, 0xb1
movzx r11d, byte [rsp + 0x197]
mov ebx, edi
add bl, r11b
movzx edi, bl
mov ebx, edi
movzx ebp, byte [rsp + rbx + 0x190]
mov byte [rsp + 0x197], bpl
mov byte [rsp + rbx + 0x190], r11b
add bpl, r11b
movzx r11d, bpl
movzx r11d, byte [rsp + r11 + 0x190]
xor r11d, 0x9c
movzx ebx, byte [rsp + 0x198]
add dil, bl
movzx edi, dil
mov r14d, edi
movzx ebp, byte [rsp + r14 + 0x190]
mov byte [rsp + 0x198], bpl
mov byte [rsp + r14 + 0x190], bl
add bpl, bl
movzx ebx, bpl
movzx ebx, byte [rsp + rbx + 0x190]
xor ebx, 0x69
mov dword [rsp + 0x188], 8
mov dword [rsp + 0x18c], edi
shl rbx, 0x38
shl r11, 0x30
or r11, rbx
shl r10, 0x28
or r10, r11
shl r9, 0x20
or r9, r10
shl r8d, 0x18
or r8, r9
shl edx, 0x10
or rdx, r8
shl ecx, 8
mov r9d, ecx
or r9, rdx
or r9, rax
xor r9, rsi
je 0x140024bdc
cmp qword [rsp + 0x30], 0
je 0x140024bdc
cmp qword [rsp + 0x38], 0
je 0x140024bdc
lea rdi, [rsp + 0x60]
mov ecx, 0x10
xor eax, eax
rep stosb byte [rdi], al
xor ecx, ecx
xor eax, eax
xchg rbx, r8
cpuid
xchg rbx, r8
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], r8d
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x6c], edx
movzx eax, ax
shl r8d, 0x10
or r8d, eax
mov eax, r8d
mov rbx, qword [rsp + 0x30]
xor rbx, rax
mov r14, rax
xor r14, qword [rsp + 0x38]
add rbx, r9
add r14, r9
movups xmm0, xmmword [0x1400265a6]
movups xmmword [rsp + 0x2b0], xmm0
movups xmm0, xmmword [0x1400265b2]
movups xmmword [rsp + 0x2bc], xmm0
xor eax, eax
nop word cs:[rax + rax]
mov ecx, eax
mov dl, al
lea ecx, [rdx + 0x39]
xor byte [rsp + rax + 0x2b0], cl
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x1c
jne 0x140024ab0
movups xmm0, xmmword [0x1400265ce]
movups xmmword [rsp + 0x29c], xmm0
movups xmm0, xmmword [0x1400265c2]
movups xmmword [rsp + 0x290], xmm0
xor eax, eax
nop dword [rax]
mov ecx, eax
mov dl, al
lea ecx, [rdx + 0x39]
xor byte [rsp + rax + 0x290], cl
mov rcx, rax
inc rcx
mov rax, rcx
cmp rcx, 0x1c
jne 0x140024af0
lea rdx, [rsp + 0x290]
lea r8, [rsp + 0x2b0]
mov rcx, r9
mov r9d, 0x1b
call fcn.140001100
test rax, rax
je 0x140024bdc
movsxd rcx, dword [rax + 3]
mov rdi, qword [rax + rcx + 7]
mov rcx, rsi
mov rdx, rdi
call fcn.1400011b0
test al, al
je 0x140024bdc
mov rdi, qword [rdi + 0x40]
mov rcx, rsi
mov rdx, rdi
call fcn.1400011b0
mov ecx, 0xc0000001
test al, al
je 0x140024be5
movabs rax, 0x7878787878787878
mov qword [rsp + 0x57], rax
mov byte [rsp + 0x5f], 0
movabs rax, 0x6e656e6f706d6f43
mov qword [rsp + 0x4e], rax
mov byte [rsp + 0x56], 0
lea rax, [rsp + 0x57]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 8
lea r9, [rsp + 0x4e]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x989680
call fcn.140002e80
test rax, rax
je 0x140024bf9
add rax, 0xffffffffffffff5c
movsxd rcx, dword [r14 + 3]
xchg qword [r14 + rcx + 7], rax
movsxd rax, dword [rbx + 3]
xchg qword [rbx + rax + 7], r14
mov ecx, 0xc0000184
jmp 0x140024be5
mov ecx, 0xc0000001
jmp 0x140024be5
mov ecx, eax
mov eax, ecx
add rsp, 0x2d0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov ecx, 0xc000021b
jmp 0x140024be5