Function at 0x14001fc30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rbx, qword [rcx + 0x88]
lea rax, [rbp + 0x10]
mov qword [rbp - 0x20], rbx
xorps xmm0, xmm0
mov byte [rbp + 0x10], 0
mov r14, rcx
movups xmmword [rbp], xmm0
mov qword [rbp], 0x207
mov qword [rbp + 8], rax
movups xmmword [rbp - 0x10], xmm0
mov byte [rbp - 0x10], 0x20
test rbx, rbx
je 0x14001fc93
lea rdx, str._RAPass::BuildLiveness__n
mov rcx, rbx
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::Logger::logf_char_const____ptr64____ptr64
mov r13d, dword [r14 + 0x148]
mov r12d, dword [r14 + 0xb8]
mov esi, dword [r14 + 0xd8]
mov qword [rsp + 0x338], r15
lea edi, [r13 + 0x3f]
movaps xmmword [rsp + 0x320], xmm6
shr edi, 6
mov dword [rbp + 0x290], r12d
mov dword [rbp + 0x288], esi
mov dword [rbp + 0x298], r13d
mov dword [rsp + 0x30], edi
test r13d, r13d
jne 0x14001fcf9
test rbx, rbx
je 0x140021104
lea rdx, str.__Done__no_virtual_registers__n
mov rcx, rbx
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::Logger::logf_char_const____ptr64____ptr64
jmp 0x140021104
xor edx, edx
lea r15, [r14 + 0x18]
mov qword [rbp - 0x58], rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], rdx
mov dword [rbp - 0x68], edx
mov qword [rbp - 0x50], rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rdx
mov dword [rbp - 0x64], edx
mov qword [rbp - 0x48], rdx
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rdx
mov dword [rbp - 0x60], edx
mov qword [rsp + 0x50], r15
test r13d, r13d
je 0x14001fdc2
lea r8d, [rdx + 4]
mov r9d, r13d
mov rdx, r15
lea rcx, [rsp + 0x38]
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_grow_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov ebx, eax
test eax, eax
jne 0x140020057
mov rax, qword [rsp + 0x38]
mov r8, r13
shl r8, 2
mov rcx, rax
xor edx, edx
mov qword [rbp - 0x58], rax
call fcn.140081bd0
mov eax, dword [rsp + 0x44]
mov dword [rbp - 0x68], eax
test r13d, r13d
je 0x14001fdc2
mov r9d, r13d
lea r8d, [rbx + 4]
mov rdx, r15
lea rcx, [rsp + 0x58]
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_grow_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov ebx, eax
test eax, eax
jne 0x140020057
mov rax, qword [rsp + 0x58]
mov r8, r13
shl r8, 2
mov rcx, rax
xor edx, edx
mov qword [rbp - 0x50], rax
call fcn.140081bd0
mov eax, dword [rsp + 0x64]
mov dword [rbp - 0x64], eax
test r12d, r12d
je 0x14001fe07
mov r9d, r12d
lea rcx, [rsp + 0x78]
mov r8d, 4
mov rdx, r15
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_grow_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov ebx, eax
test eax, eax
jne 0x140020057
mov rax, qword [rsp + 0x78]
mov r8, r12
shl r8, 2
mov rcx, rax
xor edx, edx
mov qword [rbp - 0x48], rax
call fcn.140081bd0
mov eax, dword [rbp - 0x7c]
mov dword [rbp - 0x60], eax
xor r12d, r12d
test esi, esi
je 0x14001ffe5
xor r13d, r13d
nop word [rax + rax]
mov rax, qword [r14 + 0xd0]
mov r14d, dword [rbp + 0x298]
mov r9d, r14d
mov r8d, r14d
mov byte [rsp + 0x20], 0
mov rbx, qword [rax + r13]
mov rdx, qword [rbx]
lea rcx, [rbx + 0x78]
add rdx, 0x18
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneBitVector::_resize_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int__bool____ptr64
mov esi, eax
test eax, eax
jne 0x14002006d
mov rdx, qword [rbx]
lea rcx, [rbx + 0x88]
add rdx, 0x18
mov byte [rsp + 0x20], al
mov r9d, r14d
mov r8d, r14d
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneBitVector::_resize_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int__bool____ptr64
mov esi, eax
test eax, eax
jne 0x14002006d
mov rdx, qword [rbx]
lea rcx, [rbx + 0x98]
add rdx, 0x18
mov byte [rsp + 0x20], al
mov r9d, r14d
mov r8d, r14d
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneBitVector::_resize_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int__bool____ptr64
mov esi, eax
test eax, eax
jne 0x14002006d
mov rdx, qword [rbx]
lea rcx, [rbx + 0xa8]
add rdx, 0x18
mov byte [rsp + 0x20], al
mov r9d, r14d
mov r8d, r14d
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneBitVector::_resize_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int__bool____ptr64
mov esi, eax
test eax, eax
jne 0x14002006d
mov r15, qword [rbx + 0x10]
xor r14d, r14d
mov rsi, qword [rbx + 0x18]
mov rdi, qword [rbp - 0x50]
mov qword [rsp + 0x78], r15
test byte [rsi + 0x11], 0x20
je 0x14001ffac
mov r9, qword [rsi + 0x20]
mov eax, dword [r9 + 0xc]
test eax, eax
je 0x14001ffa9
mov r15, qword [rbp - 0x58]
add r9, 0x4c
mov r11d, eax
nop word [rax + rax]
mov ecx, dword [r9 - 4]
mov r8d, ecx
shr r8, 6
inc dword [r15 + rcx*4]
mov eax, dword [r9]
shr eax, 1
and eax, 1
add dword [rdi + rcx*4], eax
and ecx, 0x3f
mov rax, qword [rbx + 0xa8]
mov rdx, qword [rax + r8*8]
shr rdx, cl
test dl, 1
je 0x14001ff49
or dword [r9], 0x40000
jmp 0x14001ff63
mov rax, qword [rbx + 0x98]
mov rdx, qword [rax + r8*8]
shr rdx, cl
test dl, 1
jne 0x14001ff63
or dword [r9], 0x20000
mov eax, dword [r9]
mov edx, 1
mov r10, qword [rbx + 0xa8]
and al, 3
shl rdx, cl
cmp al, 2
jne 0x14001ff81
or qword [r10 + r8*8], rdx
jmp 0x14001ff96
mov rax, rdx
not rax
and qword [r10 + r8*8], rax
mov rax, qword [rbx + 0x98]
or qword [rax + r8*8], rdx
add r9, 0x18
sub r11, 1
jne 0x14001ff10
mov r15, qword [rsp + 0x78]
inc r14d
cmp rsi, r15
je 0x14001ffb9
mov rsi, qword [rsi]
jmp 0x14001fee0
mov eax, dword [rbx + 8]
inc r12d
mov rcx, qword [rbp - 0x48]
add r13, 8
mov esi, dword [rbp + 0x288]
mov edi, dword [rsp + 0x30]
mov dword [rcx + rax*4], r14d
mov r14, qword [rbp + 0x280]
cmp r12d, esi
jb 0x14001fe20
xorps xmm0, xmm0
mov qword [rsp + 0x48], 0
mov r8d, 0x110
mov qword [rsp + 0x68], 0
lea rdx, [r14 + 0x18]
mov qword [rsp + 0x70], 0
lea rcx, [rsp + 0x38]
movdqu xmmword [rsp + 0x38], xmm0
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneStackBase::_init_class_asmjit::ZoneAllocator____ptr64__unsigned_long_long_unsigned___int64_____ptr64
mov ebx, eax
test eax, eax
je 0x140020083
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x140020057
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x140020057
nop word [rax + rax]
mov rcx, qword [rdx + 8]
mov rax, qword [r8 + 0x50]
mov qword [rdx], rax
mov qword [r8 + 0x50], rdx
mov rdx, rcx
test rcx, rcx
jne 0x140020040
cmp byte [rbp - 0x10], 0x1f
jne 0x140020066
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, ebx
jmp 0x140021115
cmp byte [rbp - 0x10], 0x1f
jne 0x14002007c
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, esi
jmp 0x140021115
mov r8d, dword [r14 + 0xb8]
lea rdx, [r14 + 0x18]
mov r9d, r8d
mov byte [rsp + 0x20], 1
lea rcx, [rsp + 0x68]
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::ZoneBitVector::_resize_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int__bool____ptr64
mov ebx, eax
test eax, eax
je 0x1400200ed
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x1400200d7
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400200d7
nop word [rax + rax]
mov rcx, qword [rdx + 8]
mov rax, qword [r8 + 0x50]
mov qword [rdx], rax
mov qword [r8 + 0x50], rdx
mov rdx, rcx
test rcx, rcx
jne 0x1400200c0
cmp byte [rbp - 0x10], 0x1f
jne 0x140020066
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, ebx
jmp 0x140021115
movdqa xmm6, xmmword [0x140121880]
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x34], 0
test esi, esi
je 0x14002045c
xor r13d, r13d
nop dword [rax]
mov rax, qword [r14 + 0xd0]
mov r14b, 1
mov rsi, qword [rax + r13]
mov eax, dword [rsi + 0x70]
test eax, eax
je 0x14002023e
xor ebx, ebx
mov r15d, eax
nop
mov rax, qword [rsi + 0x68]
xor r11d, r11d
mov r10, qword [rsi + 0x88]
xor r8d, r8d
mov rcx, qword [rbx + rax]
mov r9, qword [rcx + 0x78]
test edi, edi
je 0x14002021e
cmp edi, 4
jb 0x1400201e8
lea eax, [rdi - 1]
lea rdx, [r10 + rax*8]
lea rax, [r9 + rax*8]
cmp r10, rax
ja 0x140020173
cmp rdx, r9
jae 0x1400201e8
mov edx, edi
xorps xmm2, xmm2
and edx, 0xfffffffc
xorps xmm3, xmm3
nop
movdqu xmm0, xmmword [r10 + r8*8]
lea eax, [r8 + 2]
movdqu xmm1, xmmword [r9 + r8*8]
por xmm1, xmm0
movdqu xmmword [r10 + r8*8], xmm1
add r8d, 4
pxor xmm1, xmm0
por xmm2, xmm1
movdqu xmm0, xmmword [r10 + rax*8]
movdqu xmm1, xmmword [r9 + rax*8]
por xmm1, xmm0
movdqu xmmword [r10 + rax*8], xmm1
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
cmp r8d, edx
jb 0x140020180
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movq r11, xmm2
cmp r8d, edi
jae 0x14002021e
sub r9, r10
lea rdx, [r10 + r8*8]
mov eax, edi
sub eax, r8d
mov r8d, eax
nop word [rax + rax]
mov rax, qword [rdx]
mov rcx, qword [r9 + rdx]
lea rdx, [rdx + 8]
or rcx, rax
mov qword [rdx - 8], rcx
xor rcx, rax
or r11, rcx
sub r8, 1
jne 0x140020200
test r11, r11
setne al
add rbx, 8
or r14b, al
sub r15, 1
jne 0x140020130
test r14b, r14b
je 0x1400203a1
mov r10, qword [rsi + 0xa8]
xor ebx, ebx
mov r9, qword [rsi + 0x98]
mov r11, qword [rsi + 0x88]
mov r8, qword [rsi + 0x78]
test edi, edi
je 0x1400203a1
cmp edi, 8
jb 0x14002036e
lea eax, [rdi - 1]
mov ecx, eax
lea rdx, [r8 + rax*8]
lea rax, [r10 + rax*8]
cmp r8, rax
ja 0x140020285
cmp rdx, r10
jae 0x14002036e
lea rax, [r11 + rcx*8]
cmp r8, rax
ja 0x140020297
cmp rdx, r11
jae 0x14002036e
lea rax, [r9 + rcx*8]
cmp r8, rax
ja 0x1400202a9
cmp rdx, r9
jae 0x14002036e
mov edx, edi
and edx, 0xfffffff8
mov r14d, 4
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [r11 + rbx*8]
lea eax, [r14 - 2]
movdqu xmm1, xmmword [r9 + rbx*8]
por xmm1, xmm0
movdqu xmm0, xmmword [r10 + rbx*8]
pandn xmm0, xmm6
pand xmm1, xmm0
movdqu xmm0, xmmword [r11 + rax*8]
movdqu xmmword [r8 + rbx*8], xmm1
add ebx, 8
movdqu xmm1, xmmword [r9 + rax*8]
por xmm1, xmm0
movdqu xmm0, xmmword [r10 + rax*8]
pandn xmm0, xmm6
pand xmm1, xmm0
movdqu xmmword [r8 + rax*8], xmm1
mov eax, r14d
movdqu xmm0, xmmword [r11 + rax*8]
movdqu xmm1, xmmword [r9 + rax*8]
por xmm1, xmm0
movdqu xmm0, xmmword [r10 + rax*8]
pandn xmm0, xmm6
pand xmm1, xmm0
movdqu xmmword [r8 + rax*8], xmm1
lea eax, [r14 + 2]
add r14d, 8
movdqu xmm0, xmmword [r11 + rax*8]
movdqu xmm1, xmmword [r9 + rax*8]
por xmm1, xmm0
movdqu xmm0, xmmword [r10 + rax*8]
pandn xmm0, xmm6
pand xmm1, xmm0
movdqu xmmword [r8 + rax*8], xmm1
cmp ebx, edx
jb 0x1400202c0
cmp ebx, edi
jae 0x1400203a1
lea rdx, [r11 + rbx*8]
sub r9, r11
sub r10, r11
sub r8, r11
mov r11d, edi
sub r11d, ebx
mov rcx, qword [r9 + rdx]
or rcx, qword [rdx]
mov rax, qword [r10 + rdx]
lea rdx, [rdx + 8]
not rax
and rcx, rax
mov qword [r8 + rdx - 8], rcx
sub r11, 1
jne 0x140020381
lea rax, [r12 + 0x1f8]
mov rdx, r12
cmp qword [r12 + 0x18], rax
jbe 0x1400203f1
mov rbx, qword [rsp + 0x38]
lea r8, [rsp + 0x78]
mov rcx, rbx
mov edx, 0x200
call sym.phoenix_rainbow_loader.exe_public:_void____ptr64___cdecl_asmjit::ZoneAllocator::_alloc_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64_____ptr64____ptr64
mov rdx, rax
test rax, rax
je 0x140020424
mov qword [rax + 8], 0
lea rcx, [rax + 0x20]
mov qword [rax], r12
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [r12 + 8], rax
mov r12, rax
mov rax, qword [rdx + 0x18]
add r13, 8
mov ecx, dword [rsp + 0x34]
inc ecx
mov dword [rsp + 0x34], ecx
mov qword [rax], rsi
add rax, 8
mov esi, dword [rbp + 0x288]
mov qword [rdx + 0x18], rax
cmp ecx, esi
jae 0x14002045c
mov r14, qword [rbp + 0x280]
jmp 0x140020110
test rbx, rbx
je 0x1400209b7
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400209b7
nop dword [rax + rax]
mov rcx, qword [rdx + 8]
mov rax, qword [rbx + 0x50]
mov qword [rdx], rax
mov qword [rbx + 0x50], rdx
mov rdx, rcx
test rcx, rcx
jne 0x140020440
jmp 0x1400209b7
mov rbx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x68]
mov rax, qword [rbx + 0x10]
cmp rax, qword [r12 + 0x18]
je 0x140020847
nop word [rax + rax]
mov r13, qword [rax]
add rax, 8
mov qword [rbx + 0x10], rax
cmp rax, qword [rbx + 0x18]
jne 0x1400204ca
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400204b6
mov rdx, qword [rsp + 0x38]
mov rax, qword [rdx + 0x50]
mov qword [rbx], rax
mov qword [rdx + 0x50], rbx
mov rbx, rcx
mov qword [rcx], 0
jmp 0x1400204ca
cmp r12, rbx
jne 0x1400204ca
lea rax, [rbx + 0x110]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
mov eax, dword [r13 + 8]
mov edx, 1
mov r8d, eax
xor r14b, r14b
and al, 0x3f
shr r8, 6
movzx ecx, al
shl rdx, cl
not rdx
and qword [r15 + r8*8], rdx
mov eax, dword [r13 + 0x70]
test eax, eax
je 0x140020830
xor esi, esi
mov r15d, eax
nop dword [rax]
mov rax, qword [r13 + 0x68]
xor r11d, r11d
mov r10, qword [r13 + 0x88]
xor r8d, r8d
mov rcx, qword [rax + rsi]
mov r9, qword [rcx + 0x78]
test edi, edi
je 0x1400205ee
cmp edi, 4
jb 0x1400205b8
lea eax, [rdi - 1]
lea rdx, [r10 + rax*8]
lea rax, [r9 + rax*8]
cmp r10, rax
ja 0x14002053f
cmp rdx, r9
jae 0x1400205b8
mov edx, edi
xorps xmm2, xmm2
and edx, 0xfffffffc
xorps xmm3, xmm3
nop word [rax + rax]
movdqu xmm0, xmmword [r10 + r8*8]
lea eax, [r8 + 2]
movdqu xmm1, xmmword [r9 + r8*8]
por xmm1, xmm0
movdqu xmmword [r10 + r8*8], xmm1
add r8d, 4
pxor xmm1, xmm0
por xmm2, xmm1
movdqu xmm0, xmmword [r10 + rax*8]
movdqu xmm1, xmmword [r9 + rax*8]
por xmm1, xmm0
movdqu xmmword [r10 + rax*8], xmm1
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
cmp r8d, edx
jb 0x140020550
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movq r11, xmm2
cmp r8d, edi
jae 0x1400205ee
sub r9, r10
lea rdx, [r10 + r8*8]
mov eax, edi
sub eax, r8d
mov r8d, eax
nop word [rax + rax]
mov rax, qword [rdx]
mov rcx, qword [r9 + rdx]
lea rdx, [rdx + 8]
or rcx, rax
mov qword [rdx - 8], rcx
xor rcx, rax
or r11, rcx
sub r8, 1
jne 0x1400205d0
test r11, r11
setne al
add rsi, 8
or r14b, al
sub r15, 1
jne 0x140020500
mov r15, qword [rsp + 0x68]
test r14b, r14b
je 0x14002082a
mov r11, qword [r13 + 0xa8]
xor esi, esi
mov r10, qword [r13 + 0x98]
xor edx, edx
mov r14, qword [r13 + 0x88]
mov r9, qword [r13 + 0x78]
test edi, edi
je 0x14002082a
cmp edi, 4
jb 0x14002071d
lea eax, [rdi - 1]
mov ecx, eax
lea r8, [r9 + rax*8]
lea rax, [r11 + rax*8]
cmp r9, rax
ja 0x14002065c
cmp r8, r11
jae 0x14002071d
lea rax, [r14 + rcx*8]
cmp r9, rax
ja 0x14002066e
cmp r8, r14
jae 0x14002071d
lea rax, [r10 + rcx*8]
cmp r9, rax
ja 0x140020680
cmp r8, r10
jae 0x14002071d
mov r8d, edi
xorps xmm3, xmm3
and r8d, 0xfffffffc
xorps xmm4, xmm4
nop dword [rax]
movdqu xmm1, xmmword [r9 + rdx*8]
lea eax, [rdx + 2]
movdqu xmm0, xmmword [r14 + rdx*8]
movdqu xmm2, xmmword [r10 + rdx*8]
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + rdx*8]
pandn xmm0, xmm6
pand xmm2, xmm0
movdqu xmm0, xmmword [r14 + rax*8]
movdqu xmmword [r9 + rdx*8], xmm2
add edx, 4
pxor xmm2, xmm1
por xmm3, xmm2
movdqu xmm1, xmmword [r9 + rax*8]
movdqu xmm2, xmmword [r10 + rax*8]
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + rax*8]
pandn xmm0, xmm6
pand xmm2, xmm0
movdqu xmmword [r9 + rax*8], xmm2
pxor xmm2, xmm1
por xmm2, xmm4
movdqa xmm4, xmm2
cmp edx, r8d
jb 0x140020690
por xmm3, xmm2
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movq rsi, xmm3
cmp edx, edi
jae 0x14002075a
lea r8, [r14 + rdx*8]
sub r10, r14
sub r11, r14
sub r9, r14
mov r14d, edi
sub r14d, edx
mov rcx, qword [r10 + r8]
or rcx, qword [r8]
mov rax, qword [r11 + r8]
mov rdx, qword [r9 + r8]
lea r8, [r8 + 8]
not rax
and rcx, rax
mov qword [r9 + r8 - 8], rcx
xor rcx, rdx
or rsi, rcx
sub r14, 1
jne 0x140020730
test rsi, rsi
je 0x14002082a
mov r8d, dword [r13 + 0x60]
xor esi, esi
mov dword [rsp + 0x30], r8d
test r8d, r8d
je 0x14002082a
mov r9, qword [rsp + 0x68]
xor r14d, r14d
nop
mov rax, qword [r13 + 0x58]
mov r15, qword [r14 + rax]
mov ecx, dword [r15 + 8]
mov edx, ecx
and ecx, 0x3f
shr rdx, 6
mov rax, qword [r9 + rdx*8]
shr rax, cl
test al, 1
jne 0x140020816
mov eax, 1
shl rax, cl
or qword [r9 + rdx*8], rax
lea rax, [r12 + 0x1f8]
mov rdx, r12
cmp qword [r12 + 0x18], rax
jbe 0x140020807
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x78]
mov edx, 0x200
call sym.phoenix_rainbow_loader.exe_public:_void____ptr64___cdecl_asmjit::ZoneAllocator::_alloc_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64_____ptr64____ptr64
mov rdx, rax
test rax, rax
je 0x14002098b
mov r8d, dword [rsp + 0x30]
lea rcx, [rax + 0x20]
mov r9, qword [rsp + 0x68]
mov qword [rax + 8], 0
mov qword [rax], r12
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
mov qword [r12 + 8], rax
mov r12, rax
mov rax, qword [rdx + 0x18]
mov qword [rax], r15
add rax, 8
mov qword [rdx + 0x18], rax
inc esi
add r14, 8
cmp esi, r8d
jb 0x140020780
mov r15, qword [rsp + 0x68]
mov esi, dword [rbp + 0x288]
mov rax, qword [rbx + 0x10]
inc esi
mov dword [rbp + 0x288], esi
cmp rax, qword [r12 + 0x18]
jne 0x140020480
mov rdi, qword [rsp + 0x38]
test rdi, rdi
je 0x14002087b
mov rcx, qword [rbx + 8]
mov rax, qword [rdi + 0x50]
mov qword [rbx], rax
mov qword [rdi + 0x50], rbx
mov rbx, rcx
test rcx, rcx
jne 0x140020851
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
test r15, r15
je 0x140020899
mov r8d, dword [rsp + 0x74]
mov rdx, r15
shr r8, 3
mov rcx, r12
call fcn.140011a00
test rdi, rdi
je 0x1400208d0
test rbx, rbx
je 0x1400208d0
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 8]
mov rax, qword [rdi + 0x50]
mov qword [rbx], rax
mov qword [rdi + 0x50], rbx
mov rbx, rcx
test rcx, rcx
jne 0x1400208b0
nop word [rax + rax]
mov r13, qword [rbp - 0x20]
test r13, r13
je 0x1400209e7
mov r8d, esi
lea rdx, str.__LiveIn_Out_Done___u_visits__n
mov rcx, r13
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::Logger::logf_char_const____ptr64____ptr64
mov r15, qword [rbp + 0x280]
xor edi, edi
cmp dword [rbp + 0x290], edi
jbe 0x1400209ee
xor ebx, ebx
nop word [rax + rax]
mov rax, qword [r15 + 0xb0]
lea r8, str.___u_n
xor edx, edx
lea rcx, [rbp - 0x10]
mov rsi, qword [rbx + rax]
mov r9d, dword [rsi + 8]
call sym.phoenix_rainbow_loader.exe_public:_unsigned_int___cdecl_asmjit::String::_opFormat_unsigned_int__char_const____ptr64____ptr64
mov r14d, eax
test eax, eax
jne 0x1400209d0
mov r8, rsi
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.1400233a0
mov esi, eax
test eax, eax
jne 0x14002006d
mov rax, qword [r13]
mov r8, qword [rbp - 8]
mov r9, qword [rax + 8]
movzx eax, byte [rbp - 0x10]
cmp al, 0x1f
jae 0x14002096c
mov r8d, eax
lea rdx, [rbp - 0xf]
mov rcx, r13
cmovae rdx, qword [rbp + 8]
call r9
inc edi
add rbx, 8
cmp edi, dword [rbp + 0x290]
jb 0x140020910
jmp 0x1400209ee
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1400209b7
test rbx, rbx
je 0x1400209b7
nop word [rax + rax]
mov rcx, qword [rbx + 8]
mov rax, qword [rdx + 0x50]
mov qword [rbx], rax
mov qword [rdx + 0x50], rbx
mov rbx, rcx
test rcx, rcx
jne 0x1400209a0
cmp byte [rbp - 0x10], 0x1f
jne 0x1400209c6
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, 1
jmp 0x140021115
cmp byte [rbp - 0x10], 0x1f
jne 0x1400209df
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, r14d
jmp 0x140021115
mov r15, qword [rbp + 0x280]
xor esi, esi
cmp dword [rbp + 0x298], esi
jbe 0x140020ab7
mov rdi, qword [rbp - 0x50]
xor r14d, r14d
mov r13, qword [rbp - 0x58]
mov rbx, r12
sub r13, rdi
nop dword [rax]
mov rax, qword [r15 + 0x140]
mov r9d, dword [rdi + r13]
mov r15, qword [r14 + rax]
cmp r9d, dword [r15 + 0x6c]
lea rcx, [r15 + 0x60]
jbe 0x140020a46
mov r8d, 8
mov rdx, r12
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_reserve_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov rbx, qword [rsp + 0x50]
mov r12d, eax
test eax, eax
jne 0x140020aa0
mov r12, rbx
mov r9d, dword [rdi]
lea rcx, [r15 + 0x70]
cmp r9d, dword [rcx + 0xc]
jbe 0x140020a7f
mov r8d, 8
mov rdx, rbx
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_reserve_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov r15d, eax
test eax, eax
je 0x140020a82
cmp byte [rbp - 0x10], 0x1f
jne 0x140020a77
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, r15d
jmp 0x140021115
mov rbx, r12
inc esi
add r14, 8
add rdi, 4
cmp esi, dword [rbp + 0x298]
jae 0x140020ab7
mov r15, qword [rbp + 0x280]
jmp 0x140020a10
cmp byte [rbp - 0x10], 0x1f
jne 0x140020aaf
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, r12d
jmp 0x140021115
xor edx, edx
mov r12d, 2
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x30], edx
cmp dword [rbp + 0x290], edx
jbe 0x140020f62
mov r14, qword [rbp + 0x280]
xor r8d, r8d
xor ecx, ecx
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x68], rcx
nop word [rax + rax]
mov rax, qword [r14 + 0xb0]
mov rcx, qword [rcx + rax]
mov qword [rbp - 0x28], rcx
mov eax, dword [rcx + 0xc]
shr eax, 1
test al, 1
je 0x140020f39
mov rax, qword [rcx + 0x18]
xor edi, edi
mov rdx, qword [rcx + 0x10]
xorps xmm0, xmm0
mov qword [rbp - 0x30], rax
xorps xmm1, xmm1
mov rax, qword [rbp - 0x48]
mov ebx, edi
mov qword [rbp - 0x38], rdx
movups xmmword [rsp + 0x38], xmm0
mov eax, dword [r8 + rax]
mov dword [rcx + 0x20], r12d
movups xmmword [rsp + 0x58], xmm1
lea r11d, [r12 + rax*2]
mov dword [rcx + 0x24], r11d
mov r15d, dword [rcx + 0x80]
mov rsi, qword [rcx + 0x78]
add r15d, 0x3f
mov dword [rbp + 0x288], r11d
and r15, 0xffffffffffffffc0
jbe 0x140020b85
mov rbx, qword [rsi]
add rsi, 8
test rbx, rbx
jne 0x140020b90
nop dword [rax]
add rdi, 0x40
cmp rdi, r15
jae 0x140020b85
mov rbx, qword [rsi]
add rsi, 8
test rbx, rbx
je 0x140020b70
test rbx, rbx
je 0x140020c5a
nop
bsf rax, rbx
mov ecx, eax
add rax, rdi
btc rbx, rcx
test rbx, rbx
jne 0x140020bb7
add rdi, 0x40
cmp rdi, r15
jae 0x140020bb7
mov rbx, qword [rsi]
add rsi, 8
test rbx, rbx
je 0x140020ba2
mov ecx, eax
mov rax, qword [r14 + 0x140]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx + 0x20]
lea r14, [rdx + 0x40]
mov edx, dword [rdx + 0x48]
shr rax, 8
and eax, 0xf
inc dword [rsp + rax*4 + 0x38]
test edx, edx
je 0x140020bf5
mov rcx, qword [r14]
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
cmp dword [rcx + rax*4 + 4], r12d
jb 0x140020bf5
mov dword [rcx + rax*4 + 4], r11d
jmp 0x140020c46
cmp edx, dword [r14 + 0xc]
jne 0x140020c28
mov rdx, qword [rsp + 0x50]
mov r9d, 1
mov rcx, r14
lea r8d, [r9 + 0xb]
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_grow_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov r13d, eax
test eax, eax
jne 0x140020ff7
mov edx, dword [r14 + 8]
mov r11d, dword [rbp + 0x288]
mov eax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r14]
mov dword [rax + rcx*4], r12d
mov dword [rax + rcx*4 + 4], r11d
mov dword [rax + rcx*4 + 8], 0xff
inc dword [r14 + 8]
mov r14, qword [rbp + 0x280]
test rbx, rbx
jne 0x140020b90
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rsp + 0x64]
mov r8d, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x5c]
mov r10d, dword [rsp + 0x58]
mov rax, qword [rbp - 0x30]
mov dword [rbp - 0x6c], ecx
mov dword [rbp - 0x70], r8d
mov dword [rbp - 0x74], r9d
mov dword [rbp - 0x78], r10d
test byte [rdx + 0x11], 0x20
je 0x140020eb8
mov r14, qword [rdx + 0x20]
xor r13d, r13d
movups xmm0, xmmword [rsp + 0x38]
mov eax, dword [r14 + 0xc]
mov dword [rdx + 0x14], r12d
mov dword [rbp - 0x40], eax
movups xmmword [r14 + 0x18], xmm0
test eax, eax
je 0x140020e5a
lea rsi, [r14 + 0x4c]
mov r10d, dword [rsi - 4]
mov rax, qword [rbp + 0x280]
mov rax, qword [rax + 0x140]
mov rbx, qword [rax + r10*8]
mov ecx, dword [rbx + 0x68]
mov rax, qword [rbx + 0x60]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x68]
mov r9d, dword [rsi]
mov eax, r9d
shr eax, 1
test al, 1
je 0x140020cf3
mov ecx, dword [rbx + 0x78]
mov rax, qword [rbx + 0x70]
mov qword [rax + rcx*8], rdx
inc dword [rbx + 0x78]
mov r9d, dword [rsi]
mov eax, r9d
mov r8d, r9d
shr eax, 0x11
test al, 1
je 0x140020d2d
mov rax, qword [rbp - 0x28]
mov rdx, r10
shr rdx, 6
movzx ecx, r10b
and cl, 0x3f
mov rax, qword [rax + 0x88]
mov rdx, qword [rax + rdx*8]
shr rdx, cl
test dl, 1
jne 0x140020d2d
bts r8d, 0x12
mov dword [rsi], r8d
mov edx, dword [rbx + 0x48]
not r8d
and r8d, 1
lea r15d, [r8 + r12]
test edx, edx
je 0x140020d6c
mov rcx, qword [rbx + 0x40]
lea eax, [rdx - 1]
lea rax, [rax + rax*2]
mov r9d, dword [rcx + rax*4 + 4]
cmp r9d, r15d
jb 0x140020d6c
mov dword [rcx + rax*4 + 4], r11d
mov r8d, dword [rbx + 0x20]
shr r8, 8
and r8d, 0xf
cmp r9d, r15d
ja 0x140020dd7
jmp 0x140020dcd
cmp edx, dword [rbx + 0x4c]
jne 0x140020da3
mov rdx, qword [rsp + 0x50]
lea rcx, [rbx + 0x40]
mov r9d, 1
lea r8d, [r9 + 0xb]
call sym.phoenix_rainbow_loader.exe_protected:_unsigned_int___cdecl_asmjit::ZoneVectorBase::_grow_class_asmjit::ZoneAllocator____ptr64__unsigned_int__unsigned_int____ptr64
mov r12d, eax
test eax, eax
jne 0x140020aa0
mov edx, dword [rbx + 0x48]
mov r12d, dword [rsp + 0x34]
mov r11d, dword [rbp + 0x288]
mov eax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x40]
mov dword [rax + rcx*4], r15d
mov dword [rax + rcx*4 + 4], r11d
mov dword [rax + rcx*4 + 8], 0xff
inc dword [rbx + 0x48]
mov r8d, dword [rbx + 0x20]
shr r8, 8
and r8d, 0xf
inc dword [rsp + r8*4 + 0x38]
inc dword [r14 + r8*4 + 0x18]
mov ecx, dword [rsi]
mov eax, ecx
shr eax, 0x12
test al, 1
je 0x140020e06
movzx eax, cl
not al
and eax, 1
lea edx, [rax + 1]
mov eax, dword [rbx + 0x48]
dec eax
add edx, r12d
dec dword [rsp + r8*4 + 0x38]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x40]
mov dword [rax + rcx*4 + 4], edx
movzx edx, byte [rsi + 0x11]
cmp dl, 0xff
je 0x140020e22
cmp byte [rbx + 0x3b], 0xff
jne 0x140020e22
mov eax, dword [r14 + r8*4 + 0x38]
bt eax, edx
jb 0x140020e22
mov byte [rbx + 0x3b], dl
mov eax, dword [r14 + r8*4 + 0x38]
test eax, eax
je 0x140020e36
test dword [rsi], 0x40200
jne 0x140020e36
or dword [rbx + 0x2c], eax
mov rdx, qword [rbp - 0x38]
inc r13d
add rsi, 0x18
cmp r13d, dword [rbp - 0x40]
jb 0x140020cb2
mov ecx, dword [rbp - 0x6c]
mov r8d, dword [rbp - 0x70]
mov r9d, dword [rbp - 0x74]
mov r10d, dword [rbp - 0x78]
mov eax, dword [r14 + 0x18]
add r12d, 2
cmp r10d, eax
mov dword [rsp + 0x34], r12d
cmovae eax, r10d
mov r10d, eax
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x58], eax
mov eax, dword [r14 + 0x1c]
cmp r9d, eax
cmovae eax, r9d
mov r9d, eax
mov dword [rbp - 0x74], eax
mov dword [rsp + 0x5c], eax
mov eax, dword [r14 + 0x20]
cmp r8d, eax
cmovae eax, r8d
mov r8d, eax
mov dword [rbp - 0x70], eax
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + 0x24]
cmp ecx, eax
cmovae eax, ecx
mov ecx, eax
mov dword [rbp - 0x6c], eax
mov dword [rsp + 0x64], eax
mov rax, qword [rbp - 0x30]
cmp rdx, rax
je 0x140020eca
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x38], rdx
jmp 0x140020c80
mov r14, qword [rbp + 0x280]
mov rax, qword [rbp - 0x28]
movups xmm0, xmmword [rsp + 0x58]
mov edx, dword [rsp + 0x30]
movups xmmword [rax + 0x34], xmm0
mov eax, dword [r14 + 0x194]
cmp eax, r10d
cmovae r10d, eax
mov eax, dword [r14 + 0x198]
cmp eax, r9d
mov dword [r14 + 0x194], r10d
cmovae r9d, eax
mov eax, dword [r14 + 0x19c]
cmp eax, r8d
mov dword [r14 + 0x198], r9d
cmovae r8d, eax
mov eax, dword [r14 + 0x1a0]
cmp eax, ecx
mov dword [r14 + 0x19c], r8d
mov r8, qword [rsp + 0x78]
cmovae ecx, eax
mov dword [r14 + 0x1a0], ecx
mov rcx, qword [rsp + 0x68]
inc edx
add rcx, 8
mov dword [rsp + 0x30], edx
add r8, 4
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x78], r8
cmp edx, dword [rbp + 0x290]
jb 0x140020af0
mov eax, dword [rbp + 0x298]
mov rdi, qword [rbp + 0x280]
test eax, eax
je 0x140021046
movss xmm3, dword [0x14012090c]
xor r11d, r11d
mov ebx, eax
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x140]
xor r8d, r8d
mov r9, qword [r11 + rax]
mov rdx, qword [r9 + 0x40]
mov eax, dword [r9 + 0x48]
lea rcx, [rax + rax*2]
lea r10, [rdx + rcx*4]
cmp rdx, r10
je 0x14002100e
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rdx + 4]
sub eax, dword [rdx]
add rdx, 0xc
add r8d, eax
cmp rdx, r10
jne 0x140020fc0
test r8d, r8d
je 0x14002100e
mov eax, dword [r9 + 0x68]
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, rax
mov eax, r8d
cvtsi2sd xmm0, rax
divsd xmm1, xmm0
cvtpd2ps xmm2, xmm1
jmp 0x140021011
cmp byte [rbp - 0x10], 0x1f
jne 0x140021006
mov rcx, qword [rbp + 8]
call fcn.1400867c0
mov eax, r13d
jmp 0x140021115
xorps xmm2, xmm2
movss dword [r9 + 0x54], xmm2
add r11, 8
mov dword [r9 + 0x50], r8d
mov rax, qword [r9 + 8]
movzx ecx, byte [rax + 0xe]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm0, xmm2
movss dword [r9 + 0x58], xmm0
sub rbx, 1
jne 0x140020f90
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x14002109f
cmp byte [rbp - 0x10], 0x1f
jb 0x140021066
mov rax, qword [rbp + 8]
mov qword [rbp - 8], 0
mov byte [rax], 0
jmp 0x14002106e
mov qword [rbp - 0x10], 0
lea rdx, [rbp - 0x10]
mov rcx, rdi
call fcn.140023560
mov rax, qword [rbx]
mov r8, qword [rbp - 8]
mov r9, qword [rax + 8]
movzx eax, byte [rbp - 0x10]
cmp al, 0x1f
jae 0x140021090
mov r8d, eax
lea rdx, [rbp - 0xf]
mov rcx, rbx
cmovae rdx, qword [rbp + 8]
call r9
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400210c4
mov eax, dword [rbp - 0x68]
lea rbx, [rdi + 0x18]
mov rdx, rcx
mov rcx, rbx
lea r8d, [rax*4]
call fcn.140011a00
jmp 0x1400210c9
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x1400210e5
mov eax, dword [rbp - 0x64]
mov rcx, rbx
lea r8d, [rax*4]
call fcn.140011a00
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140021104
mov eax, dword [rbp - 0x60]
mov rdx, rcx
mov rcx, rbx
lea r8d, [rax*4]
call fcn.140011a00
cmp byte [rbp - 0x10], 0x1f
jne 0x140021113
mov rcx, qword [rbp + 8]
call fcn.1400867c0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x320]
mov r15, qword [rsp + 0x338]
add rsp, 0x340
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret