Function at 0x14009f0b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x208
mov r12, rcx
mov rax, rdx
mov qword [rsp + 0x38], rdx
cmp rdx, 0x21
jae 0x1400a0949
cmp qword [rsp + 0x38], 2
jb 0x1400a0f0b
mov rax, qword [rsp + 0x38]
mov rcx, rax
shr rcx, 1
cmp rax, 0x12
mov rdx, rcx
cmovb rdx, rax
lea rbx, [r12 + rcx*8]
sub rax, rcx
mov qword [rsp + 0xf8], rax
mov r8, r12
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0x100], rcx
nop word cs:[rax + rax]
cmp rdx, 0xc
jbe 0x1400a0030
mov eax, dword [r8 + 0x64]
xor ecx, ecx
cmp eax, dword [r8 + 4]
mov r10d, dword [r8 + 0x60]
setb cl
mov eax, dword [r8]
mov qword [rsp + 0xc0], rdx
xor edx, edx
cmp r10d, eax
setb dl
cmove edx, ecx
test dl, dl
cmovne r10d, eax
mov dword [rsp + 0x4c], r10d
lea r9, [r8 + 0x60]
mov qword [rsp + 0x90], r9
mov rax, r9
cmovne rax, r8
mov ecx, dword [r8 + 8]
mov rdx, r8
cmovne rdx, r9
mov r9d, dword [rax + 4]
mov dword [rsp + 0xb0], r9d
mov rax, qword [rdx]
mov qword [r8], rax
mov dword [r8 + 0x60], r10d
mov dword [r8 + 0x64], r9d
mov r9d, dword [r8 + 0x50]
mov eax, dword [r8 + 0x54]
xor edx, edx
cmp eax, dword [r8 + 0xc]
setb dl
xor eax, eax
cmp r9d, ecx
setb al
cmove eax, edx
lea rdx, [r8 + 8]
test al, al
cmovne r9d, ecx
mov dword [rsp + 0x2c], r9d
lea rcx, [r8 + 0x50]
mov qword [rsp + 0x58], rcx
mov rax, rcx
cmovne rax, rdx
mov r10d, dword [rax + 4]
mov dword [rsp + 0x34], r10d
mov rax, rdx
mov r15, rdx
mov qword [rsp + 0xb8], rdx
cmovne rax, rcx
mov r12, qword [rax]
mov qword [r8 + 8], r12
mov dword [r8 + 0x50], r9d
mov dword [r8 + 0x54], r10d
mov eax, dword [r8 + 0x10]
mov r9d, dword [r8 + 0x48]
mov ecx, dword [r8 + 0x4c]
xor edx, edx
cmp ecx, dword [r8 + 0x14]
setb dl
xor ecx, ecx
cmp r9d, eax
mov r10d, r9d
setb cl
cmove ecx, edx
lea rdx, [r8 + 0x10]
mov qword [rsp + 0xa0], rdx
test cl, cl
cmovne r10d, eax
mov dword [rsp + 0x44], r10d
lea rcx, [r8 + 0x48]
mov qword [rsp + 0x78], rcx
mov rax, rcx
cmovne rax, rdx
mov r9d, dword [rax + 4]
mov dword [rsp + 0x48], r9d
mov rax, rdx
cmovne rax, rcx
mov r13, qword [rax]
mov qword [r8 + 0x10], r13
mov dword [r8 + 0x48], r10d
mov dword [r8 + 0x4c], r9d
mov eax, dword [r8 + 0x3c]
xor ecx, ecx
cmp eax, dword [r8 + 0x1c]
mov eax, dword [r8 + 0x18]
setb cl
mov ebx, dword [r8 + 0x38]
xor edx, edx
cmp ebx, eax
setb dl
cmove edx, ecx
test dl, dl
cmovne ebx, eax
lea rcx, [r8 + 0x18]
mov qword [rsp + 0x70], rcx
lea rax, [r8 + 0x38]
mov qword [rsp + 0x80], rax
cmovne rax, rcx
movzx ecx, dl
shl ecx, 5
mov eax, dword [rax + 4]
mov dword [rsp + 0x8c], eax
mov rdi, qword [r8 + rcx + 0x18]
mov qword [r8 + 0x18], rdi
mov dword [r8 + 0x38], ebx
mov dword [r8 + 0x3c], eax
mov eax, dword [r8 + 0x5c]
xor ecx, ecx
cmp eax, dword [r8 + 0x2c]
setb cl
mov eax, dword [r8 + 0x28]
mov ebp, dword [r8 + 0x58]
xor edx, edx
cmp ebp, eax
setb dl
cmove edx, ecx
test dl, dl
cmovne ebp, eax
lea rcx, [r8 + 0x28]
mov qword [rsp + 0x98], rcx
lea rdx, [r8 + 0x58]
mov qword [rsp + 0x50], rdx
mov rax, rdx
cmovne rax, rcx
mov r9d, dword [rax + 4]
mov dword [rsp + 0x60], r9d
mov rax, rcx
cmovne rax, rdx
mov rax, qword [rax]
mov qword [r8 + 0x28], rax
mov dword [r8 + 0x58], ebp
mov dword [r8 + 0x5c], r9d
mov eax, dword [r8 + 0x44]
xor ecx, ecx
cmp eax, dword [r8 + 0x34]
setb cl
mov eax, dword [r8 + 0x30]
mov r14d, dword [r8 + 0x40]
xor edx, edx
cmp r14d, eax
setb dl
cmove edx, ecx
test dl, dl
cmovne r14d, eax
lea r10, [r8 + 0x30]
lea r9, [r8 + 0x40]
mov qword [rsp + 0xa8], r9
cmovne r9, r10
mov qword [rsp + 0x68], r10
movzx eax, dl
shl eax, 4
mov r11, qword [rax + r8 + 0x30]
mov rax, r11
shr rax, 0x20
mov rdx, r12
shr rdx, 0x20
xor ecx, ecx
cmp rax, rdx
setb cl
xor eax, eax
cmp r11d, r12d
setb al
cmove eax, ecx
test al, al
mov esi, r11d
cmovne esi, r12d
mov dword [rsp + 0x88], esi
cmovne r10, r15
cmovne r12, r11
mov rcx, rdi
shr rcx, 0x20
mov r15, r13
shr r15, 0x20
xor eax, eax
cmp rcx, r15
mov ecx, dword [r9 + 4]
mov qword [r8 + 0x30], r11
setb al
xor r9d, r9d
cmp edi, r13d
setb r9b
cmove r9d, eax
test r9b, r9b
mov eax, edi
cmovne eax, r13d
mov r9d, eax
mov dword [rsp + 0x30], eax
cmovne r13, rdi
mov dword [r8 + 0x40], r14d
mov dword [r8 + 0x44], ecx
mov edx, dword [r10 + 4]
mov dword [rsp + 0xd8], edx
mov qword [r8 + 8], r12
mov dword [r8 + 0x30], esi
mov rax, qword [rsp + 0x70]
cmovne rax, qword [rsp + 0xa0]
mov dword [r8 + 0x34], edx
mov eax, dword [rax + 4]
mov dword [rsp + 0xd4], eax
mov qword [r8 + 0x10], r13
mov dword [r8 + 0x18], r9d
mov dword [r8 + 0x1c], eax
xor eax, eax
mov edx, dword [rsp + 0x60]
cmp edx, dword [r8 + 0x24]
setb al
mov edx, dword [r8 + 0x20]
xor r9d, r9d
cmp ebp, edx
setb r9b
cmove r9d, eax
test r9b, r9b
cmovne ebp, edx
mov dword [rsp + 0xdc], ebp
lea r10, [r8 + 0x20]
mov qword [rsp + 0x60], r10
mov rsi, qword [rsp + 0x50]
mov rax, rsi
cmovne rax, r10
cmovne r10, rsi
xor edx, edx
mov r9d, dword [rsp + 0x8c]
cmp dword [rsp + 0x48], r9d
setb dl
xor r9d, r9d
mov r11d, dword [rsp + 0x44]
cmp r11d, ebx
setb r9b
cmovne edx, r9d
test dl, dl
cmove ebx, r11d
mov r15d, ebx
mov dword [rsp + 0x8c], ebx
mov r9, qword [rsp + 0x78]
cmovne r9, qword [rsp + 0x80]
movzx r11d, dl
shl r11d, 4
xor edx, edx
cmp dword [rsp + 0x34], ecx
setb dl
xor ecx, ecx
mov esi, dword [rsp + 0x2c]
cmp esi, r14d
setb cl
cmovne edx, ecx
test dl, dl
cmove r14d, esi
mov edi, r14d
mov dword [rsp + 0x2c], r14d
mov eax, dword [rax + 4]
mov dword [rsp + 0x48], eax
mov r14, qword [r10]
mov qword [r8 + 0x20], r14
mov dword [r8 + 0x58], ebp
mov dword [r8 + 0x5c], eax
mov eax, dword [r9 + 4]
mov dword [rsp + 0xd0], eax
mov rbx, qword [r11 + r8 + 0x38]
mov qword [r8 + 0x38], rbx
mov dword [r8 + 0x48], r15d
mov dword [r8 + 0x4c], eax
mov rax, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
cmovne rax, rbp
movzx ecx, dl
shl ecx, 4
mov eax, dword [rax + 4]
mov dword [rsp + 0xcc], eax
mov r10, qword [r8 + rcx + 0x40]
mov qword [r8 + 0x40], r10
mov dword [r8 + 0x50], edi
mov dword [r8 + 0x54], eax
mov rcx, r14
shr rcx, 0x20
xor edx, edx
cmp dword [r8 + 4], ecx
seta dl
mov r15d, dword [r8]
xor ecx, ecx
cmp r15d, r14d
seta cl
cmove ecx, edx
test cl, cl
cmove r15d, r14d
cmove r14, qword [r8]
mov rax, qword [rsp + 0x60]
cmovne rax, r8
mov qword [rsp + 0xf0], rax
mov rcx, r13
shr rcx, 0x20
mov rdx, r12
shr rdx, 0x20
xor r9d, r9d
cmp rcx, rdx
setb r9b
xor ecx, ecx
cmp r13d, r12d
setb cl
cmove ecx, r9d
test cl, cl
mov eax, r13d
cmovne eax, r12d
mov dword [rsp + 0x44], eax
cmove r13, r12
mov rsi, qword [rsp + 0xa0]
cmovne rsi, qword [rsp + 0xb8]
xor ecx, ecx
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0xd8], eax
setb cl
xor edx, edx
mov eax, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x88]
cmp r9d, eax
setb dl
cmovne ecx, edx
test cl, cl
cmove eax, r9d
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x68]
mov r9, rax
mov r11, qword [rsp + 0x70]
cmovne r9, r11
cmovne r11, rax
mov rcx, r10
shr rcx, 0x20
mov rdi, rbx
shr rdi, 0x20
xor eax, eax
cmp rcx, rdi
setb al
xor ecx, ecx
cmp r10d, ebx
setb cl
cmove ecx, eax
test cl, cl
mov eax, r10d
cmovne eax, ebx
mov dword [rsp + 0x34], eax
cmovne rbx, r10
mov rdi, rbp
cmovne rdi, qword [rsp + 0x80]
xor edx, edx
mov eax, dword [rsp + 0xcc]
cmp eax, dword [rsp + 0xd0]
setb dl
xor eax, eax
mov ecx, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x8c]
cmp ecx, r10d
setb al
cmovne edx, eax
test dl, dl
cmovne ecx, r10d
mov dword [rsp + 0x2c], ecx
mov r12, qword [rsp + 0x58]
cmovne r12, qword [rsp + 0x78]
xor ecx, ecx
mov eax, dword [rsp + 0x48]
cmp dword [rsp + 0xb0], eax
setb cl
xor r10d, r10d
mov eax, dword [rsp + 0x4c]
mov ebp, dword [rsp + 0xdc]
cmp eax, ebp
setb r10b
cmovne ecx, r10d
test cl, cl
cmove ebp, eax
mov rax, qword [rsp + 0xf0]
mov r10d, dword [rax + 4]
mov qword [r8], r14
mov dword [r8 + 0x20], r15d
mov dword [r8 + 0x24], r10d
mov esi, dword [rsi + 4]
mov dword [rsp + 0x4c], esi
mov qword [r8 + 8], r13
mov eax, dword [rsp + 0x44]
mov dword [r8 + 0x10], eax
mov dword [r8 + 0x14], esi
mov r9d, dword [r9 + 4]
mov rsi, qword [r11]
mov r11, qword [rsp + 0x90]
cmovne r11, qword [rsp + 0x50]
mov qword [r8 + 0x18], rsi
xor esi, esi
cmp r9d, r10d
mov r10d, dword [rsp + 0x30]
mov dword [r8 + 0x30], r10d
mov dword [r8 + 0x34], r9d
setb sil
xor r9d, r9d
cmp r10d, r15d
setb r9b
cmovne esi, r9d
mov r14d, dword [rdi + 4]
mov qword [r8 + 0x38], rbx
test sil, sil
mov esi, r10d
cmovne esi, r15d
mov dword [rsp + 0x30], esi
mov edi, dword [rsp + 0x34]
mov dword [r8 + 0x40], edi
mov dword [r8 + 0x44], r14d
movzx eax, dl
mov edx, dword [r12 + 4]
mov dword [rsp + 0x48], edx
mov r12, qword [r8 + rax*8 + 0x48]
mov qword [r8 + 0x48], r12
mov eax, dword [rsp + 0x2c]
mov dword [r8 + 0x50], eax
mov dword [r8 + 0x54], edx
movzx eax, cl
mov ecx, dword [r11 + 4]
mov r9, qword [r8 + rax*8 + 0x58]
mov qword [r8 + 0x58], r9
mov dword [r8 + 0x60], ebp
mov r10, qword [rsp + 0x68]
mov rax, r10
mov rdx, qword [rsp + 0x60]
cmovne rax, rdx
mov dword [r8 + 0x64], ecx
cmovne rdx, r10
mov eax, dword [rax + 4]
mov dword [rsp + 0xb0], eax
mov rbx, qword [rdx]
mov qword [r8 + 0x20], rbx
mov dword [r8 + 0x30], esi
mov dword [r8 + 0x34], eax
mov rax, r12
shr rax, 0x20
xor r11d, r11d
cmp dword [r8 + 0x2c], eax
seta r11b
mov r15d, dword [r8 + 0x28]
xor eax, eax
cmp r15d, r12d
seta al
cmove eax, r11d
test al, al
cmove r15d, r12d
cmove r12, qword [r8 + 0x28]
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x98]
cmovne rax, r13
mov r11, r9
shr r11, 0x20
xor esi, esi
cmp r14d, r11d
seta sil
xor r11d, r11d
cmp edi, r9d
seta r11b
cmovne esi, r11d
test sil, sil
mov r11d, dword [rax + 4]
mov dword [rsp + 0x88], r11d
mov qword [r8 + 0x28], r12
cmove edi, r9d
mov r10d, edi
mov dword [r8 + 0x48], r15d
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0xa8]
cmovne rax, rdx
mov dword [r8 + 0x4c], r11d
cmove r9, qword [r8 + 0x40]
xor r11d, r11d
cmp ecx, dword [rsp + 0x48]
setb r11b
xor ecx, ecx
mov esi, dword [rsp + 0x2c]
cmp ebp, esi
setb cl
cmovne r11d, ecx
test r11b, r11b
cmovne ebp, esi
mov ecx, dword [rax + 4]
mov qword [r8 + 0x40], r9
mov dword [r8 + 0x58], edi
mov dword [r8 + 0x5c], ecx
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x90]
cmovne rsi, r14
movzx eax, r11b
shl eax, 4
mov r11d, dword [rsi + 4]
mov rdi, qword [rax + r8 + 0x50]
mov qword [r8 + 0x50], rdi
mov dword [r8 + 0x60], ebp
mov dword [r8 + 0x64], r11d
mov r11, r12
shr r11, 0x20
xor esi, esi
cmp dword [r8 + 4], r11d
seta sil
mov eax, dword [r8]
xor r11d, r11d
cmp eax, r12d
seta r11b
cmove r11d, esi
test r11b, r11b
cmove eax, r12d
mov dword [rsp + 0x2c], eax
mov r11, r13
cmovne r11, r8
cmove r12, qword [r8]
mov r13d, dword [r11 + 4]
mov qword [r8], r12
mov dword [r8 + 0x28], eax
mov dword [r8 + 0x2c], r13d
mov r11, r9
shr r11, 0x20
xor esi, esi
cmp dword [r8 + 0x1c], r11d
seta sil
mov eax, dword [r8 + 0x18]
xor ebp, ebp
cmp eax, r9d
seta bpl
cmove ebp, esi
test bpl, bpl
cmove eax, r9d
mov dword [rsp + 0x48], eax
cmovne rdx, qword [rsp + 0x70]
mov edx, dword [rdx + 4]
mov dword [rsp + 0x8c], edx
cmove r9, qword [r8 + 0x18]
mov qword [r8 + 0x18], r9
mov dword [r8 + 0x40], eax
mov dword [r8 + 0x44], edx
mov r9, rbx
shr r9, 0x20
xor esi, esi
cmp dword [r8 + 0x3c], r9d
setb sil
mov eax, dword [r8 + 0x38]
xor r9d, r9d
cmp eax, ebx
setb r9b
cmove r9d, esi
test r9b, r9b
cmovne eax, ebx
mov r11d, eax
mov dword [rsp + 0x90], eax
mov r9, qword [rsp + 0x80]
cmovne r9, qword [rsp + 0x60]
cmovne rbx, qword [r8 + 0x38]
xor esi, esi
cmp ecx, dword [rsp + 0xb0]
setb sil
xor ecx, ecx
mov edx, dword [rsp + 0x30]
cmp r10d, edx
setb cl
cmovne esi, ecx
test sil, sil
cmovne r10d, edx
mov edx, r10d
mov dword [rsp + 0x34], r10d
mov rax, qword [rsp + 0x50]
mov rcx, rax
mov r10, qword [rsp + 0x68]
cmovne rcx, r10
cmovne r10, rax
mov rsi, rdi
shr rsi, 0x20
xor ebp, ebp
cmp dword [rsp + 0x88], esi
mov eax, dword [r9 + 4]
mov dword [rsp + 0x88], eax
seta bpl
xor r9d, r9d
cmp r15d, edi
seta r9b
mov qword [r8 + 0x20], rbx
cmovne ebp, r9d
test bpl, bpl
mov dword [r8 + 0x38], r11d
mov dword [r8 + 0x3c], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0xb0], eax
mov rcx, qword [r10]
mov qword [r8 + 0x30], rcx
mov dword [r8 + 0x58], edx
cmove r15d, edi
mov dword [r8 + 0x5c], eax
mov rdx, r14
mov r10, qword [rsp + 0x78]
cmovne rdx, r10
mov ebp, dword [rdx + 4]
cmove rdi, qword [r8 + 0x48]
mov qword [r8 + 0x48], rdi
mov dword [r8 + 0x50], r15d
mov dword [r8 + 0x54], ebp
mov rdx, r12
shr rdx, 0x20
xor r9d, r9d
cmp dword [r8 + 0xc], edx
setb r9b
mov eax, dword [r8 + 8]
xor edx, edx
cmp eax, r12d
setb dl
cmove edx, r9d
test dl, dl
cmovne eax, r12d
mov dword [rsp + 0x30], eax
mov rsi, qword [rsp + 0xb8]
cmovne rsi, r8
cmovne r12, qword [r8 + 8]
xor edx, edx
cmp r13d, dword [rsp + 0x4c]
setb dl
xor r9d, r9d
mov eax, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x44]
cmp eax, ebx
setb r9b
cmovne edx, r9d
test dl, dl
cmovne eax, ebx
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x98]
mov r11, rax
mov r9, qword [rsp + 0xa0]
cmovne r11, r9
cmovne r9, rax
mov r14, rdi
shr r14, 0x20
mov r13, rcx
shr r13, 0x20
xor eax, eax
cmp r14, r13
setb al
xor r14d, r14d
cmp edi, ecx
setb r14b
cmove r14d, eax
test r14b, r14b
mov eax, edi
cmovne eax, ecx
mov r13d, eax
mov dword [rsp + 0x44], eax
cmove rdi, rcx
mov rcx, r10
cmovne rcx, qword [rsp + 0x68]
xor eax, eax
mov edx, dword [rsp + 0x88]
cmp dword [rsp + 0x8c], edx
setb al
xor ebx, ebx
mov r10d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x48]
cmp edx, r10d
setb bl
cmovne eax, ebx
test al, al
cmove r10d, edx
mov edx, r10d
mov dword [rsp + 0x90], r10d
mov rax, qword [rsp + 0xa8]
mov rbx, rax
mov r14, qword [rsp + 0x80]
cmovne rbx, r14
cmovne r14, rax
xor eax, eax
cmp dword [rsp + 0xb0], ebp
mov ebp, dword [rsi + 4]
mov qword [r8], r12
setb al
xor r10d, r10d
mov esi, dword [rsp + 0x34]
cmp esi, r15d
setb r10b
cmovne eax, r10d
test al, al
cmove r15d, esi
mov esi, dword [rsp + 0x30]
mov dword [r8 + 8], esi
mov dword [r8 + 0xc], ebp
mov r10d, dword [r11 + 4]
mov r11, qword [r9]
mov qword [r8 + 0x10], r11
mov r12d, dword [rsp + 0x2c]
mov dword [r8 + 0x28], r12d
mov dword [r8 + 0x2c], r10d
mov eax, dword [rcx + 4]
mov dword [rsp + 0x4c], eax
mov qword [r8 + 0x30], rdi
mov dword [r8 + 0x48], r13d
mov dword [r8 + 0x4c], eax
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x34], ecx
mov rax, qword [r14]
mov qword [r8 + 0x38], rax
mov dword [r8 + 0x40], edx
mov dword [r8 + 0x44], ecx
mov rdx, qword [rsp + 0x50]
mov rax, rdx
mov rcx, qword [rsp + 0x58]
cmovne rax, rcx
cmove rdx, rcx
mov eax, dword [rax + 4]
mov rbx, qword [rdx]
mov qword [r8 + 0x50], rbx
mov dword [r8 + 0x58], r15d
mov dword [r8 + 0x5c], eax
xor eax, eax
cmp dword [r8 + 0x1c], ebp
setb al
mov ecx, dword [r8 + 0x18]
xor edx, edx
cmp ecx, esi
setb dl
cmove edx, eax
test dl, dl
cmove esi, ecx
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0x70]
mov rax, rdx
mov rbp, qword [rsp + 0xb8]
cmovne rax, rbp
mov r9d, dword [rax + 4]
mov dword [rsp + 0x50], r9d
mov rax, rbp
cmovne rax, rdx
mov r14, qword [rax]
mov qword [r8 + 8], r14
mov dword [r8 + 0x18], esi
mov dword [r8 + 0x1c], r9d
mov rax, r11
shr rax, 0x20
xor edx, edx
cmp dword [r8 + 0x24], eax
setb dl
mov r13d, dword [r8 + 0x20]
xor eax, eax
cmp r13d, r11d
setb al
cmove eax, edx
test al, al
cmovne r13d, r11d
cmovne r11, qword [r8 + 0x20]
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0xa0]
cmovne rax, r9
mov rdx, rdi
shr rdx, 0x20
xor r15d, r15d
cmp r10d, edx
seta r15b
xor edx, edx
cmp r12d, edi
seta dl
cmovne r15d, edx
test r15b, r15b
mov edx, dword [rax + 4]
mov qword [r8 + 0x10], r11
cmove r12d, edi
mov ecx, r12d
mov dword [rsp + 0x2c], r12d
mov dword [r8 + 0x20], r13d
mov rax, qword [rsp + 0x68]
cmovne rax, qword [rsp + 0x98]
mov dword [r8 + 0x24], edx
cmove rdi, qword [r8 + 0x28]
mov r15, rbx
shr r15, 0x20
xor r12d, r12d
cmp dword [rsp + 0x4c], r15d
seta r12b
xor r10d, r10d
mov esi, dword [rsp + 0x44]
cmp esi, ebx
seta r10b
cmovne r12d, r10d
test r12b, r12b
mov r15d, dword [rax + 4]
mov qword [r8 + 0x28], rdi
mov dword [r8 + 0x30], ecx
cmove esi, ebx
mov rcx, qword [rsp + 0x58]
cmovne rcx, qword [rsp + 0x78]
mov dword [r8 + 0x34], r15d
cmove rbx, qword [r8 + 0x48]
mov rax, r11
shr rax, 0x20
mov r10, r14
shr r10, 0x20
xor r12d, r12d
cmp rax, r10
setb r12b
xor eax, eax
cmp r11d, r14d
setb al
cmove eax, r12d
mov r12, qword [rsp + 0xe8]
test al, al
mov r10d, r11d
cmovne r10d, r14d
cmove r11, r14
cmove rbp, r9
xor eax, eax
cmp edx, dword [rsp + 0x50]
mov edx, dword [rcx + 4]
mov qword [r8 + 0x48], rbx
mov dword [r8 + 0x50], esi
mov dword [r8 + 0x54], edx
mov edx, dword [rbp + 4]
mov qword [r8 + 8], r11
setb al
xor r11d, r11d
mov r9d, dword [rsp + 0x30]
cmp r13d, r9d
setb r11b
cmovne eax, r11d
test al, al
cmovne r13d, r9d
mov dword [r8 + 0x10], r10d
mov dword [r8 + 0x14], edx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
mov r9, qword [rsp + 0x70]
cmovne rax, r9
mov r11d, dword [rax + 4]
mov dword [rsp + 0x58], r11d
mov rax, r9
cmovne rax, rcx
mov rbx, qword [rax]
mov qword [r8 + 0x18], rbx
mov dword [r8 + 0x20], r13d
mov dword [r8 + 0x24], r11d
mov rax, rdi
shr rax, 0x20
xor esi, esi
cmp dword [r8 + 0x3c], eax
setb sil
mov r11d, dword [r8 + 0x38]
xor eax, eax
cmp r11d, edi
setb al
cmove eax, esi
test al, al
cmovne r11d, edi
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x98]
cmovne rsi, rbp
cmovne rdi, qword [r8 + 0x38]
xor eax, eax
cmp dword [rsp + 0x34], r15d
setb al
xor r9d, r9d
mov ecx, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x90]
cmp r15d, ecx
setb r9b
cmovne eax, r9d
test al, al
cmove ecx, r15d
mov dword [rsp + 0x2c], ecx
mov r14, qword [rsp + 0xa8]
mov r9, r14
mov rax, qword [rsp + 0x68]
cmovne r9, rax
cmovne rax, r14
mov r14, rbx
shr r14, 0x20
xor r15d, r15d
cmp edx, r14d
seta r15b
xor edx, edx
cmp r10d, ebx
seta dl
cmovne r15d, edx
test r15b, r15b
mov r14d, dword [rsi + 4]
mov qword [r8 + 0x28], rdi
mov dword [r8 + 0x38], r11d
mov dword [r8 + 0x3c], r14d
mov esi, dword [r9 + 4]
mov rdx, qword [rax]
mov qword [r8 + 0x30], rdx
mov dword [r8 + 0x40], ecx
cmove r10d, ebx
mov r9, qword [rsp + 0xa0]
cmove r9, qword [rsp + 0x70]
mov dword [r8 + 0x44], esi
cmove rbx, qword [r8 + 0x10]
mov rax, rdi
shr rax, 0x20
xor r15d, r15d
cmp dword [rsp + 0x58], eax
mov r9d, dword [r9 + 4]
seta r15b
xor eax, eax
cmp r13d, edi
seta al
mov qword [r8 + 0x10], rbx
cmovne r15d, eax
test r15b, r15b
mov dword [r8 + 0x18], r10d
mov dword [r8 + 0x1c], r9d
cmove r13d, edi
cmove rdi, qword [r8 + 0x20]
mov rax, rbp
mov rcx, qword [rsp + 0x60]
cmovne rax, rcx
mov rbx, rdx
shr rbx, 0x20
xor ebp, ebp
cmp r14d, ebx
setb bpl
xor ebx, ebx
cmp r11d, edx
setb bl
cmovne ebp, ebx
test bpl, bpl
mov ebx, dword [rax + 4]
mov qword [r8 + 0x20], rdi
mov dword [r8 + 0x28], r13d
cmovne r11d, edx
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x68]
cmovne rax, r14
mov dword [r8 + 0x2c], ebx
cmovne rdx, qword [r8 + 0x38]
mov eax, dword [rax + 4]
mov qword [r8 + 0x30], rdx
mov dword [r8 + 0x38], r11d
mov dword [r8 + 0x3c], eax
xor eax, eax
cmp dword [r8 + 0x4c], esi
mov r11d, dword [r8 + 0x48]
setb al
xor esi, esi
mov ebp, dword [rsp + 0x2c]
cmp r11d, ebp
setb sil
cmove esi, eax
test sil, sil
cmove ebp, r11d
mov r11, qword [rsp + 0x78]
mov rax, r11
mov rsi, qword [rsp + 0xa8]
cmovne rax, rsi
cmovne rsi, r11
mov r15, rsi
mov r11, rdi
shr r11, 0x20
xor esi, esi
cmp r9d, r11d
mov eax, dword [rax + 4]
mov r9, qword [r15]
mov qword [r8 + 0x40], r9
mov dword [r8 + 0x48], ebp
seta sil
xor r9d, r9d
cmp r10d, edi
seta r9b
mov dword [r8 + 0x4c], eax
cmovne esi, r9d
test sil, sil
cmove r10d, edi
cmovne rcx, qword [rsp + 0x70]
cmove rdi, qword [r8 + 0x18]
mov rax, rdx
shr rax, 0x20
xor r9d, r9d
cmp ebx, eax
mov rbx, qword [rsp + 0xe0]
mov eax, dword [rcx + 4]
mov qword [r8 + 0x18], rdi
mov dword [r8 + 0x20], r10d
seta r9b
xor r10d, r10d
cmp r13d, edx
seta r10b
mov dword [r8 + 0x24], eax
cmovne r9d, r10d
test r9b, r9b
mov rax, r14
cmovne rax, qword [rsp + 0x98]
cmove r13d, edx
mov eax, dword [rax + 4]
cmove rdx, qword [r8 + 0x28]
mov qword [r8 + 0x28], rdx
mov rdx, qword [rsp + 0xc0]
mov dword [r8 + 0x30], r13d
mov dword [r8 + 0x34], eax
mov eax, 0xd
jmp 0x1400a0873
mov eax, 1
cmp rdx, 8
jbe 0x1400a0873
mov eax, dword [r8 + 0x1c]
mov qword [rsp + 0xc0], rdx
xor edx, edx
cmp eax, dword [r8 + 4]
mov r12d, dword [r8 + 0x18]
setb dl
mov eax, dword [r8]
xor r9d, r9d
cmp r12d, eax
setb r9b
cmove r9d, edx
test r9b, r9b
cmovne r12d, eax
lea rcx, [r8 + 0x18]
mov qword [rsp + 0x80], rcx
mov rax, rcx
cmovne rax, r8
mov edx, dword [r8 + 8]
mov r9, r8
cmovne r9, rcx
mov eax, dword [rax + 4]
mov dword [rsp + 0x2c], eax
mov r10, qword [r9]
mov qword [r8], r10
mov dword [r8 + 0x18], r12d
mov dword [r8 + 0x1c], eax
mov r14d, dword [r8 + 0x38]
mov r11d, dword [r8 + 0x3c]
xor esi, esi
cmp r11d, dword [r8 + 0xc]
setb sil
xor r11d, r11d
cmp r14d, edx
setb r11b
cmove r11d, esi
lea rax, [r8 + 8]
mov qword [rsp + 0x60], rax
test r11b, r11b
cmovne r14d, edx
lea r13, [r8 + 0x38]
mov rdx, r13
cmovne rdx, rax
mov r11d, dword [rdx + 4]
mov rdx, rax
cmovne rdx, r13
mov rdx, qword [rdx]
mov qword [r8 + 8], rdx
mov dword [r8 + 0x38], r14d
mov dword [r8 + 0x3c], r11d
mov edx, dword [r8 + 0x10]
mov eax, dword [r8 + 0x28]
mov esi, dword [r8 + 0x2c]
xor edi, edi
cmp esi, dword [r8 + 0x14]
setb dil
xor esi, esi
cmp eax, edx
setb sil
cmove esi, edi
lea rcx, [r8 + 0x10]
mov qword [rsp + 0x70], rcx
test sil, sil
mov r9d, eax
cmovne r9d, edx
mov dword [rsp + 0x50], r9d
lea rax, [r8 + 0x28]
mov qword [rsp + 0x78], rax
mov rdx, rax
cmovne rdx, rcx
mov edx, dword [rdx + 4]
mov dword [rsp + 0x58], edx
mov rsi, rcx
cmovne rsi, rax
mov rax, qword [rsi]
mov qword [r8 + 0x10], rax
mov dword [r8 + 0x28], r9d
mov dword [r8 + 0x2c], edx
mov esi, dword [r8 + 0x44]
xor ebx, ebx
cmp esi, dword [r8 + 0x24]
mov esi, dword [r8 + 0x20]
setb bl
mov ecx, dword [r8 + 0x40]
xor ebp, ebp
cmp ecx, esi
setb bpl
cmove ebp, ebx
test bpl, bpl
cmovne ecx, esi
lea rdx, [r8 + 0x20]
lea r9, [r8 + 0x40]
mov rsi, r9
cmovne rsi, rdx
mov qword [rsp + 0x98], rdx
movzx ebx, bpl
shl ebx, 5
mov r15, r10
shr r15, 0x20
xor ebp, ebp
cmp r11d, r15d
setb bpl
xor r11d, r11d
cmp r14d, r10d
setb r11b
cmovne ebp, r11d
test bpl, bpl
cmovne r14d, r10d
mov dword [rsp + 0x90], r14d
mov qword [rsp + 0xa0], r13
mov r10, r13
cmovne r10, r8
mov rbx, qword [rbx + r8 + 0x20]
mov r11, r8
cmovne r11, r13
mov r15, rbx
shr r15, 0x20
mov r13, rax
shr r13, 0x20
xor ebp, ebp
cmp r15, r13
setb bpl
xor r15d, r15d
cmp ebx, eax
setb r15b
cmove r15d, ebp
test r15b, r15b
mov esi, dword [rsi + 4]
mov edi, ebx
cmovne edi, eax
mov dword [rsp + 0x68], edi
cmovne rax, rbx
mov r13, rax
mov qword [r8 + 0x20], rbx
mov r15, rdx
mov rbp, qword [rsp + 0x70]
cmovne r15, rbp
xor ebx, ebx
cmp esi, dword [rsp + 0x2c]
setb bl
xor eax, eax
cmp ecx, r12d
setb al
cmovne ebx, eax
test bl, bl
mov dword [r8 + 0x40], ecx
cmovne ecx, r12d
mov edx, ecx
mov dword [rsp + 0x2c], ecx
mov dword [r8 + 0x44], esi
mov eax, dword [r10 + 4]
mov dword [rsp + 0x34], eax
mov rcx, qword [r11]
mov qword [r8], rcx
mov dword [r8 + 0x38], r14d
mov dword [r8 + 0x3c], eax
mov r12d, dword [r15 + 4]
mov qword [r8 + 0x10], r13
mov dword [r8 + 0x20], edi
mov qword [rsp + 0xa8], r9
mov rax, r9
mov r14, qword [rsp + 0x80]
cmovne rax, r14
mov dword [r8 + 0x24], r12d
mov r10, r14
cmovne r10, r9
mov eax, dword [rax + 4]
mov dword [rsp + 0x44], eax
mov r9, qword [r10]
mov qword [r8 + 0x18], r9
mov dword [r8 + 0x40], edx
mov dword [r8 + 0x44], eax
xor r10d, r10d
mov eax, dword [rsp + 0x58]
cmp dword [r8 + 0x34], eax
setb r10b
mov esi, dword [r8 + 0x30]
xor edx, edx
mov edi, dword [rsp + 0x50]
cmp esi, edi
setb dl
cmove edx, r10d
test dl, dl
cmove edi, esi
mov dword [rsp + 0x50], edi
lea r10, [r8 + 0x30]
mov qword [rsp + 0x58], r10
mov rbx, qword [rsp + 0x78]
cmovne r10, rbx
mov rsi, r13
shr rsi, 0x20
mov r15, rcx
shr r15, 0x20
xor eax, eax
cmp rsi, r15
setb al
xor esi, esi
cmp r13d, ecx
setb sil
cmove esi, eax
test sil, sil
mov eax, r13d
cmovne eax, ecx
mov esi, eax
mov dword [rsp + 0x30], eax
cmove r13, rcx
mov qword [rsp + 0xb0], r13
movzx eax, dl
mov ecx, dword [r10 + 4]
mov dword [rsp + 0x4c], ecx
mov r11, qword [r8 + rax*8 + 0x28]
mov qword [r8 + 0x28], r11
mov dword [r8 + 0x30], edi
cmovne rbp, r8
mov dword [r8 + 0x34], ecx
mov eax, dword [rbp + 4]
mov dword [rsp + 0xb8], eax
mov qword [r8], r13
mov dword [r8 + 0x10], esi
mov dword [r8 + 0x14], eax
mov rax, r9
shr rax, 0x20
xor edx, edx
cmp dword [r8 + 0xc], eax
seta dl
mov r15d, dword [r8 + 8]
xor eax, eax
cmp r15d, r9d
seta al
cmove eax, edx
test al, al
cmove r15d, r9d
cmove r9, qword [r8 + 8]
mov rdi, qword [rsp + 0x60]
cmovne r14, rdi
mov rdx, r11
shr rdx, 0x20
xor esi, esi
cmp r12d, edx
seta sil
xor edx, edx
mov ebp, dword [rsp + 0x68]
cmp ebp, r11d
seta dl
cmovne esi, edx
test sil, sil
mov r10d, dword [r14 + 4]
mov qword [r8 + 8], r9
cmove ebp, r11d
mov r12d, ebp
mov dword [r8 + 0x18], r15d
mov rdx, rbx
mov rcx, qword [rsp + 0x98]
cmovne rdx, rcx
mov dword [r8 + 0x1c], r10d
cmove r11, qword [r8 + 0x20]
xor esi, esi
mov eax, dword [rsp + 0x44]
cmp eax, dword [rsp + 0x34]
setb sil
xor eax, eax
mov ebx, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x90]
cmp ebx, ebp
setb al
cmovne esi, eax
test sil, sil
cmovne ebx, ebp
mov dword [rsp + 0x2c], ebx
mov rbp, qword [rsp + 0xa8]
cmovne rbp, qword [rsp + 0xa0]
mov rax, r11
shr rax, 0x20
mov rbx, r9
shr rbx, 0x20
xor r14d, r14d
cmp rax, rbx
setb r14b
xor eax, eax
cmp r11d, r9d
setb al
cmove eax, r14d
test al, al
mov r14d, dword [rdx + 4]
mov qword [r8 + 0x20], r11
mov r13d, r11d
cmovne r13d, r9d
cmove r11, r9
mov rbx, rcx
cmovne rbx, rdi
xor eax, eax
cmp dword [rsp + 0x4c], r10d
setb al
xor r9d, r9d
mov ecx, dword [rsp + 0x50]
cmp ecx, r15d
setb r9b
cmovne eax, r9d
test al, al
cmove r15d, ecx
mov edx, r12d
mov dword [r8 + 0x28], r12d
mov dword [r8 + 0x2c], r14d
movzx eax, sil
mov rdi, qword [r8 + rax*8 + 0x38]
mov rcx, qword [rsp + 0x58]
mov r10, rcx
mov r12, qword [rsp + 0x80]
cmovne r10, r12
cmovne r12, rcx
mov r9, rdi
shr r9, 0x20
xor esi, esi
cmp r14d, r9d
seta sil
xor r9d, r9d
mov eax, edx
cmp edx, edi
seta r9b
cmovne esi, r9d
test sil, sil
mov r9d, dword [rbp + 4]
mov dword [rsp + 0x90], r9d
mov qword [r8 + 0x38], rdi
mov ecx, dword [rsp + 0x2c]
mov dword [r8 + 0x40], ecx
mov dword [r8 + 0x44], r9d
mov edx, dword [rbx + 4]
mov qword [r8 + 8], r11
mov dword [r8 + 0x20], r13d
mov dword [r8 + 0x24], edx
mov r9d, dword [r10 + 4]
mov dword [rsp + 0x34], r9d
mov rbp, qword [r12]
mov qword [r8 + 0x18], rbp
cmove eax, edi
mov dword [rsp + 0x68], eax
mov dword [r8 + 0x30], r15d
mov rsi, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x78]
cmovne rsi, rcx
mov dword [r8 + 0x34], r9d
cmove rdi, qword [r8 + 0x28]
mov r9, r11
shr r9, 0x20
mov rax, qword [rsp + 0xb0]
mov r10, rax
shr r10, 0x20
xor r14d, r14d
cmp r10, r9
seta r14b
xor r9d, r9d
cmp eax, r11d
mov r10, rax
seta r9b
cmove r9d, r14d
test r9b, r9b
mov eax, r11d
cmovne eax, r10d
mov dword [rsp + 0x50], eax
cmove r11, r10
mov r12, qword [rsp + 0x60]
cmovne r12, r8
xor r9d, r9d
cmp edx, dword [rsp + 0xb8]
setb r9b
xor edx, edx
mov eax, dword [rsp + 0x30]
cmp r13d, eax
setb dl
cmovne r9d, edx
test r9b, r9b
cmovne r13d, eax
mov rax, qword [rsp + 0x98]
mov rbx, rax
mov rdx, qword [rsp + 0x70]
cmovne rbx, rdx
cmovne rdx, rax
mov r9, rdi
shr r9, 0x20
mov r14, rbp
shr r14, 0x20
xor eax, eax
cmp r9, r14
setb al
xor r9d, r9d
cmp edi, ebp
setb r9b
cmove r9d, eax
test r9b, r9b
mov r14d, dword [rsi + 4]
mov dword [rsp + 0xb8], r14d
mov qword [r8 + 0x28], rdi
mov r9d, edi
cmovne r9d, ebp
cmove rdi, rbp
mov rbp, rcx
mov r10, qword [rsp + 0x80]
cmovne rbp, r10
xor eax, eax
mov ecx, dword [rsp + 0x34]
cmp dword [rsp + 0x90], ecx
setb al
xor esi, esi
mov ecx, dword [rsp + 0x2c]
cmp ecx, r15d
setb sil
cmovne eax, esi
test al, al
cmove r15d, ecx
mov dword [rsp + 0x30], r15d
mov ecx, dword [rsp + 0x68]
mov dword [r8 + 0x38], ecx
mov dword [r8 + 0x3c], r14d
mov esi, dword [r12 + 4]
mov dword [rsp + 0x2c], esi
mov qword [r8], r11
mov ecx, dword [rsp + 0x50]
mov dword [r8 + 8], ecx
mov dword [r8 + 0xc], esi
mov rsi, qword [rdx]
mov r12, qword [rsp + 0x58]
mov r14, qword [rsp + 0xa8]
cmovne r14, r12
movzx edx, al
shl edx, 4
mov rax, rdi
shr rax, 0x20
mov r11, rsi
shr r11, 0x20
xor ecx, ecx
cmp rax, r11
setb cl
xor eax, eax
cmp edi, esi
setb al
cmove eax, ecx
test al, al
mov r11d, dword [rbx + 4]
mov qword [r8 + 0x10], rsi
mov dword [r8 + 0x20], r13d
mov dword [r8 + 0x24], r11d
mov ecx, dword [rbp + 4]
mov qword [r8 + 0x18], rdi
mov eax, edi
cmovne eax, esi
cmove rdi, rsi
mov rsi, r10
cmovne rsi, qword [rsp + 0x70]
xor ebp, ebp
cmp ecx, r11d
setb bpl
xor r11d, r11d
cmp r9d, r13d
setb r11b
cmovne ebp, r11d
test bpl, bpl
mov dword [r8 + 0x28], r9d
cmovne r9d, r13d
mov dword [r8 + 0x2c], ecx
mov r10, qword [rsp + 0x78]
mov rcx, r10
mov r15, qword [rsp + 0x98]
cmovne rcx, r15
mov rdx, qword [rdx + r8 + 0x30]
mov rbx, r15
cmovne rbx, r10
mov r11, rdx
shr r11, 0x20
xor ebp, ebp
cmp dword [rsp + 0xb8], r11d
mov r11d, dword [r14 + 4]
mov qword [r8 + 0x30], rdx
mov r10d, dword [rsp + 0x30]
mov dword [r8 + 0x40], r10d
mov dword [r8 + 0x44], r11d
setb bpl
xor r11d, r11d
mov r14d, dword [rsp + 0x68]
cmp r14d, edx
setb r11b
cmovne ebp, r11d
test bpl, bpl
mov esi, dword [rsi + 4]
mov qword [r8 + 0x10], rdi
mov dword [r8 + 0x18], eax
mov dword [r8 + 0x1c], esi
mov ecx, dword [rcx + 4]
mov r11, qword [rbx]
mov qword [r8 + 0x20], r11
mov dword [r8 + 0x28], r9d
mov dword [r8 + 0x2c], ecx
cmovne r14d, edx
mov r13, qword [rsp + 0xa0]
cmovne r13, r12
cmovne rdx, qword [r8 + 0x38]
mov rbx, rdi
shr rbx, 0x20
xor ebp, ebp
cmp dword [rsp + 0x2c], ebx
mov r10d, dword [r13 + 4]
mov qword [r8 + 0x30], rdx
mov dword [r8 + 0x38], r14d
seta bpl
xor ebx, ebx
mov r14d, dword [rsp + 0x50]
cmp r14d, edi
seta bl
mov dword [r8 + 0x3c], r10d
cmovne ebp, ebx
test bpl, bpl
cmove r14d, edi
mov r12, qword [rsp + 0x70]
cmovne r12, qword [rsp + 0x60]
cmove rdi, qword [r8 + 8]
mov r10, r11
shr r10, 0x20
xor ebx, ebx
cmp esi, r10d
mov r10d, dword [r12 + 4]
mov qword [r8 + 8], rdi
mov dword [r8 + 0x10], r14d
mov r12, qword [rsp + 0xe8]
seta bl
xor esi, esi
cmp eax, r11d
seta sil
mov dword [r8 + 0x14], r10d
cmovne ebx, esi
test bl, bl
mov rbx, qword [rsp + 0xe0]
cmove eax, r11d
cmovne r15, qword [rsp + 0x80]
cmove r11, qword [r8 + 0x18]
mov r10, rdx
shr r10, 0x20
xor esi, esi
cmp ecx, r10d
mov ecx, dword [r15 + 4]
mov qword [r8 + 0x18], r11
mov dword [r8 + 0x20], eax
seta sil
xor eax, eax
cmp r9d, edx
seta al
mov dword [r8 + 0x24], ecx
cmovne esi, eax
test sil, sil
mov rax, qword [rsp + 0x58]
cmovne rax, qword [rsp + 0x78]
cmove r9d, edx
mov eax, dword [rax + 4]
cmove rdx, qword [r8 + 0x28]
mov qword [r8 + 0x28], rdx
mov rdx, qword [rsp + 0xc0]
mov dword [r8 + 0x30], r9d
mov dword [r8 + 0x34], eax
mov eax, 9
lea rcx, [rax - 1]
cmp rcx, rdx
jae 0x1400a0f20
cmp rax, rdx
jne 0x1400a08b0
cmp qword [rsp + 0x38], 0x12
jb 0x1400a0f0b
mov rdx, qword [rsp + 0xf8]
cmp r8, r12
mov r8, rbx
je 0x14009f130
jmp 0x1400a0de8
lea rcx, [r8 + rdx*8]
shl eax, 3
lea rdx, [r8 + rax]
jmp 0x1400a08da
mov r11, r8
shl r10, 0x20
or r10, r9
mov qword [r11], r10
add rdx, 8
add rax, 8
cmp rdx, rcx
je 0x1400a0885
mov r9d, dword [rdx]
mov r10d, dword [rdx + 4]
xor r11d, r11d
cmp r10d, dword [rdx - 4]
setb r11b
xor esi, esi
cmp r9d, dword [rdx - 8]
setb sil
cmove esi, r11d
cmp sil, 1
jne 0x1400a08cd
mov r11, rax
nop word cs:[rax + rax]
mov rsi, qword [r8 + r11 - 8]
mov qword [r8 + r11], rsi
cmp r11, 8
je 0x1400a08c0
xor esi, esi
cmp r10d, dword [r8 + r11 - 0xc]
setb sil
xor edi, edi
cmp r9d, dword [r8 + r11 - 0x10]
setb dil
cmove edi, esi
add r11, 0xfffffffffffffff8
test dil, dil
jne 0x1400a0910
add r11, r8
jmp 0x1400a08c3
mov ebx, r9d
mov r14, r8
mov r13, qword [rsp + 0x270]
jmp 0x1400a09cc
xor r11d, r11d
cmp r9d, edx
setae r11b
xor r9d, r9d
cmp r8d, ecx
setae r9b
cmove r9d, r11d
mov r8, qword [rax + r10*8]
mov qword [rdi], r8
shl rdx, 0x20
or rdx, rcx
mov qword [rax + r10*8], rdx
movzx ecx, r9b
add rcx, r10
cmp rcx, qword [rsp + 0x38]
jae 0x1400a0f36
mov rax, qword [r12]
mov rdx, qword [r12 + rcx*8]
mov qword [r12], rdx
mov qword [r12 + rcx*8], rax
lea rax, [rcx + 1]
sub qword [rsp + 0x38], rax
lea r12, [r12 + rcx*8]
add r12, 8
xor r14d, r14d
cmp qword [rsp + 0x38], 0x21
jb 0x14009f0d8
sub ebx, 1
jb 0x1400a0dc8
mov rax, qword [rsp + 0x38]
mov r9, rax
shr r9, 3
mov rdx, r9
shl rdx, 5
add rdx, r12
imul r8, r9, 0x38
add r8, r12
cmp rax, 0x40
jae 0x1400a0a80
mov eax, dword [r12]
mov ebp, dword [r12 + 4]
mov r9d, dword [rdx]
mov r10d, dword [rdx + 4]
xor r11d, r11d
cmp ebp, r10d
setb r11b
xor ecx, ecx
cmp eax, r9d
setb cl
cmove ecx, r11d
mov r11d, dword [r8]
mov edi, dword [r8 + 4]
xor r15d, r15d
cmp ebp, edi
setb r15b
xor ebp, ebp
cmp eax, r11d
setb bpl
cmove ebp, r15d
mov rax, r12
cmp cl, bpl
jne 0x1400a0a67
xor eax, eax
cmp r10d, edi
setb al
xor r10d, r10d
cmp r9d, r11d
setb r10b
cmove r10d, eax
xor cl, r10b
cmovne rdx, r8
mov rax, rdx
sub rax, r12
shr rax, 3
test r14, r14
jne 0x1400a0a94
jmp 0x1400a0abd
mov rcx, r12
call sym._ZN4core5slice4sort6shared5pivot11median3_rec17h775cee45eaa5f8abE.llvm.6461891340878860383
sub rax, r12
shr rax, 3
test r14, r14
je 0x1400a0abd
mov ecx, dword [r14]
mov edx, dword [r14 + 4]
xor r8d, r8d
cmp edx, dword [r12 + rax*8 + 4]
setb r8b
xor edx, edx
cmp ecx, dword [r12 + rax*8]
setb dl
cmove edx, r8d
cmp dl, 1
jne 0x1400a0c90
cmp rax, qword [rsp + 0x38]
jae 0x1400a0f20
mov rcx, qword [r12]
mov rdx, qword [r12 + rax*8]
mov qword [r12], rdx
mov qword [r12 + rax*8], rcx
lea rax, [r12 + 8]
mov ecx, dword [r12 + 8]
mov edx, dword [r12 + 0xc]
mov r8, qword [rsp + 0x38]
lea rdi, [r12 + r8*8 - 8]
lea r11, [r12 + 0x10]
mov r8d, dword [r12]
mov r9d, dword [r12 + 4]
cmp r11, rdi
jae 0x1400a0b90
mov rsi, r12
xor r10d, r10d
nop
xor ebp, ebp
cmp dword [r11 + 4], r9d
setb bpl
xor r15d, r15d
cmp dword [r11], r8d
setb r15b
cmove r15d, ebp
mov r12, qword [rax + r10*8]
mov qword [r11 - 8], r12
mov r12, qword [r11]
mov qword [rax + r10*8], r12
movzx r15d, r15b
add r15, r10
xor r10d, r10d
cmp dword [r11 + 0xc], r9d
setb r10b
xor ebp, ebp
cmp dword [r11 + 8], r8d
setb bpl
cmove ebp, r10d
mov r10, qword [rax + r15*8]
mov qword [r11], r10
mov r10, qword [r11 + 8]
mov qword [rax + r15*8], r10
movzx r10d, bpl
add r10, r15
add r11, 0x10
cmp r11, rdi
jb 0x1400a0b10
lea rdi, [r11 - 8]
mov r12, rsi
mov rsi, qword [rsp + 0x38]
lea r15, [r12 + rsi*8]
cmp r11, r15
jne 0x1400a0ba4
jmp 0x1400a0bf6
mov rdi, rax
xor r10d, r10d
mov rsi, qword [rsp + 0x38]
lea r15, [r12 + rsi*8]
cmp r11, r15
je 0x1400a0bf6
mov rsi, r12
nop word [rax + rax]
mov r12, r10
xor r10d, r10d
cmp dword [r11 + 4], r9d
setb r10b
xor ebp, ebp
cmp dword [r11], r8d
setb bpl
cmove ebp, r10d
mov r10, qword [rax + r12*8]
mov qword [rdi], r10
mov r10, qword [r11]
mov qword [rax + r12*8], r10
movzx r10d, bpl
add r10, r12
mov rdi, r11
add r11, 8
cmp r11, r15
jne 0x1400a0bb0
add r11, 0xfffffffffffffff8
mov rdi, r11
mov r12, rsi
xor r11d, r11d
cmp edx, r9d
setb r11b
xor r9d, r9d
cmp ecx, r8d
setb r9b
cmove r9d, r11d
mov r8, qword [rax + r10*8]
mov qword [rdi], r8
shl rdx, 0x20
or rdx, rcx
mov qword [rax + r10*8], rdx
movzx edx, r9b
add rdx, r10
cmp rdx, qword [rsp + 0x38]
jae 0x1400a0f22
lea rdi, [r12 + rdx*8]
mov rax, qword [r12]
mov rcx, qword [r12 + rdx*8]
mov qword [r12], rcx
mov qword [r12 + rdx*8], rax
lea r15, [r12 + rdx*8]
add r15, 8
mov rax, rdx
not rax
add qword [rsp + 0x38], rax
mov qword [rsp + 0x20], r13
mov rcx, r12
mov r8, r14
mov r9d, ebx
call sym.core::slice::sort::unstable::quicksort::quicksort::hd2b30449ac181f17
mov r14, rdi
mov r12, r15
cmp qword [rsp + 0x38], 0x21
jae 0x1400a09cc
jmp 0x14009f0d8
mov rcx, qword [r12]
mov rdx, qword [r12 + rax*8]
mov qword [r12], rdx
mov qword [r12 + rax*8], rcx
lea rax, [r12 + 8]
mov ecx, dword [r12 + 8]
mov edx, dword [r12 + 0xc]
mov r8, qword [rsp + 0x38]
lea rdi, [r12 + r8*8 - 8]
lea r11, [r12 + 0x10]
mov r8d, dword [r12]
mov r9d, dword [r12 + 4]
cmp r11, rdi
jae 0x1400a0d5d
xor r10d, r10d
nop word cs:[rax + rax]
xor ebp, ebp
cmp r9d, dword [r11 + 4]
setae bpl
xor r14d, r14d
cmp r8d, dword [r11]
setae r14b
cmove r14d, ebp
mov r15, qword [rax + r10*8]
mov qword [r11 - 8], r15
mov r15, qword [r11]
mov qword [rax + r10*8], r15
movzx r14d, r14b
add r14, r10
xor r10d, r10d
cmp r9d, dword [r11 + 0xc]
setae r10b
xor ebp, ebp
cmp r8d, dword [r11 + 8]
setae bpl
cmove ebp, r10d
mov r10, qword [rax + r14*8]
mov qword [r11], r10
mov r10, qword [r11 + 8]
mov qword [rax + r14*8], r10
movzx r10d, bpl
add r10, r14
add r11, 0x10
cmp r11, rdi
jb 0x1400a0ce0
lea rdi, [r11 - 8]
mov rsi, qword [rsp + 0x38]
lea r14, [r12 + rsi*8]
cmp r11, r14
jne 0x1400a0d80
jmp 0x1400a0960
mov rdi, rax
xor r10d, r10d
mov rsi, qword [rsp + 0x38]
lea r14, [r12 + rsi*8]
cmp r11, r14
je 0x1400a0960
nop word cs:[rax + rax]
mov r15, r10
xor r10d, r10d
cmp r9d, dword [r11 + 4]
setae r10b
xor ebp, ebp
cmp r8d, dword [r11]
setae bpl
cmove ebp, r10d
mov r10, qword [rax + r15*8]
mov qword [rdi], r10
mov r10, qword [r11]
mov qword [rax + r15*8], r10
movzx r10d, bpl
add r10, r15
mov rdi, r11
add r11, 8
cmp r11, r14
jne 0x1400a0d80
add r11, 0xfffffffffffffff8
mov rdi, r11
jmp 0x1400a0960
mov rcx, r12
mov rdx, qword [rsp + 0x38]
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.core::slice::sort::unstable::heapsort::heapsort::he1dd964cdd92c297
lea rcx, [rbx - 8]
mov rax, qword [rsp + 0x38]
lea r8, [rax - 1]
lea rax, [r12 + rax*8]
add rax, 0xfffffffffffffff8
xor r9d, r9d
mov rdx, r12
nop word cs:[rax + rax]
mov r10d, dword [rbx]
mov r11d, dword [rbx + 4]
xor esi, esi
cmp r11d, dword [rdx + 4]
setb sil
xor r11d, r11d
cmp r10d, dword [rdx]
setb r11b
cmove r11d, esi
test r11b, r11b
mov r10, rdx
cmovne r10, rbx
mov r10, qword [r10]
mov qword [rsp + r9*8 + 0x108], r10
inc r9
movzx r10d, r11b
xor r11b, 1
lea rbx, [rbx + r10*8]
movzx r10d, r11b
mov r11d, dword [rax]
mov esi, dword [rax + 4]
xor edi, edi
cmp esi, dword [rcx + 4]
setb dil
xor esi, esi
cmp r11d, dword [rcx]
lea rdx, [rdx + r10*8]
setb sil
cmove esi, edi
test sil, sil
mov r10, rax
cmovne r10, rcx
mov r10, qword [r10]
mov qword [rsp + r8*8 + 0x108], r10
movzx r10d, sil
shl r10d, 3
add rax, r10
add rax, 0xfffffffffffffff8
sub rcx, r10
dec r8
cmp qword [rsp + 0x100], r9
jne 0x1400a0e10
add rcx, 8
test byte [rsp + 0x38], 1
je 0x1400a0ee4
xor r8d, r8d
xor r10d, r10d
cmp rdx, rcx
setae r8b
setb r10b
mov r11, rbx
cmovb r11, rdx
mov r11, qword [r11]
mov qword [rsp + r9*8 + 0x108], r11
lea rdx, [rdx + r10*8]
lea rbx, [rbx + r8*8]
cmp rdx, rcx
jne 0x1400a0f47
add rax, 8
cmp rbx, rax
jne 0x1400a0f47
mov r8, qword [rsp + 0x38]
shl r8, 3
lea rdx, [rsp + 0x108]
mov rcx, r12
call sym.memcpy
nop
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea r8, str._bA5_
mov rcx, rdx
mov rdx, qword [rsp + 0x38]
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, str._bA5_
mov rdx, qword [rsp + 0x38]
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
call sym.core::slice::sort::shared::smallsort::panic_on_ord_violation::hcab1ddae54e1feac
int3