Function at 0x1402054f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r11, qword [rsp + 0xd0]
mov eax, dword [rsp + 0xd8]
mov esi, dword [r11]
mov ebx, dword [r11 + 4]
mov r13, rdx
mov r15d, r8d
mov rdi, r9
bswap esi
lea r10d, [r8 - 8]
bswap ebx
test eax, eax
je 0x140205680
test r10d, r10d
js 0x140205a50
mov r8d, r10d
mov dword [rsp + 0x38], r10d
mov r14, rcx
lea rbp, [rsp + 0x58]
shr r8d, 3
mov qword [rsp + 0xb0], rcx
lea eax, [r8 + 1]
mov dword [rsp + 0x28], r8d
lea r9, [rax*8]
mov qword [rsp + 0x30], r9
lea r12, [rdx + r9]
mov edx, esi
mov ecx, dword [r14]
mov eax, dword [r14 + 4]
add r13, 8
add r14, 8
bswap ecx
xor edx, ecx
bswap eax
mov rcx, rbp
xor eax, ebx
mov dword [rsp + 0x58], edx
mov rdx, rdi
mov dword [rsp + 0x5c], eax
call fcn.140204e30
mov ebx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
movzx eax, bl
movzx esi, bh
mov r10d, ebx
mov r9d, ebx
shl rax, 8
shr r10d, 0x10
mov r8d, edx
mov ecx, edx
shr r9d, 0x18
or rax, rsi
movzx r10d, r10b
movzx esi, dh
shl rax, 8
movzx r9d, r9b
shr r8d, 0x10
or rax, r10
movzx r10d, dl
movzx r8d, r8b
shr ecx, 0x18
shl rax, 8
or rax, r9
shl rax, 8
or rax, r10
shl rax, 8
or rax, rsi
shl rax, 8
or rax, r8
movzx r8d, cl
shl rax, 8
mov rcx, rax
or rcx, r8
mov qword [r13 - 8], rcx
cmp r13, r12
jne 0x140205570
mov r8d, dword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov esi, edx
mov r10d, dword [rsp + 0x38]
mov rcx, qword [rsp + 0xb0]
neg r8d
mov r11, qword [rsp + 0xd0]
shl r8d, 3
add rcx, r9
lea eax, [r15 + r8 - 0x10]
lea r15d, [r8 + r10]
cmp eax, 0xfffffff8
je 0x140205880
movsxd rax, r15d
add rax, rcx
cmp r15d, 7
ja case.0x140205678.0
lea rcx, [0x1402e2920]
mov r15d, r15d
movsxd rdx, dword [rcx + r15*4]
add rdx, rcx
jmp rdx
cmp r8d, 7
jle 0x140205a40
mov r8d, r10d
lea rbp, [rsp + 0x58]
mov dword [rsp + 0x44], r10d
mov r14, rcx
shr r8d, 3
mov qword [rsp + 0xb0], rcx
lea eax, [r8 + 1]
mov dword [rsp + 0x30], r8d
lea rdx, [rax*8]
mov dword [rsp + 0xc0], r15d
lea r12, [r13 + rdx]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0xd0], r11
mov qword [rsp + 0x28], rbp
nop dword [rax + rax]
mov rcx, qword [rsp + 0x28]
mov ebp, esi
mov r15d, ebx
mov esi, dword [r14]
mov ebx, dword [r14 + 4]
mov rdx, rdi
add r13, 8
add r14, 8
bswap esi
mov dword [rsp + 0x58], esi
bswap ebx
mov dword [rsp + 0x5c], ebx
call fcn.140205150
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x58]
xor ecx, r15d
xor edx, ebp
movzx eax, cl
mov r10d, ecx
mov r11d, ecx
movzx ecx, ch
shl rax, 8
shr r11d, 0x10
mov r8d, edx
mov r9d, edx
shr r10d, 0x18
or rax, rcx
movzx r11d, r11b
movzx ecx, dl
shl rax, 8
movzx r10d, r10b
movzx edx, dh
shr r9d, 0x10
or rax, r11
movzx r9d, r9b
shr r8d, 0x18
shl rax, 8
movzx r8d, r8b
or rax, r10
shl rax, 8
or rax, rcx
shl rax, 8
or rax, rdx
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
mov qword [r13 - 8], rax
cmp r13, r12
jne 0x1402056e0
mov r8d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0xc0]
mov rdx, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x44]
mov rcx, qword [rsp + 0xb0]
neg r8d
mov r11, qword [rsp + 0xd0]
shl r8d, 3
lea eax, [r15 + r8 - 0x10]
add rcx, rdx
lea r15d, [r8 + r10]
cmp eax, 0xfffffff8
je 0x140205880
mov ebp, dword [rcx]
mov r13d, dword [rcx + 4]
mov rdx, rdi
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xd0], r11
bswap ebp
bswap r13d
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], r13d
call fcn.140205150
movsxd rax, r15d
xor esi, dword [rsp + 0x58]
xor ebx, dword [rsp + 0x5c]
mov rdi, qword [rsp + 0x48]
mov r11, qword [rsp + 0xd0]
add rdi, rax
cmp r15d, 7
mov rax, rdi
ja case.0x140205831.0
lea rcx, [0x1402e2940]
mov r15d, r15d
movsxd rdx, dword [rcx + r15*4]
add rdx, rcx
jmp rdx
mov byte [rdi - 1], bh
sub rax, 1
mov edx, ebx
sub rax, 1
shr edx, 0x10
mov byte [rax], dl
shr ebx, 0x18
lea rdx, [rax - 1]
mov byte [rax - 1], bl
mov byte [rdx - 1], sil
lea rax, [rdx - 1]
mov ebx, esi
lea rdx, [rax - 1]
mov byte [rax - 1], bh
mov ecx, esi
lea rax, [rdx - 1]
shr ecx, 0x10
mov byte [rdx - 1], cl
shr esi, 0x18
mov byte [rax - 1], sil
mov ebx, r13d
mov esi, ebp
nop dword [rax + rax]
mov eax, esi
mov edx, esi
mov ecx, ebx
movzx edi, bh
shr eax, 0x18
shr edx, 0x10
mov r8d, eax
mov eax, esi
shr ecx, 0x10
movzx eax, ah
mov r9d, eax
mov eax, ebx
shr eax, 0x18
mov r10d, eax
movzx ebx, bl
movzx edi, dil
movzx eax, cl
shl rbx, 8
or rbx, rdi
shl rbx, 8
mov rcx, rbx
or rcx, rax
movzx eax, r10b
shl rcx, 8
mov r10, rcx
or r10, rax
movzx eax, sil
mov rsi, r10
shl rsi, 8
or rsi, rax
movzx eax, r9b
shl rsi, 8
mov r9, rsi
or r9, rax
movzx eax, dl
mov rdx, r9
shl rdx, 8
or rdx, rax
movzx eax, r8b
shl rdx, 8
mov r8, rdx
or r8, rax
mov qword [r11], r8
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
movzx edx, byte [rax - 1]
sub rax, 1
shl edx, 0x10
or edx, ecx
lea rcx, [rax - 1]
movzx eax, byte [rax - 1]
shl eax, 0x18
or eax, edx
xor ebx, eax
movzx r8d, byte [rcx - 1]
lea rax, [rcx - 1]
movzx ecx, byte [rax - 1]
lea rdx, [rax - 1]
shl ecx, 8
or ecx, r8d
lea rax, [rdx - 1]
movzx edx, byte [rdx - 1]
shl edx, 0x10
or edx, ecx
movzx eax, byte [rax - 1]
shl eax, 0x18
or eax, edx
xor esi, eax
mov rdx, rdi
lea rcx, [rsp + 0x58]
mov qword [rsp + 0xd0], r11
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], ebx
call fcn.140204e30
mov ebp, dword [rsp + 0x58]
mov eax, dword [rsp + 0x5c]
mov edi, ebp
mov r15d, eax
mov r13d, eax
mov r14d, eax
shr edi, 0x10
shr r15d, 8
mov ebx, eax
movzx eax, al
mov dword [rsp + 0x28], edi
mov edx, edi
shl rax, 8
mov edi, r15d
movzx r15d, r15b
shr r14d, 0x10
mov esi, ebp
mov r11d, ebp
shr r13d, 0x18
or rax, r15
mov ecx, r14d
movzx r14d, r14b
shl rax, 8
mov r10d, r13d
movzx r13d, r13b
shr esi, 8
or rax, r14
mov dword [rsp + 0x30], esi
mov r9d, esi
mov esi, ebp
shl rax, 8
movzx ebp, bpl
shr r11d, 0x18
or rax, r13
mov r8d, r11d
shl rax, 8
or rax, rbp
movzx ebp, byte [rsp + 0x30]
shl rax, 8
or rax, rbp
movzx ebp, byte [rsp + 0x28]
shl rax, 8
or rax, rbp
movzx ebp, r11b
mov r11, qword [rsp + 0xd0]
shl rax, 8
or rax, rbp
mov qword [r12], rax
jmp 0x1402058a5
mov qword [rsp + 0x48], rdx
mov eax, r10d
jmp 0x1402057ca
mov eax, r10d
mov r12, rdx
jmp 0x14020564e
xor edx, edx
jmp 0x140205962
mov rdx, rax
xor ecx, ecx
jmp 0x140205955
xor r8d, r8d
jmp 0x140205947
mov rcx, rax
jmp 0x14020593e
xor edx, edx
jmp 0x14020592f
movzx ecx, byte [rax - 1]
sub rax, 1
shl ecx, 8
jmp 0x140205922
mov rdx, rdi
jmp 0x14020584f
mov rdx, rdi
jmp 0x140205860