Function at 0x61f6f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov eax, 0x78
call fcn.00693bc0
sub rsp, rax
cmp dword [rsp + 0xb8], 0
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov rbx, rdx
mov qword [rsp + 0x38], r15
mov r13, r9
mov r11, rcx
je 0x61ff0d
mov r12, qword [rsp + 0xb0]
lea r15d, [r8 - 8]
lea rsi, [0x00400000]
movzx eax, byte [r12 + 1]
movzx edi, byte [r12]
movzx r9d, byte [r12 + 4]
movzx ecx, byte [r12 + 7]
shl eax, 8
lea rbp, [r12 + 1]
or edi, eax
movzx eax, byte [rbp + 1]
shl ecx, 8
shl eax, 0x10
mov qword [rsp + 0x28], rbp
or edi, eax
movzx eax, byte [rbp + 2]
shl eax, 0x18
or edi, eax
movzx eax, byte [rbp + 4]
shl eax, 8
or r9d, eax
movzx eax, byte [rbp + 5]
or ecx, eax
shl ecx, 0x10
or r9d, ecx
test r15d, r15d
js 0x61fdbb
mov rax, qword [rsp + 0xa0]
lea r14d, [r15 + 8]
lea r12, [r13 + 8]
add rax, 0x70
shr r14, 3
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x80]
add rax, 8
mov qword [rsp + 0x88], rax
mov eax, r14d
neg eax
lea r15d, [r15 + rax*8]
mov dword [rsp + 0xb8], r15d
mov r15, qword [rsp + 0x88]
nop
nop
movzx eax, byte [r11 + 1]
movzx edx, byte [r11]
movzx ecx, byte [r11 + 4]
shl eax, 8
add r11, 8
mov r13d, 8
or edx, eax
movzx eax, byte [r11 - 6]
shl eax, 0x10
or edx, eax
movzx eax, byte [r11 - 5]
shl eax, 0x18
or edx, eax
movzx eax, byte [r11 - 3]
shl eax, 8
xor edx, edi
or ecx, eax
movzx eax, byte [r11 - 2]
shl eax, 0x10
or ecx, eax
movzx eax, byte [r11 - 1]
shl eax, 0x18
or ecx, eax
xor ecx, r9d
mov r9d, ecx
shr r9d, 4
xor r9d, edx
and r9d, 0xf0f0f0f
mov r8d, r9d
shl r9d, 4
xor r9d, ecx
xor r8d, edx
mov eax, r8d
shr eax, 0x10
xor eax, r9d
movzx ecx, ax
xor r9d, ecx
shl ecx, 0x10
xor r8d, ecx
mov eax, r9d
shr eax, 2
xor eax, r8d
and eax, 0x33333333
xor r8d, eax
shl eax, 2
xor r9d, eax
mov eax, r8d
shr eax, 8
xor eax, r9d
and eax, 0xff00ff
xor r9d, eax
shl eax, 8
xor r8d, eax
mov eax, r9d
shr eax, 1
xor eax, r8d
and eax, 0x55555555
mov edi, eax
xor edi, r8d
lea r10d, [rax + rax]
xor r10d, r9d
ror edi, 0x1d
ror r10d, 0x1d
nop
nop
nop
mov r9d, dword [r12 - 4]
mov ecx, dword [r12 - 8]
add r12, 0x10
xor ecx, edi
xor r9d, edi
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
mov ecx, dword [r12 - 0x10]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r12 - 0xc]
xor r10d, edx
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor edi, edx
dec r13
jne 0x61f8f0
ror r10d, 3
ror edi, 3
mov r12, rbp
ror r10d, 0x1d
ror edi, 0x1d
mov r13d, 8
nop
nop
mov r9d, dword [r12 + 0xc]
mov ecx, dword [r12 + 8]
sub r12, 0x10
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r12 + 0x14]
xor edi, edx
xor r9d, edi
mov ecx, edi
xor ecx, dword [r12 + 0x10]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor r10d, edx
dec r13
jne 0x61fa40
ror edi, 3
ror r10d, 3
mov r12, r15
ror edi, 0x1d
ror r10d, 0x1d
mov r13d, 8
nop
nop
mov r9d, dword [r12 - 4]
mov ecx, dword [r12 - 8]
add r12, 0x10
xor ecx, edi
xor r9d, edi
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r12 - 0xc]
xor r10d, edx
xor r9d, r10d
mov ecx, r10d
xor ecx, dword [r12 - 0x10]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor edi, edx
dec r13
jne 0x61fb90
mov r12, qword [rsp + 0x20]
ror r10d, 3
ror edi, 3
mov eax, edi
add rbx, 8
shr eax, 1
xor eax, r10d
and eax, 0x55555555
mov edx, eax
lea r8d, [rax + rax]
xor edx, r10d
xor r8d, edi
mov eax, edx
shr eax, 8
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
shl eax, 8
xor edx, eax
mov eax, r8d
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
shl eax, 2
xor r8d, eax
mov eax, edx
shr eax, 0x10
xor eax, r8d
movzx ecx, ax
xor r8d, ecx
shl ecx, 0x10
xor edx, ecx
mov r9d, r8d
shr r9d, 4
xor r9d, edx
and r9d, 0xf0f0f0f
mov edi, r9d
shl r9d, 4
xor edi, edx
xor r9d, r8d
mov byte [rbx - 8], dil
movzx eax, dil
mov eax, edi
shr eax, 8
mov dword [rsp + 0x80], edi
mov dword [rsp + 0x84], r9d
mov byte [rbx - 7], al
mov eax, edi
shr eax, 0x10
mov byte [rbx - 6], al
mov eax, edi
shr eax, 0x18
mov byte [rbx - 5], al
mov byte [rbx - 4], r9b
movzx eax, r9b
mov eax, r9d
shr eax, 8
mov byte [rbx - 3], al
mov eax, r9d
shr eax, 0x10
mov byte [rbx - 2], al
mov eax, r9d
shr eax, 0x18
dec r14
mov byte [rbx - 1], al
jne 0x61f810
mov rbp, qword [rsp + 0x28]
mov r15d, dword [rsp + 0xb8]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x98]
cmp r15d, 0xfffffff8
je 0x61fecf
xor edx, edx
lea ecx, [r15 + 8]
movsxd rax, ecx
mov r8d, edx
add r11, rax
dec ecx
cmp ecx, 7
ja case.default.0x61fde8
movsxd rax, ecx
mov ecx, dword [rsi + rax*4 + 0x2206c0]
add rcx, rsi
jmp rcx
movzx edx, byte [r11 - 1]
dec r11
shl edx, 0x18
movzx eax, byte [r11 - 1]
dec r11
shl eax, 0x10
or edx, eax
movzx eax, byte [r11 - 1]
dec r11
shl eax, 8
or edx, eax
movzx eax, byte [r11 - 1]
dec r11
or edx, eax
movzx r8d, byte [r11 - 1]
dec r11
shl r8d, 0x18
movzx eax, byte [r11 - 1]
dec r11
shl eax, 0x10
or r8d, eax
movzx eax, byte [r11 - 1]
dec r11
shl eax, 8
or r8d, eax
movzx eax, byte [r11 - 1]
or r8d, eax
xor edx, r9d
mov r9, qword [rsp + 0xa8]
xor r8d, edi
mov dword [rsp + 0x80], r8d
mov r8, qword [rsp + 0xa0]
mov dword [rsp + 0x84], edx
lea rcx, [rsp + 0x80]
mov rdx, r13
call fcn.0061ee80
mov edi, dword [rsp + 0x80]
mov r9d, dword [rsp + 0x84]
mov byte [rbx], dil
movzx eax, dil
mov eax, edi
shr eax, 8
mov byte [rbx + 1], al
mov eax, edi
shr eax, 0x10
mov byte [rbx + 2], al
mov eax, edi
shr eax, 0x18
mov byte [rbx + 3], al
mov byte [rbx + 4], r9b
movzx eax, r9b
mov eax, r9d
shr eax, 8
mov byte [rbx + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [rbx + 6], al
mov eax, r9d
shr eax, 0x18
mov byte [rbx + 7], al
mov byte [r12], dil
mov eax, edi
shr eax, 8
mov byte [rbp], al
mov eax, edi
shr edi, 0x18
shr eax, 0x10
mov byte [rbp + 1], al
mov byte [rbp + 2], dil
mov byte [rbp + 3], r9b
mov eax, r9d
shr eax, 8
mov byte [rbp + 4], al
mov eax, r9d
shr eax, 0x10
shr r9d, 0x18
mov byte [rbp + 5], al
mov byte [rbp + 6], r9b
jmp 0x620693
mov rax, qword [rsp + 0xb0]
lea r14d, [r8 - 8]
lea rsi, [0x00400000]
movzx ebp, byte [rax]
movzx r12d, byte [rax + 4]
movzx ecx, byte [rax + 7]
lea r15, [rax + 1]
shl ecx, 8
movzx eax, byte [r15]
mov qword [rsp + 0x20], r15
shl eax, 8
or ebp, eax
movzx eax, byte [r15 + 1]
shl eax, 0x10
or ebp, eax
movzx eax, byte [r15 + 2]
shl eax, 0x18
or ebp, eax
movzx eax, byte [r15 + 4]
shl eax, 8
or r12d, eax
movzx eax, byte [r15 + 5]
or ecx, eax
shl ecx, 0x10
or r12d, ecx
test r14d, r14d
js 0x62054e
mov r15, qword [rsp + 0xa8]
lea r9d, [r14 + 8]
shr r9, 3
add r15, 0x70
mov eax, r9d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x88], r9
neg eax
lea r14d, [r14 + rax*8]
mov dword [rsp + 0x80], r14d
nop
nop
movzx eax, byte [r11 + 1]
movzx r14d, byte [r11 + 4]
movzx r13d, byte [r11]
shl eax, 8
add r11, 8
or r13d, eax
movzx eax, byte [r11 - 6]
shl eax, 0x10
or r13d, eax
movzx eax, byte [r11 - 5]
shl eax, 0x18
or r13d, eax
movzx eax, byte [r11 - 3]
shl eax, 8
mov dword [rsp + 0x90], r13d
or r14d, eax
movzx eax, byte [r11 - 2]
shl eax, 0x10
or r14d, eax
movzx eax, byte [r11 - 1]
shl eax, 0x18
or r14d, eax
mov r8d, r14d
mov dword [rsp + 0xb8], r14d
shr r8d, 4
xor r8d, r13d
and r8d, 0xf0f0f0f
mov edx, r8d
shl r8d, 4
xor r8d, r14d
xor edx, r13d
mov r14d, 8
mov eax, edx
shr eax, 0x10
xor eax, r8d
movzx ecx, ax
xor r8d, ecx
shl ecx, 0x10
xor edx, ecx
mov eax, r8d
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
shl eax, 2
xor r8d, eax
mov eax, edx
shr eax, 8
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
shl eax, 8
xor edx, eax
mov eax, r8d
shr eax, 1
xor eax, edx
and eax, 0x55555555
mov edi, eax
xor edi, edx
lea r10d, [rax + rax]
xor r10d, r8d
ror edi, 0x1d
ror r10d, 0x1d
nop
mov r9d, dword [r15 + 0xc]
mov ecx, dword [r15 + 8]
sub r15, 0x10
xor ecx, edi
xor r9d, edi
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
mov ecx, dword [r15 + 0x10]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r15 + 0x14]
xor r10d, edx
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor edi, edx
dec r14
jne 0x620090
mov r15, qword [rsp + 0xa0]
ror r10d, 3
ror edi, 3
ror r10d, 0x1d
ror edi, 0x1d
add r15, 8
lea r13d, [r14 + 8]
nop
nop
mov r9d, dword [r15 - 4]
mov ecx, dword [r15 - 8]
add r15, 0x10
xor ecx, r10d
xor r9d, r10d
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r15 - 0xc]
xor edi, edx
xor r9d, edi
mov ecx, edi
xor ecx, dword [r15 - 0x10]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor r10d, edx
dec r13
jne 0x6201e0
mov r15, qword [rsp + 0x98]
ror edi, 3
ror r10d, 3
ror edi, 0x1d
lea r14d, [r13 + 8]
mov r13d, dword [rsp + 0x90]
ror r10d, 0x1d
add r15, 0x70
nop
nop
nop
nop
mov r9d, dword [r15 + 0xc]
mov ecx, dword [r15 + 8]
sub r15, 0x10
xor ecx, edi
xor r9d, edi
mov r8d, ecx
ror r9d, 4
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
mov r9d, dword [r15 + 0x14]
xor r10d, edx
xor r9d, r10d
mov ecx, r10d
xor ecx, dword [r15 + 0x10]
ror r9d, 4
mov r8d, ecx
shr rcx, 0x12
and ecx, 0x3f
mov rax, r8
mov edx, dword [rsi + rcx*4 + 0x2d1a70]
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1870]
mov al, r8b
shr r8, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1670]
mov rax, r9
shr rax, 0x12
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1b70]
mov rax, r9
shr rax, 0xa
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1970]
mov al, r9b
shr r9, 0x1a
shr al, 2
and eax, 0x3f
xor edx, dword [rsi + rax*4 + 0x2d1770]
xor edx, dword [rsi + r8*4 + 0x2d1c70]
xor edx, dword [rsi + r9*4 + 0x2d1d70]
xor edi, edx
dec r14
jne 0x620340
mov r15, qword [rsp + 0x28]
ror r10d, 3
ror edi, 3
mov eax, edi
add rbx, 8
shr eax, 1
xor eax, r10d
and eax, 0x55555555
mov edx, eax
lea r8d, [rax + rax]
xor edx, r10d
xor r8d, edi
mov eax, edx
shr eax, 8
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
shl eax, 8
xor edx, eax
mov eax, r8d
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
shl eax, 2
xor r8d, eax
mov eax, edx
shr eax, 0x10
xor eax, r8d
movzx ecx, ax
xor r8d, ecx
shl ecx, 0x10
xor edx, ecx
mov ecx, r8d
shr ecx, 4
xor ecx, edx
and ecx, 0xf0f0f0f
mov eax, ecx
shl ecx, 4
xor eax, edx
xor ecx, r8d
xor ebp, eax
xor r12d, ecx
mov byte [rbx - 8], bpl
mov eax, ebp
shr eax, 8
mov byte [rbx - 7], al
mov eax, ebp
shr ebp, 0x18
shr eax, 0x10
mov byte [rbx - 6], al
mov byte [rbx - 5], bpl
mov byte [rbx - 4], r12b
mov eax, r12d
mov ebp, r13d
shr eax, 8
mov byte [rbx - 3], al
mov eax, r12d
shr r12d, 0x18
shr eax, 0x10
dec qword [rsp + 0x88]
mov byte [rbx - 2], al
mov byte [rbx - 1], r12b
mov r12d, dword [rsp + 0xb8]
jne 0x61ffb0
mov r15, qword [rsp + 0x20]
mov r14d, dword [rsp + 0x80]
cmp r14d, 0xfffffff8
je 0x620650
movzx eax, byte [r11 + 1]
movzx edi, byte [r11]
movzx ecx, byte [r11 + 7]
movzx r13d, byte [r11 + 4]
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x98]
shl eax, 8
shl ecx, 8
or edi, eax
movzx eax, byte [r11 + 2]
shl eax, 0x10
or edi, eax
movzx eax, byte [r11 + 3]
shl eax, 0x18
or edi, eax
movzx eax, byte [r11 + 5]
shl eax, 8
mov dword [rsp + 0x80], edi
or r13d, eax
movzx eax, byte [r11 + 6]
or ecx, eax
shl ecx, 0x10
or r13d, ecx
lea rcx, [rsp + 0x80]
mov dword [rsp + 0x84], r13d
call fcn.0061efe0
xor ebp, dword [rsp + 0x80]
xor r12d, dword [rsp + 0x84]
lea ecx, [r14 + 8]
movsxd rax, ecx
add rbx, rax
dec ecx
cmp ecx, 7
ja case.default.0x620600
movsxd rax, ecx
mov ecx, dword [rsi + rax*4 + 0x2206e0]
add rcx, rsi
jmp rcx
dec rbx
mov eax, r12d
shr eax, 0x18
mov byte [rbx], al
dec rbx
mov eax, r12d
shr eax, 0x10
mov byte [rbx], al
dec rbx
mov eax, r12d
shr eax, 8
mov byte [rbx], al
dec rbx
mov byte [rbx], r12b
dec rbx
mov eax, ebp
shr eax, 0x18
mov byte [rbx], al
dec rbx
mov eax, ebp
shr eax, 0x10
mov byte [rbx], al
dec rbx
mov eax, ebp
shr eax, 8
mov byte [rbx], al
mov byte [rbx - 1], bpl
mov ebp, edi
mov r12d, r13d
mov rax, qword [rsp + 0xb0]
mov byte [rax], bpl
mov eax, ebp
shr eax, 8
mov byte [r15], al
mov eax, ebp
shr ebp, 0x18
shr eax, 0x10
mov byte [r15 + 1], al
mov byte [r15 + 2], bpl
mov byte [r15 + 3], r12b
mov eax, r12d
shr eax, 8
mov byte [r15 + 4], al
mov eax, r12d
shr eax, 0x10
shr r12d, 0x18
mov byte [r15 + 5], al
mov byte [r15 + 6], r12b
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
add rsp, 0x78
ret