Function at 0x418f20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x11c8
call fcn.0043c560
sub rsp, rax
movaps xmmword [rsp + 0x11b0], xmm6
mov rsi, rcx
cmp rdx, 3
ja 0x418fb5
cmp rdx, 2
je 0x41dd72
cmp rdx, 3
jne 0x41dd87
mov eax, dword [rsi + 4]
mov ecx, dword [rsi + 0xc]
cmp ecx, eax
jle 0x418f7e
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rsi], rax
mov qword [rsi + 8], rcx
shr rcx, 0x20
shr rax, 0x20
cmp dword [rsi + 0x14], ecx
jle 0x41dd87
mov rdx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsi + 8], rcx
mov qword [rsi + 0x10], rdx
mov rdx, rcx
shr rdx, 0x20
cmp eax, edx
jge 0x41dd87
mov rax, qword [rsi]
mov qword [rsi], rcx
mov qword [rsi + 8], rax
jmp 0x41dd87
bsr rcx, rdx
mov r8d, 1
shl r8, cl
shr r8, 2
mov rcx, rdx
mov rax, rdx
or rax, r8
shr rax, 0x20
je 0x418fdf
mov rax, rcx
xor edx, edx
div r8
jmp 0x418fe6
mov eax, ecx
xor edx, edx
div r8d
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x90], r8
lea rax, [r8 - 1]
mov qword [rsp + 0xb8], rcx
and rax, rcx
mov qword [rsp + 0xc8], rax
xor eax, eax
xor edx, edx
jmp 0x41903d
mov rcx, qword [rdi]
mov r8, qword [r9]
mov qword [rdi], r8
mov qword [r9], rcx
sub rdx, r15
cmp rax, qword [rsp + 0xb8]
jae 0x419d43
mov rcx, rax
mov rax, qword [rsp + 0x80]
add rax, rcx
add rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x90]
cmp rdx, r8
mov r15d, 0
cmovae r15, r8
sbb rax, 0xffffffffffffffff
mov r8, rax
sub r8, rcx
add r8, 0xfffffffffffffffc
cmp r8, 4
ja case.default.0x41908e
lea r9, [rsi + rcx*8]
lea r10, [0x0043d790]
movsxd rcx, dword [r10 + r8*4]
add rcx, r10
jmp rcx
mov r11d, dword [r9 + 4]
mov ecx, dword [r9 + 0xc]
cmp ecx, r11d
jle 0x4196bd
mov rcx, qword [r9]
mov r11, qword [r9 + 8]
mov qword [r9], r11
mov qword [r9 + 8], rcx
shr r11, 0x20
shr rcx, 0x20
mov dil, 1
xor r8d, r8d
mov r10d, dword [r9 + 0x14]
mov r14d, dword [r9 + 0x1c]
cmp r14d, r10d
jg 0x4196d3
mov bl, 2
mov bpl, 3
cmp r10d, r11d
jg 0x4196f5
jmp 0x419709
mov r13d, dword [r9 + 4]
mov r14d, dword [r9 + 0xc]
cmp r14d, r13d
jle 0x419206
mov r14, qword [r9]
mov r13, qword [r9 + 8]
mov qword [r9], r13
mov qword [r9 + 8], r14
shr r13, 0x20
shr r14, 0x20
mov r12b, 1
mov dword [rsp + 0x30], 0
mov edi, dword [r9 + 0x14]
mov r10d, dword [r9 + 0x1c]
cmp r10d, edi
jg 0x419220
mov byte [rsp + 0x58], 2
mov byte [rsp + 0x48], 3
jmp 0x419242
mov r11d, dword [r9 + 0xc]
mov r10d, dword [r9 + 0x14]
cmp r10d, r11d
jle 0x41945a
mov r10, qword [r9 + 8]
mov r11, qword [r9 + 0x10]
mov qword [r9 + 8], r11
mov qword [r9 + 0x10], r10
shr r10, 0x20
shr r11, 0x20
mov bpl, 2
mov r13b, 1
jmp 0x419460
mov edi, dword [r9 + 0xc]
mov r10d, dword [r9 + 0x14]
cmp r10d, edi
jle 0x419542
mov r10, qword [r9 + 8]
mov rdi, qword [r9 + 0x10]
mov qword [r9 + 8], rdi
mov qword [r9 + 0x10], r10
shr r10, 0x20
shr rdi, 0x20
mov byte [rsp + 0x20], 2
mov r14b, 1
jmp 0x41954a
mov r11d, dword [r9 + 4]
mov ecx, dword [r9 + 0xc]
cmp ecx, r11d
jle 0x41975d
mov rcx, qword [r9]
mov r11, qword [r9 + 8]
mov qword [r9], r11
mov qword [r9 + 8], rcx
shr rcx, 0x20
shr r11, 0x20
mov bpl, 1
xor r10d, r10d
mov edi, dword [r9 + 0x1c]
mov r14d, dword [r9 + 0x24]
cmp r14d, edi
jg 0x419773
mov r8b, 3
mov r12b, 4
mov ebx, dword [r9 + 0x14]
cmp r14d, ebx
jg 0x41979e
mov r13d, r12d
mov r12b, 2
cmp edi, ebx
mov qword [rsp + 0x38], r15
jle 0x4197c2
jmp 0x4197d1
mov cl, 1
mov dword [rsp + 0x30], ecx
xor r12d, r12d
mov edi, dword [r9 + 0x14]
mov r10d, dword [r9 + 0x1c]
cmp r10d, edi
jle 0x419124
mov r10, qword [r9 + 0x10]
mov rdi, qword [r9 + 0x18]
mov qword [r9 + 0x10], rdi
mov qword [r9 + 0x18], r10
shr rdi, 0x20
shr r10, 0x20
mov byte [rsp + 0x58], 3
mov byte [rsp + 0x48], 2
mov r11d, dword [r9 + 0x24]
mov ebx, dword [r9 + 0x2c]
cmp ebx, r11d
mov qword [rsp + 0x38], r15
jle 0x419330
mov rbx, qword [r9 + 0x20]
mov r11, qword [r9 + 0x28]
mov qword [r9 + 0x20], r11
mov qword [r9 + 0x28], rbx
shr r11, 0x20
shr rbx, 0x20
mov byte [rsp + 0x78], 5
mov byte [rsp + 0x50], 4
mov r15d, dword [r9 + 0x34]
mov ecx, dword [r9 + 0x3c]
cmp ecx, r15d
jg 0x41934b
mov byte [rsp + 0x20], 6
mov r8b, 7
cmp edi, r13d
jg 0x419374
mov qword [rsp + 0x98], rcx
mov rcx, rdx
mov rdx, r13
mov r13, rax
mov eax, r8d
movzx ebp, byte [rsp + 0x58]
mov byte [rsp + 0x28], bpl
mov ebp, r12d
mov rax, r13
mov r13, rdx
mov rdx, rcx
mov rcx, qword [rsp + 0x98]
mov byte [rsp + 0x58], r12b
cmp r10d, r14d
jg 0x41939b
movzx ebp, byte [rsp + 0x48]
mov r12d, dword [rsp + 0x30]
mov byte [rsp + 0x48], r12b
mov byte [rsp + 0x30], bpl
cmp r15d, r11d
jg 0x4193c5
movzx ebp, byte [rsp + 0x20]
mov r12, r13
movzx r13d, byte [rsp + 0x78]
mov byte [rsp + 0x20], r13b
mov r13, r12
cmp ecx, ebx
jg 0x4193ea
mov byte [rsp + 0x78], r8b
movzx r8d, byte [rsp + 0x50]
cmp edi, r14d
jle 0x419412
jmp 0x419429
mov byte [rsp + 0x78], 4
mov byte [rsp + 0x50], 5
mov r15d, dword [r9 + 0x34]
mov ecx, dword [r9 + 0x3c]
cmp ecx, r15d
jle 0x41928b
mov rcx, qword [r9 + 0x30]
mov r15, qword [r9 + 0x38]
mov qword [r9 + 0x30], r15
mov qword [r9 + 0x38], rcx
shr r15, 0x20
shr rcx, 0x20
mov byte [rsp + 0x20], 7
mov r8b, 6
cmp edi, r13d
jle 0x41929c
mov rdi, qword [r9]
mov r13, qword [r9 + 0x10]
mov qword [r9], r13
mov qword [r9 + 0x10], rdi
shr rdi, 0x20
shr r13, 0x20
mov ebp, r12d
mov byte [rsp + 0x28], r12b
cmp r10d, r14d
jle 0x4192dc
mov r10, qword [r9 + 8]
mov r14, qword [r9 + 0x18]
mov qword [r9 + 8], r14
mov qword [r9 + 0x18], r10
shr r14, 0x20
shr r10, 0x20
mov ebp, dword [rsp + 0x30]
mov byte [rsp + 0x30], bpl
cmp r15d, r11d
jle 0x4192f9
mov r15, qword [r9 + 0x20]
mov r11, qword [r9 + 0x30]
mov qword [r9 + 0x20], r11
mov qword [r9 + 0x30], r15
shr r15, 0x20
shr r11, 0x20
movzx ebp, byte [rsp + 0x78]
cmp ecx, ebx
jle 0x419317
mov rcx, qword [r9 + 0x28]
mov rbx, qword [r9 + 0x38]
mov qword [r9 + 0x28], rbx
mov qword [r9 + 0x38], rcx
shr rbx, 0x20
shr rcx, 0x20
movzx r12d, byte [rsp + 0x50]
mov byte [rsp + 0x78], r12b
cmp edi, r14d
jg 0x419429
jl 0x41989f
movzx r12d, byte [rsp + 0x48]
cmp r12b, byte [rsp + 0x28]
jbe 0x41989f
mov rdi, qword [r9 + 8]
mov r14, qword [r9 + 0x10]
mov qword [r9 + 8], r14
mov qword [r9 + 0x10], rdi
shr r14, 0x20
shr rdi, 0x20
movzx r12d, byte [rsp + 0x48]
mov byte [rsp + 0x50], r12b
cmp r15d, ebx
jle 0x4198c9
jmp 0x4198d8
mov bpl, 1
mov r13b, 2
mov edi, dword [r9 + 0x24]
mov r8d, dword [r9 + 0x2c]
cmp r8d, edi
mov qword [rsp + 0x38], r15
jle 0x4194b6
mov r8, qword [r9 + 0x20]
mov rdi, qword [r9 + 0x28]
mov qword [r9 + 0x20], rdi
mov qword [r9 + 0x28], r8
shr r8, 0x20
shr rdi, 0x20
mov cl, 5
mov r12b, 4
mov r15d, dword [r9 + 4]
cmp r10d, r15d
jg 0x4194c4
mov ebx, r13d
xor r13d, r13d
mov r14d, dword [r9 + 0x1c]
cmp r8d, r14d
jg 0x4194e5
mov byte [rsp + 0x20], r12b
mov r12b, 3
cmp r11d, r15d
jle 0x419507
jmp 0x419516
mov cl, 4
mov r12b, 5
mov r15d, dword [r9 + 4]
cmp r10d, r15d
jle 0x419498
mov r10, qword [r9]
mov r15, qword [r9 + 0x10]
mov qword [r9], r15
mov qword [r9 + 0x10], r10
shr r15, 0x20
shr r10, 0x20
xor ebx, ebx
mov r14d, dword [r9 + 0x1c]
cmp r8d, r14d
jle 0x4194a7
mov r8, qword [r9 + 0x18]
mov r14, qword [r9 + 0x28]
mov qword [r9 + 0x18], r14
mov qword [r9 + 0x28], r8
shr r14, 0x20
shr r8, 0x20
mov byte [rsp + 0x20], 3
cmp r11d, r15d
jg 0x419516
jl 0x419a72
cmp r13b, bpl
jbe 0x419a72
mov byte [rsp + 0x48], bpl
mov r11, qword [r9]
mov r15, qword [r9 + 8]
mov qword [r9], r15
mov qword [r9 + 8], r11
shr r15, 0x20
shr r11, 0x20
mov ebp, r13d
cmp edi, r14d
jle 0x419a7c
jmp 0x419a8b
mov byte [rsp + 0x20], 1
mov r14b, 2
mov r11d, dword [r9 + 0x1c]
mov ebx, dword [r9 + 0x24]
cmp ebx, r11d
mov qword [rsp + 0x38], r15
jle 0x4195d8
mov rbx, qword [r9 + 0x18]
mov r11, qword [r9 + 0x20]
mov qword [r9 + 0x18], r11
mov qword [r9 + 0x20], rbx
shr r11, 0x20
shr rbx, 0x20
mov cl, 4
mov byte [rsp + 0x30], 3
mov r15d, dword [r9 + 0x2c]
mov ebp, dword [r9 + 0x34]
cmp ebp, r15d
jg 0x4195ec
mov byte [rsp + 0x48], 5
mov r8b, 6
mov r12d, dword [r9 + 4]
cmp r10d, r12d
jg 0x419615
mov r13d, r14d
xor r14d, r14d
mov dword [rsp + 0x28], r13d
cmp r15d, r11d
jg 0x41963c
movzx r13d, byte [rsp + 0x48]
mov byte [rsp + 0x48], cl
cmp ebp, ebx
jg 0x41965f
mov byte [rsp + 0x58], r8b
movzx r8d, byte [rsp + 0x30]
cmp edi, r12d
jle 0x419685
jmp 0x419696
mov cl, 3
mov byte [rsp + 0x30], 4
mov r15d, dword [r9 + 0x2c]
mov ebp, dword [r9 + 0x34]
cmp ebp, r15d
jle 0x419588
mov rbp, qword [r9 + 0x28]
mov r15, qword [r9 + 0x30]
mov qword [r9 + 0x28], r15
mov qword [r9 + 0x30], rbp
shr r15, 0x20
shr rbp, 0x20
mov byte [rsp + 0x48], 6
mov r8b, 5
mov r12d, dword [r9 + 4]
cmp r10d, r12d
jle 0x419599
mov r10, qword [r9]
mov r12, qword [r9 + 0x10]
mov qword [r9], r12
mov qword [r9 + 0x10], r10
shr r12, 0x20
shr r10, 0x20
xor r13d, r13d
mov dword [rsp + 0x28], r13d
cmp r15d, r11d
jle 0x4195ad
mov r15, qword [r9 + 0x18]
mov r11, qword [r9 + 0x28]
mov qword [r9 + 0x18], r11
mov qword [r9 + 0x28], r15
shr r15, 0x20
shr r11, 0x20
mov r13d, ecx
cmp ebp, ebx
jle 0x4195bf
mov rbp, qword [r9 + 0x20]
mov rbx, qword [r9 + 0x30]
mov qword [r9 + 0x20], rbx
mov qword [r9 + 0x30], rbp
shr rbx, 0x20
shr rbp, 0x20
movzx ecx, byte [rsp + 0x30]
mov byte [rsp + 0x58], cl
cmp edi, r12d
jg 0x419696
jl 0x419b9e
cmp r14b, byte [rsp + 0x20]
jbe 0x419b9e
mov rdi, qword [r9]
mov r12, qword [r9 + 8]
mov qword [r9], r12
mov qword [r9 + 8], rdi
shr r12, 0x20
shr rdi, 0x20
mov ecx, r14d
cmp r15d, ebx
jle 0x419bad
jmp 0x419bbc
mov r8b, 1
xor edi, edi
mov r10d, dword [r9 + 0x14]
mov r14d, dword [r9 + 0x1c]
cmp r14d, r10d
jle 0x4190ce
mov r14, qword [r9 + 0x10]
mov r10, qword [r9 + 0x18]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x18], r14
shr r10, 0x20
shr r14, 0x20
mov bl, 3
mov bpl, 2
cmp r10d, r11d
jle 0x419709
mov r10, qword [r9]
mov r11, qword [r9 + 0x10]
mov qword [r9], r11
mov qword [r9 + 0x10], r10
shr r10, 0x20
mov ebx, edi
cmp r14d, ecx
jle 0x419738
mov r8, qword [r9 + 8]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 8], rcx
mov qword [r9 + 0x18], r8
shr rcx, 0x20
mov r8d, ebp
lea rdi, [r9 + 8]
add r9, 0x10
cmp r10d, ecx
jg 0x419020
jmp 0x419749
lea rdi, [r9 + 8]
add r9, 0x10
cmp r10d, ecx
jg 0x419020
jl case.default.0x41908e
cmp r8b, bl
ja 0x419020
jmp case.default.0x41908e
mov r10b, 1
xor ebp, ebp
mov edi, dword [r9 + 0x1c]
mov r14d, dword [r9 + 0x24]
cmp r14d, edi
jle 0x4191db
mov r14, qword [r9 + 0x18]
mov rdi, qword [r9 + 0x20]
mov qword [r9 + 0x18], rdi
mov qword [r9 + 0x20], r14
shr r14, 0x20
shr rdi, 0x20
mov r8b, 4
mov r12b, 3
mov ebx, dword [r9 + 0x14]
cmp r14d, ebx
jle 0x4191ee
mov r14, qword [r9 + 0x10]
mov rbx, qword [r9 + 0x20]
mov qword [r9 + 0x10], rbx
mov qword [r9 + 0x20], r14
shr rbx, 0x20
shr r14, 0x20
mov r13b, 2
cmp edi, ebx
mov qword [rsp + 0x38], r15
jg 0x4197d1
jl 0x419d2f
cmp r12b, r8b
jbe 0x419d2f
mov rdi, qword [r9 + 0x10]
mov rbx, qword [r9 + 0x18]
mov qword [r9 + 0x10], rbx
mov qword [r9 + 0x18], rdi
shr rdi, 0x20
shr rbx, 0x20
mov r15d, r12d
cmp r14d, ecx
jle 0x419808
mov r10, qword [r9 + 8]
mov rcx, qword [r9 + 0x20]
mov qword [r9 + 8], rcx
mov qword [r9 + 0x20], r10
shr rcx, 0x20
mov r10d, r13d
cmp edi, r11d
jle 0x41982d
mov rdi, qword [r9]
mov r11, qword [r9 + 0x18]
mov qword [r9], r11
mov qword [r9 + 0x18], rdi
shr r11, 0x20
shr rdi, 0x20
mov r14d, ebp
cmp ebx, r11d
jle 0x419838
jmp 0x41983f
mov r14d, r15d
mov r15d, ebp
cmp ebx, r11d
jg 0x41983f
jl 0x419854
cmp r15b, r8b
jbe 0x419854
mov rbx, qword [r9]
mov r8, qword [r9 + 0x10]
mov qword [r9], r8
mov qword [r9 + 0x10], rbx
shr rbx, 0x20
mov r8d, r15d
cmp edi, ecx
mov r15, qword [rsp + 0x38]
jg 0x419864
jl 0x41987b
cmp r10b, r14b
jbe 0x41987b
mov r10, qword [r9 + 8]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 8], rcx
mov qword [r9 + 0x18], r10
shr rcx, 0x20
mov r10d, r14d
lea rdi, [r9 + 8]
add r9, 0x10
cmp ebx, ecx
jg 0x419020
jl case.default.0x41908e
cmp r10b, r8b
ja 0x419020
jmp case.default.0x41908e
mov byte [rsp + 0x98], bpl
movzx ebp, byte [rsp + 0x28]
mov byte [rsp + 0x50], bpl
movzx ebp, byte [rsp + 0x98]
movzx r12d, byte [rsp + 0x48]
mov byte [rsp + 0x28], r12b
cmp r15d, ebx
jg 0x4198d8
jl 0x419a58
cmp r8b, bpl
jbe 0x419a58
mov r15, qword [r9 + 0x28]
mov rbx, qword [r9 + 0x30]
mov qword [r9 + 0x28], rbx
mov qword [r9 + 0x30], r15
shr rbx, 0x20
shr r15, 0x20
mov r12d, r8d
cmp r11d, r13d
movzx r13d, byte [rsp + 0x20]
jle 0x419916
mov r11, qword [r9]
mov r8, qword [r9 + 0x20]
mov qword [r9], r8
mov qword [r9 + 0x20], r11
shr r11, 0x20
movzx r13d, byte [rsp + 0x58]
cmp ecx, r10d
jle 0x41996e
mov rcx, qword [r9 + 0x18]
mov r10, qword [r9 + 0x38]
mov qword [r9 + 0x18], r10
mov qword [r9 + 0x38], rcx
shr r10, 0x20
movzx ecx, byte [rsp + 0x78]
mov byte [rsp + 0x30], cl
cmp ebx, r14d
jg 0x419973
mov ecx, ebp
movzx ebp, byte [rsp + 0x28]
cmp r15d, edi
jle 0x419995
mov r15, qword [r9 + 0x10]
mov rdi, qword [r9 + 0x30]
mov qword [r9 + 0x10], rdi
mov qword [r9 + 0x30], r15
shr r15, 0x20
shr rdi, 0x20
movzx r8d, byte [rsp + 0x50]
cmp r11d, r14d
jg 0x4199aa
jmp 0x4199a3
cmp ebx, r14d
jle 0x41993d
mov rbx, qword [r9 + 8]
mov r14, qword [r9 + 0x28]
mov qword [r9 + 8], r14
mov qword [r9 + 0x28], rbx
shr r14, 0x20
shr rbx, 0x20
movzx ecx, byte [rsp + 0x28]
cmp r15d, edi
jg 0x419949
mov r8d, r12d
movzx r12d, byte [rsp + 0x50]
cmp r11d, r14d
jg 0x4199aa
jl 0x4199c1
cmp bpl, r13b
jbe 0x4199c1
mov r11, qword [r9 + 8]
mov r14, qword [r9 + 0x20]
mov qword [r9 + 8], r14
mov qword [r9 + 0x20], r11
shr r11, 0x20
mov r13d, ebp
cmp r15d, r10d
mov r15, qword [rsp + 0x38]
movzx ebp, byte [rsp + 0x30]
jg 0x4199d7
jl 0x4199ee
cmp bpl, r8b
jbe 0x4199ee
mov r14, qword [r9 + 0x18]
mov r10, qword [r9 + 0x30]
mov qword [r9 + 0x18], r10
mov qword [r9 + 0x30], r14
shr r10, 0x20
mov ebp, r8d
cmp r11d, edi
jg 0x4199fa
jl 0x419a11
cmp r12b, r13b
jbe 0x419a11
mov r11, qword [r9 + 0x10]
mov r8, qword [r9 + 0x20]
mov qword [r9 + 0x10], r8
mov qword [r9 + 0x20], r11
shr r11, 0x20
mov r13d, r12d
cmp ebx, r10d
jg 0x419a1d
jl 0x419a33
cmp bpl, cl
jbe 0x419a33
mov r8, qword [r9 + 0x18]
mov r10, qword [r9 + 0x28]
mov qword [r9 + 0x18], r10
mov qword [r9 + 0x28], r8
shr r10, 0x20
mov ebp, ecx
lea rdi, [r9 + 0x18]
add r9, 0x20
cmp r11d, r10d
jg 0x419020
jl case.default.0x41908e
cmp bpl, r13b
ja 0x419020
jmp case.default.0x41908e
mov r12d, ebp
mov ebp, r8d
cmp r11d, r13d
movzx r13d, byte [rsp + 0x20]
jg 0x4198fe
jmp 0x419916
mov byte [rsp + 0x48], r13b
cmp edi, r14d
jg 0x419a8b
jl 0x419b8a
cmp r12b, cl
jbe 0x419b8a
mov rdi, qword [r9 + 0x18]
mov r14, qword [r9 + 0x20]
mov qword [r9 + 0x18], r14
mov qword [r9 + 0x20], rdi
shr r14, 0x20
shr rdi, 0x20
mov r13d, r12d
cmp r8d, r10d
jle 0x419ac8
mov r8, qword [r9 + 0x10]
mov r10, qword [r9 + 0x28]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x28], r8
shr r10, 0x20
movzx r8d, byte [rsp + 0x20]
mov ebx, r8d
cmp r14d, r15d
jle 0x419afb
mov r14, qword [r9]
mov rcx, qword [r9 + 0x18]
mov qword [r9], rcx
mov qword [r9 + 0x18], r14
shr r14, 0x20
movzx ecx, byte [rsp + 0x48]
cmp edi, r11d
mov r15, qword [rsp + 0x38]
jg 0x419b05
mov r8d, r13d
mov r13d, ebp
cmp edi, r10d
jg 0x419b2c
jmp 0x419b25
cmp edi, r11d
mov r15, qword [rsp + 0x38]
jle 0x419aee
mov rdi, qword [r9 + 8]
mov r11, qword [r9 + 0x20]
mov qword [r9 + 8], r11
mov qword [r9 + 0x20], rdi
shr rdi, 0x20
shr r11, 0x20
mov r8d, ebp
cmp edi, r10d
jg 0x419b2c
jl 0x419b43
cmp bl, r8b
jbe 0x419b43
mov rdi, qword [r9 + 0x10]
mov r10, qword [r9 + 0x20]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x20], rdi
shr r10, 0x20
mov ebx, r8d
cmp r14d, r11d
jg 0x419b4f
jl 0x419b66
cmp r13b, cl
jbe 0x419b66
mov r14, qword [r9 + 8]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 8], rcx
mov qword [r9 + 0x18], r14
shr r14, 0x20
mov ecx, r13d
lea rdi, [r9 + 0x10]
add r9, 0x18
cmp r14d, r10d
jg 0x419020
jl case.default.0x41908e
cmp bl, cl
ja 0x419020
jmp case.default.0x41908e
mov r13d, ecx
mov ecx, r12d
cmp r8d, r10d
jg 0x419aab
jmp 0x419ac8
movzx ecx, byte [rsp + 0x20]
mov byte [rsp + 0x20], r14b
cmp r15d, ebx
jg 0x419bbc
jl 0x419d1b
cmp r8b, r13b
jbe 0x419d1b
mov r15, qword [r9 + 0x20]
mov rbx, qword [r9 + 0x28]
mov qword [r9 + 0x20], rbx
mov qword [r9 + 0x28], r15
shr rbx, 0x20
shr r15, 0x20
mov r14d, r8d
cmp ebp, r10d
jle 0x419bfb
mov r8, qword [r9 + 0x10]
mov r10, qword [r9 + 0x30]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x30], r8
shr r10, 0x20
movzx r8d, byte [rsp + 0x58]
mov dword [rsp + 0x28], r8d
cmp ebx, r12d
jle 0x419c34
mov rbx, qword [r9]
mov r12, qword [r9 + 0x20]
mov qword [r9], r12
mov qword [r9 + 0x20], rbx
shr r12, 0x20
shr rbx, 0x20
movzx r8d, byte [rsp + 0x20]
cmp r15d, edi
jg 0x419c42
mov ebp, r14d
mov r14d, ecx
cmp r11d, r12d
movzx r12d, byte [rsp + 0x48]
jle 0x419c67
jmp 0x419c6e
mov r8d, r13d
movzx r13d, byte [rsp + 0x20]
cmp r15d, edi
jle 0x419c21
mov r15, qword [r9 + 8]
mov rdi, qword [r9 + 0x28]
mov qword [r9 + 8], rdi
mov qword [r9 + 0x28], r15
shr r15, 0x20
shr rdi, 0x20
mov ebp, ecx
cmp r11d, r12d
movzx r12d, byte [rsp + 0x48]
jg 0x419c6e
jl 0x419c83
cmp r13b, r12b
jbe 0x419c83
mov r11, qword [r9]
mov rcx, qword [r9 + 0x18]
mov qword [r9], rcx
mov qword [r9 + 0x18], r11
shr r11, 0x20
mov r12d, r13d
cmp r15d, r10d
mov r15, qword [rsp + 0x38]
mov r13d, dword [rsp + 0x28]
jg 0x419c99
jl 0x419cb0
cmp r13b, bpl
jbe 0x419cb0
mov rcx, qword [r9 + 0x10]
mov r10, qword [r9 + 0x28]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x28], rcx
shr r10, 0x20
mov r13d, ebp
cmp r11d, edi
jg 0x419cbc
jl 0x419cd3
cmp r14b, r12b
jbe 0x419cd3
mov r11, qword [r9 + 8]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 8], rcx
mov qword [r9 + 0x18], r11
shr r11, 0x20
mov r12d, r14d
cmp ebx, r10d
jg 0x419cdf
jl 0x419cf6
cmp r13b, r8b
jbe 0x419cf6
mov rcx, qword [r9 + 0x10]
mov r10, qword [r9 + 0x20]
mov qword [r9 + 0x10], r10
mov qword [r9 + 0x20], rcx
shr r10, 0x20
mov r13d, r8d
lea rdi, [r9 + 0x10]
add r9, 0x18
cmp r11d, r10d
jg 0x419020
jl case.default.0x41908e
cmp r13b, r12b
ja 0x419020
jmp case.default.0x41908e
mov r14d, r13d
mov r13d, r8d
cmp ebp, r10d
jg 0x419bdc
jmp 0x419bfb
mov r15d, r8d
mov r8d, r12d
cmp r14d, ecx
jg 0x4197f1
jmp 0x419808
mov rax, qword [rsp + 0xb8]
cmp rax, 8
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc8]
jb 0x41dd87
lea r8, [rsi - 8]
mov qword [rsp + 0x48], r8
lea r12, [rsi + 8]
lea r8, [rsi - 0x10]
mov qword [rsp + 0x170], r8
lea r8, [rsi + 0x10]
mov qword [rsp + 0xd8], r8
xor r15d, r15d
xorps xmm6, xmm6
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0x38], r12
jmp 0x419dea
mov rax, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x90]
add rax, rax
xor ecx, ecx
cmp rax, r10
setae cl
mov r8, r10
mov edx, 0
cmovae rdx, r10
sub rax, rdx
mov rdx, qword [rsp + 0x80]
lea rdx, [rcx + rdx*2]
mov rcx, rax
mov rax, qword [rsp + 0xb8]
cmp rdx, rax
jae 0x41dd87
cmp rdx, 0x200
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xc8], rcx
jae 0x41a4e0
cmp rdx, 0x7f
ja 0x41a560
lea r8, [rdx*4]
cmp r8, rax
ja 0x41a560
lea rax, [rdx + rdx]
mov ecx, 1
mov qword [rsp + 0x60], rax
sub rcx, rax
mov qword [rsp + 0x158], rcx
mov eax, 1
mov qword [rsp + 0xc0], r8
sub rax, r8
mov qword [rsp + 0xe0], rax
xor edi, edi
xor r14d, r14d
mov r10, qword [rsp + 0x90]
mov r12, rdi
mov rcx, qword [rsp + 0x80]
lea r13, [rdi + rcx]
mov r8, qword [rsp + 0xc8]
add r14, r8
xor ebx, ebx
cmp r14, r10
mov eax, 0
cmovae rax, r10
setae bl
sub r14, rax
add r13, rbx
lea r11, [rcx + r13]
add r14, r8
xor edx, edx
cmp r14, r10
setae dl
mov eax, 0
cmovae rax, r10
sub r14, rax
mov qword [rsp + 0x78], rdx
add r11, rdx
lea rbp, [r11 + rcx]
add r14, r8
xor edx, edx
cmp r14, r10
mov eax, 0
cmovae rax, r10
setae dl
sub r14, rax
mov qword [rsp + 0x40], rdx
add rbp, rdx
lea rdi, [rcx + rbp]
add r14, r8
xor eax, eax
cmp r14, r10
setae al
mov r8d, 0
cmovae r8, r10
mov qword [rsp + 0x98], rax
add rdi, rax
lea rdx, [rsi + r12*8]
mov eax, dword [rsi + r11*8 - 4]
mov ecx, dword [rsi + r12*8 + 4]
cmp eax, ecx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x50], r12
jle 0x419f70
mov r8, r13
sub r8, r12
mov r12, rbp
mov rbp, r11
sub rbp, r13
lea rcx, [rsp + rbp*8]
add rcx, 0x1b0
shl r8, 3
mov rbx, r11
call fcn.0043c590
lea rdx, [rsi + r13*8]
shl rbp, 3
lea rcx, [rsp + 0x1b0]
mov r8, rbp
mov rbp, r12
jmp 0x41a09b
mov r9d, dword [rsi + r13*8 + 4]
cmp r9d, dword [rsi + r13*8 - 4]
jle 0x41a030
mov qword [rsp + 0x68], r11
mov rax, qword [rsp + 0x158]
sub rax, r12
sub rax, rbx
sub rax, qword [rsp + 0x78]
xor edx, edx
mov r8, r13
mov rbp, r12
mov qword [rsp + 0x88], rdx
lea r10, [rsp + rdx*8]
add r10, 0x1b0
lea rdx, [rsi + r8*8]
lea r15, [rax + r8]
xor edi, edi
xor r11d, r11d
cmp r9d, ecx
jle 0x419ff6
nop word cs:[rax + rax]
nop
mov r9, qword [rdx + r11*8]
mov qword [r10 + r11*8], r9
mov r9, r15
add r9, r11
je 0x41a0b0
mov r9d, dword [rdx + r11*8 + 0xc]
add r11, 1
add rdi, 0xfffffffffffffff8
cmp r9d, ecx
jg 0x419fd0
mov rcx, qword [rsi + rbp*8]
mov qword [r10 + r11*8], rcx
add rbp, 1
cmp rbp, r13
je 0x41a47d
add r8, r11
mov rdx, qword [rsp + 0x88]
add rdx, r11
add rdx, 1
mov ecx, dword [rsi + rbp*8 + 4]
jmp 0x419fa0
mov ecx, dword [rsi + rbp*8 + 4]
cmp ecx, dword [rsi + rbp*8 - 4]
jg 0x41a045
cmp dword [rsi + r11*8 + 4], eax
jle 0x41a467
lea rax, [rsi + r13*8]
mov qword [rsp + 0x88], rax
mov rax, r12
mov r12, rbp
mov rbp, rdi
mov rdi, r13
sub rdi, rax
lea r8, [rdi*8]
lea rcx, [rsp + 0x1b0]
mov rbx, r11
call fcn.0043c590
mov r8, rbx
sub r8, r13
lea rcx, [rsp + rdi*8]
add rcx, 0x1b0
mov rdi, rbp
mov rbp, r12
shl r8, 3
mov rdx, qword [rsp + 0x88]
call fcn.0043c590
jmp 0x41a0dd
lea rdx, [rsi + rbp*8]
sub r13, rbp
lea rcx, [r10 + r11*8]
add rcx, 8
shl r13, 3
mov r8, r13
call fcn.0043c590
xor r15d, r15d
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x20]
lea rdx, [rsi + rbx*8]
mov eax, dword [rsi + rbx*8 + 4]
cmp dword [rsi + rdi*8 - 4], eax
mov qword [rsp + 0x88], rdx
jle 0x41a140
mov r8, rbp
sub r8, rbx
mov r13, rbx
sub r13, qword [rsp + 0x50]
mov r12, rdi
sub r12, rbp
lea rbp, [rsp + r13*8]
add rbp, 0x1b0
lea rcx, [r12*8]
add rcx, rbp
shl r8, 3
call fcn.0043c590
mov rax, qword [rsp + 0x20]
lea rdx, [rsi + rax*8]
shl r12, 3
mov rcx, rbp
mov r8, r12
jmp 0x41a27b
mov ecx, dword [rsi + rbp*8 + 4]
cmp ecx, dword [rsi + rbp*8 - 4]
mov r12, qword [rsp + 0x50]
jle 0x41a230
mov r13, rbx
sub r13, r12
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x70]
add rdx, r10
mov r8, qword [rsp + 0x78]
add rdx, r8
lea rdx, [rsp + rdx*8]
add rdx, 0x1b0
mov r9, qword [rsp + 0xe0]
sub r9, r12
sub r9, r10
sub r9, r8
sub r9, qword [rsp + 0x40]
sub r9, qword [rsp + 0x98]
xor edi, edi
mov r10, rbp
mov qword [rsp + 0x68], rbx
mov r8, rbx
mov qword [rsp + 0xb0], rdx
mov rbx, rdi
lea r11, [rdx + rdi*8]
lea rdx, [rsi + r10*8]
lea r15, [r9 + r10]
xor edi, edi
xor ebp, ebp
cmp ecx, eax
jle 0x41a1f4
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, qword [rdx + rbp*8]
mov qword [r11 + rbp*8], rcx
mov rcx, r15
add rcx, rbp
je 0x41a290
mov ecx, dword [rdx + rbp*8 + 0xc]
add rbp, 1
add rdi, 0xfffffffffffffff8
cmp ecx, eax
jg 0x41a1d0
mov rax, qword [rsi + r8*8]
mov qword [r11 + rbp*8], rax
add r8, 1
cmp r8, qword [rsp + 0x20]
je 0x41a49c
add r10, rbp
mov rdi, rbx
lea rdi, [rbx + rbp]
add rdi, 1
mov eax, dword [rsi + r8*8 + 4]
mov rdx, qword [rsp + 0xb0]
jmp 0x41a1ac
lea rax, [rsi + rbp*8]
mov qword [rsp + 0x78], rax
mov rdi, rbp
sub rdi, rbx
mov r13, rbx
sub r13, r12
lea r12, [rsp + r13*8]
add r12, 0x1b0
lea r8, [rdi*8]
mov rcx, r12
call fcn.0043c590
mov rax, qword [rsp + 0x28]
mov r8, rax
sub r8, rbp
lea rcx, [r12 + rdi*8]
mov rdi, rax
shl r8, 3
mov rdx, qword [rsp + 0x78]
call fcn.0043c590
jmp 0x41a2bd
lea rdx, [rsi + r8*8]
mov r12, qword [rsp + 0x20]
sub r12, r8
lea rcx, [r11 + rbp*8]
add rcx, 8
shl r12, 3
mov r8, r12
call fcn.0043c590
xor r15d, r15d
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x68]
mov r12, rdi
sub r12, rbx
lea rcx, [r12 + r13]
mov eax, dword [rsp + 0x1b4]
cmp dword [rsp + rcx*8 + 0x1ac], eax
mov rbx, qword [rsp + 0x58]
jle 0x41a310
lea rcx, [rbx + r12*8]
lea r8, [r13*8]
lea rdx, [rsp + 0x1b0]
call fcn.0043c590
lea rdx, [rsp + r13*8]
add rdx, 0x1b0
shl r12, 3
mov rcx, rbx
jmp 0x41a40f
mov ecx, dword [rsp + r13*8 + 0x1b4]
cmp ecx, dword [rsp + r13*8 + 0x1ac]
jle 0x41a3e0
mov rcx, qword [rsp + 0x60]
add rcx, r13
mov r8, qword [rsp + 0x98]
add r8, rcx
add r8, qword [rsp + 0x40]
xor r9d, r9d
mov r11, r13
xor ecx, ecx
mov rbp, rbx
lea r10, [rbx + r9*8]
mov r12, r8
sub r8, r11
lea rdx, [rsp + r11*8]
add rdx, 0x1b0
xor ebx, ebx
xor r15d, r15d
nop word cs:[rax + rax]
nop dword [rax]
mov rdi, r15
cmp dword [rdx + r15*8 + 4], eax
jle 0x41a3a0
mov r15, qword [rdx + rdi*8]
mov qword [r10 + rdi*8], r15
lea r15, [rdi + 1]
add rbx, 0xfffffffffffffff8
cmp r8, r15
jne 0x41a370
jmp 0x41a430
mov rax, qword [rsp + rcx*8 + 0x1b0]
mov qword [r10 + rdi*8], rax
add rcx, 1
cmp rcx, r13
mov r15d, 0
je 0x41a4c9
add r11, rdi
add r9, rdi
add r9, 1
mov eax, dword [rsp + rcx*8 + 0x1b4]
mov rbx, rbp
mov r8, r12
jmp 0x41a346
lea r8, [r13*8]
mov rcx, rbx
lea rdx, [rsp + 0x1b0]
call fcn.0043c590
lea rdx, [rsp + r13*8]
add rdx, 0x1b0
shl r12, 3
mov rcx, qword [rsp + 0x88]
mov r8, r12
call fcn.0043c590
mov r10, qword [rsp + 0x90]
jmp 0x41a462
lea rdx, [rsp + rcx*8]
add rdx, 0x1b0
sub r13, rcx
mov r8, r13
xor r15d, r15d
lea rcx, [r10 + rdi*8]
add rcx, 8
shl r8, 3
call fcn.0043c590
mov r10, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
sub r14, r8
cmp rdi, qword [rsp + 0xb8]
jb 0x419e60
jmp 0x41a8f0
mov rax, qword [rsp + 0x60]
lea r13, [rax + r12]
add r13, qword [rsp + 0x78]
add r13, rbx
sub r13, r8
sub r13, r11
sub rdx, rdi
jmp 0x41a0b7
add r12, qword [rsp + 0xc0]
add r12, qword [rsp + 0x78]
add r12, qword [rsp + 0x40]
add r12, qword [rsp + 0x98]
add r12, qword [rsp + 0x70]
sub r12, r10
sub r12, rbp
sub rdx, rdi
jmp 0x41a29c
sub r8, rdi
sub rdx, rbx
jmp 0x41a444
movabs rcx, 0x4000000000000000
nop word [rax + rax]
mov rax, rcx
shr rcx, 2
cmp rax, rdx
ja 0x41a4f0
test rax, rax
je 0x41a90d
mov rcx, rdx
xor r8d, r8d
mov rdx, rax
nop
lea r9, [rax + r8]
mov r10, r8
shr r10, 1
cmp rcx, r9
mov r8, rax
cmovb r8, r15
cmovb r9, r15
add r8, r10
sub rcx, r9
shr rdx, 2
cmp rax, 3
mov rax, rdx
ja 0x41a510
mov ecx, r8d
mov rax, qword [rsp + 0x80]
mov rdx, rax
shr rdx, 0x20
je 0x41a96b
xor edx, edx
div rcx
jmp 0x41a96f
xor r14d, r14d
xor ebx, ebx
mov r10, qword [rsp + 0x90]
jmp 0x41a5ae
mov rax, r8
lea rdx, [rsp + rax*8]
add rdx, 0x1b0
sub r8, rax
lea rcx, [rsi + r13*8]
shl r8, 3
call fcn.0043c590
sub rbx, rdi
cmp r14, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc8]
jae 0x41a8e0
mov r13, r14
add rbx, rcx
cmp rbx, r10
mov eax, 0
cmovae rax, r10
mov r8, rcx
mov rcx, qword [rsp + 0x80]
lea rbp, [r14 + rcx]
sbb rbp, 0xffffffffffffffff
sub rbx, rax
lea r14, [rcx + rbp]
add rbx, r8
cmp rbx, r10
mov edi, 0
cmovae rdi, r10
sbb r14, 0xffffffffffffffff
lea rax, [rsi + r13*8]
mov qword [rsp + 0x20], rax
mov eax, dword [rsi + r14*8 - 4]
cmp eax, dword [rsi + r13*8 + 4]
jle 0x41a640
mov rcx, rbp
sub rcx, r13
lea rax, [rsi + rbp*8]
cmp rcx, 2
mov qword [rsp + 0x28], rdi
jb 0x41a763
mov r9, rcx
shr r9, 1
cmp r9, 1
jne 0x41a6d7
xor r8d, r8d
jmp 0x41a733
mov eax, dword [rsi + rbp*8 + 4]
cmp eax, dword [rsi + rbp*8 - 4]
jle 0x41a58d
mov r8, rbp
sub r8, r13
shl r8, 3
lea rcx, [rsp + 0x1b0]
mov rdx, qword [rsp + 0x20]
call fcn.0043c590
mov r8, rbp
xor eax, eax
sub r8, r13
je 0x41a572
cmp r14, rbp
je 0x41a572
add r13, 1
mov rcx, r13
nop dword [rax + rax]
mov r13, rcx
mov ecx, dword [rsi + rbp*8 + 4]
cmp ecx, dword [rsp + rax*8 + 0x1b4]
jg 0x41a6c0
mov rcx, qword [rsp + rax*8 + 0x1b0]
mov qword [rsi + r13*8 - 8], rcx
add rax, 1
lea rcx, [r13 + 1]
cmp r8, rax
jne 0x41a690
jmp 0x41a56f
mov rcx, qword [rsi + rbp*8]
mov qword [rsi + r13*8 - 8], rcx
add rbp, 1
cmp rbp, r14
jne 0x41a681
jmp 0x41a572
movabs rdx, 0x7ffffffffffffffe
and r9, rdx
lea r10, [r12 + r13*8]
mov rdx, qword [rsp + 0x48]
lea r11, [rdx + rbp*8]
xor r8d, r8d
movabs rdx, 0x1ffffffffffffffe
nop
mov rdi, qword [r10 + r8*8 - 8]
mov r15, qword [r11]
mov qword [r10 + r8*8 - 8], r15
mov qword [r11], rdi
mov rdi, r8
xor rdi, rdx
mov r15, qword [r10 + r8*8]
mov r12, qword [rax + rdi*8]
mov qword [r10 + r8*8], r12
mov qword [rax + rdi*8], r15
add r8, 2
add r11, 0xfffffffffffffff0
cmp r9, r8
jne 0x41a700
test cl, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
mov rdi, qword [rsp + 0x28]
je 0x41a763
mov r9, r8
not r9
mov rdx, qword [rsp + 0x20]
mov r10, qword [rdx + r8*8]
mov r11, qword [rax + r9*8]
mov qword [rdx + r8*8], r11
mov qword [rax + r9*8], r10
mov rdx, r14
sub rdx, r13
mov r9, rdx
sub r9, rcx
lea rcx, [rsi + r14*8]
cmp r9, 2
jb 0x41a827
mov r11, r9
shr r11, 1
cmp r11, 1
jne 0x41a78e
xor r10d, r10d
jmp 0x41a7f3
movabs r8, 0x7ffffffffffffffe
and r11, r8
lea rdi, [r12 + rbp*8]
mov r8, qword [rsp + 0x48]
lea r15, [r8 + r14*8]
xor r10d, r10d
movabs rsi, 0x1ffffffffffffffe
nop word cs:[rax + rax]
nop
mov r12, qword [rdi + r10*8 - 8]
mov rbp, qword [r15]
mov qword [rdi + r10*8 - 8], rbp
mov qword [r15], r12
mov r12, r10
xor r12, rsi
mov rbp, qword [rdi + r10*8]
mov r8, qword [rcx + r12*8]
mov qword [rdi + r10*8], r8
mov qword [rcx + r12*8], rbp
add r10, 2
add r15, 0xfffffffffffffff0
cmp r11, r10
jne 0x41a7c0
test r9b, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x28]
je 0x41a827
mov r8, r10
not r8
mov r9, qword [rax + r10*8]
mov r11, qword [rcx + r8*8]
mov qword [rax + r10*8], r11
mov qword [rcx + r8*8], r9
cmp rdx, 2
jb 0x41a58d
mov rbp, rdi
mov r9, rdx
shr r9, 1
cmp r9, 1
jne 0x41a844
xor eax, eax
jmp 0x41a8a3
movabs rax, 0x7ffffffffffffffe
and r9, rax
lea r10, [r12 + r13*8]
mov rax, qword [rsp + 0x48]
lea r11, [rax + r14*8]
xor eax, eax
movabs rsi, 0x1ffffffffffffffe
nop word [rax + rax]
mov r8, qword [r10 + rax*8 - 8]
mov rdi, qword [r11]
mov qword [r10 + rax*8 - 8], rdi
mov qword [r11], r8
mov r8, rax
xor r8, rsi
mov rdi, qword [r10 + rax*8]
mov r15, qword [rcx + r8*8]
mov qword [r10 + rax*8], r15
mov qword [rcx + r8*8], rdi
add rax, 2
add r11, 0xfffffffffffffff0
cmp r9, rax
jne 0x41a870
test dl, 2
mov r15d, 0
mov rsi, qword [rsp + 0xe8]
mov rdi, rbp
je 0x41a58d
mov r8, rax
not r8
mov rdx, qword [rsp + 0x20]
mov r9, qword [rdx + rax*8]
mov r10, qword [rcx + r8*8]
mov qword [rdx + rax*8], r10
mov qword [rcx + r8*8], r9
jmp 0x41a58d
mov rax, rcx
jmp 0x419db0
mov rcx, qword [rsp + 0xc8]
add rcx, rcx
mov rax, rcx
sub rax, r10
jae 0x41a950
mov rax, rcx
mov rcx, qword [rsp + 0x60]
jmp 0x41a959
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov al, 1
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x90]
jmp 0x41a9fa
mov rcx, qword [rsp + 0x60]
or rcx, 1
mov qword [rsp + 0x80], rcx
mov r12, qword [rsp + 0x38]
jmp 0x419db0
xor edx, edx
div ecx
lea r10, [rax + 1]
mov qword [rsp + 0x20], rax
lea rdi, [rax*2 + 2]
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm6
cmp r8d, 0x201
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x78], r10
jae 0x41a9d9
mov dword [rsp + 0x58], 0
mov al, 1
mov dword [rsp + 0x50], eax
mov r9, r10
mov rdx, qword [rsp + 0x80]
jmp 0x41a9fa
mov rdx, qword [rsp + 0x80]
cmp rdi, rdx
seta al
mov dword [rsp + 0x58], eax
mov r9, rdi
cmova r9, r10
mov dword [rsp + 0x50], 0
xor r8d, r8d
xor ebx, ebx
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x28], rdi
jmp 0x41aa40
xor r8d, r8d
mov rax, qword [rsp + 0xb8]
movabs rbp, 0x1ffffffffffffffe
mov rbx, qword [rsp + 0x68]
sub r12, r13
cmp rbx, rax
jae 0x41aff5
mov r10, qword [rsp + 0xc8]
add r12, r10
cmp r12, rcx
mov eax, 0
cmovae rax, rcx
lea rbp, [rbx + rdx]
sbb rbp, 0xffffffffffffffff
sub r12, rax
lea rax, [rdx + rbp]
add r12, r10
cmp r12, rcx
mov r13d, 0
cmovae r13, rcx
sbb rax, 0xffffffffffffffff
mov qword [rsp + 0x68], rax
mov r14d, 1
mov rax, rbx
mov qword [rsp + 0x60], rbx
cmp r9, 2
jb 0x41abc0
mov rbx, qword [rsp + 0x60]
nop dword [rax]
lea r11, [rbx + 1]
mov rax, rbp
sub rax, r11
je 0x41abb0
mov r10d, dword [rsi + rbx*8 + 4]
mov rdi, r9
sub rdi, r14
mov rdx, rax
or rdx, rdi
shr rdx, 0x20
je 0x41aad0
xor edx, edx
div rdi
jmp 0x41aad4
xor edx, edx
div edi
cmp rax, 1
adc rax, 0
mov rdi, rbp
sub rdi, rax
nop word cs:[rax + rax]
nop dword [rax]
lea rdx, [r11 + rax]
cmp dword [rsi + rdx*8 - 4], r10d
jl 0x41ab50
mov r11, rdx
cmp rdx, rdi
jb 0x41aaf0
mov rax, rbp
sub rax, rdx
jbe 0x41abb0
mov r11, rax
nop word cs:[rax + rax]
nop dword [rax]
shr r11, 1
lea rdi, [rsi + rdx*8]
mov r15d, eax
and r15d, 1
add r15, r11
cmp dword [rdi + r11*8 + 4], r10d
mov edi, 0
cmovge rdi, r15
add rdx, rdi
cmp rax, 1
mov rax, r11
ja 0x41ab20
jmp 0x41ab8b
mov rdx, r11
mov r11, rax
nop word cs:[rax + rax]
shr r11, 1
lea rdi, [rsi + rdx*8]
mov r15d, eax
and r15d, 1
add r15, r11
cmp dword [rdi + r11*8 + 4], r10d
mov edi, 0
cmovge rdi, r15
add rdx, rdi
cmp rax, 2
mov rax, r11
jae 0x41ab60
cmp rdx, rbp
je 0x41ac72
add r14, 1
mov rbx, rdx
cmp r14, r9
mov r15d, 0
jne 0x41aaa0
mov rbx, rdx
mov r14, r9
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
cmp r14, qword [rsp + 0x20]
jbe 0x41ac90
lea rax, [r8 + r8*4]
mov qword [rsp + rax*8 + 0xf0], rbx
mov r10, qword [rsp + 0x60]
mov qword [rsp + rax*8 + 0xf8], r10
mov qword [rsp + rax*8 + 0x100], r14
mov qword [rsp + rax*8 + 0x108], r10
mov r8, qword [rsp + 0x68]
mov qword [rsp + rax*8 + 0x110], r8
mov r11, qword [rsp + 0x28]
cmp r14, r11
je 0x41b00f
mov rax, r8
add r14, r10
mov r8d, 1
cmp r9, r11
jne 0x41ac40
mov dword [rsp + 0x30], 0
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x40], r14
mov r9, qword [rsp + 0x78]
jmp 0x41acac
cmp byte [rsp + 0x50], 0
jne 0x41b054
test byte [rsp + 0x58], 1
je 0x41dd23
mov dword [rsp + 0x58], 0
mov r10, qword [rsp + 0x60]
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x40], r14
jmp 0x41aca4
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
xor r15d, r15d
cmp r14, qword [rsp + 0x20]
ja 0x41abcb
test r8, r8
mov rax, qword [rsp + 0x68]
je 0x41af56
mov r8d, 1
mov dword [rsp + 0x30], 0
lea rbx, [rax - 1]
mov r14d, 1
cmp r9, 2
jb 0x41ae60
mov rax, rbx
sub rax, rbp
je 0x41adc0
mov r10d, dword [rsi + rbx*8 + 4]
mov rdi, r9
sub rdi, r14
mov rdx, rax
or rdx, rdi
shr rdx, 0x20
je 0x41acf0
xor edx, edx
div rdi
mov rcx, rax
jmp 0x41acf6
xor edx, edx
div edi
mov ecx, eax
cmp rcx, 1
adc rcx, 0
lea r15, [rcx + rbp]
mov rdx, rbx
nop word cs:[rax + rax]
nop
sub rdx, rcx
mov rdi, rdx
sub rdi, rbp
jbe 0x41ad60
cmp dword [rsi + rdx*8 - 4], r10d
jg 0x41ad60
cmp rdx, r15
jae 0x41ad10
mov rdx, rbp
mov rax, rdi
xor r11d, r11d
shr rax, 1
lea rcx, [rsi + rdx*8]
mov r15d, edi
and r15d, 1
add r15, rax
cmp dword [rcx + rax*8 + 4], r10d
cmovle r15, r11
add rdx, r15
cmp rdi, 1
mov rdi, rax
ja 0x41ad30
jmp 0x41ad97
xor r11d, r11d
nop word cs:[rax + rax]
nop dword [rax]
mov rdi, rcx
shr rdi, 1
lea r15, [rsi + rdx*8]
mov eax, ecx
and eax, 1
add rax, rdi
cmp dword [r15 + rdi*8 + 4], r10d
cmovle rax, r11
add rdx, rax
cmp rcx, 2
mov rcx, rdi
jae 0x41ad70
cmp rdx, rbp
je 0x41afbd
add r14, 1
add rdx, 0xffffffffffffffff
mov rbx, rdx
cmp r14, r9
mov r15d, 0
jne 0x41acc0
mov r14, r9
mov rbp, rdx
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
cmp r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
ja 0x41ae73
mov r8d, 1
cmp byte [rsp + 0x30], 0
je 0x41aa1d
mov rax, qword [rsp + 0x40]
sub rax, qword [rsp + 0xa0]
cmp r14, rax
jbe 0x41aa1a
mov rbx, qword [rsp + 0x68]
mov rax, rbx
sub rax, r14
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], r14
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
mov rax, rbx
mov qword [rsp + 0x40], rbx
xor r8d, r8d
jmp 0x41aee5
mov rbp, rbx
cmp r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
jbe 0x41ade0
lea rax, [r8 + r8*4]
mov qword [rsp + rax*8 + 0xf0], rbp
mov r8, qword [rsp + 0x68]
mov qword [rsp + rax*8 + 0xf8], r8
mov qword [rsp + rax*8 + 0x100], r14
mov r8, qword [rsp + 0x60]
mov qword [rsp + rax*8 + 0x108], r8
mov r8, qword [rsp + 0x68]
mov qword [rsp + rax*8 + 0x110], r8
mov r10, qword [rsp + 0x68]
cmp r14, rdi
je 0x41b034
cmp r9, rdi
jne 0x41af00
mov rax, r10
sub rax, r14
mov qword [rsp + 0xa0], rax
mov r8d, 1
mov rax, r10
mov qword [rsp + 0x40], r10
mov r9, qword [rsp + 0x78]
mov rbx, r10
mov rax, qword [rsp + 0xb8]
movabs rbp, 0x1ffffffffffffffe
jmp 0x41aa34
cmp byte [rsp + 0x50], 0
mov rax, qword [rsp + 0xb8]
movabs rbp, 0x1ffffffffffffffe
jne 0x41dcf5
test byte [rsp + 0x58], 1
je 0x41dd3c
mov rbx, qword [rsp + 0x68]
mov r8, rbx
sub r8, r14
mov qword [rsp + 0xa0], r8
mov r8d, 1
mov dword [rsp + 0x58], 0
mov r11, rbx
mov qword [rsp + 0x40], rbx
jmp 0x41aa34
mov rax, qword [rsp + 0x40]
sub rax, qword [rsp + 0xa0]
mov r8b, 1
mov dword [rsp + 0x30], r8d
cmp r14, rax
jbe 0x41afe8
mov qword [rsp + 0xf0], rbx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], r14
add r14, rax
mov qword [rsp + 0x108], rax
mov r8, qword [rsp + 0x68]
mov qword [rsp + 0x110], r8
mov qword [rsp + 0xa0], rax
mov rax, r8
mov qword [rsp + 0x40], r14
xor r8d, r8d
jmp 0x41acac
mov rbp, rbx
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
xor r15d, r15d
cmp r14, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
ja 0x41ae73
jmp 0x41ade0
xor r8d, r8d
mov rax, qword [rsp + 0x68]
jmp 0x41acac
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
jmp 0x41b07f
mov rax, qword [rsp + 0x78]
add rax, r10
add r11, r10
mov qword [rsp + 0xa0], r10
mov r14, rax
mov qword [rsp + 0x60], rax
mov rax, r11
mov qword [rsp + 0x68], r11
jmp 0x41b070
mov rax, r10
sub rax, rdi
mov qword [rsp + 0xa0], rax
mov r14, r10
sub r14, qword [rsp + 0x78]
mov rax, r14
mov qword [rsp + 0x60], r14
jmp 0x41b070
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
nop
mov r12, qword [rsp + 0x38]
movabs rbp, 0x1ffffffffffffffe
mov cl, 1
xor eax, eax
mov qword [rsp + 0x40], r14
jmp 0x41b0c9
mov rax, qword [rsp + 0x88]
lea rax, [rsp + rax*8]
add rax, 0xf0
mov qword [rax], r10
mov rdx, qword [rsp + 0x80]
mov r14, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x70]
mov eax, 1
test cl, 1
mov ecx, 0
je 0x41b820
lea rax, [rax + rax*4]
mov r13, qword [rsp + rax*8 + 0x100]
mov r10, qword [rsp + rax*8 + 0xf0]
mov rdi, qword [rsp + rax*8 + 0xf8]
cmp rdi, r10
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rdi
jae 0x41b470
cmp r13, 2
jb 0x41b0b6
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x70], ecx
mov r14d, 1
mov qword [rsp + 0x58], 0xffffffffffffffff
mov qword [rsp + 0x50], r12
mov rdx, r10
jmp 0x41b152
lea r10, [rdx + r14]
add r14, 1
add qword [rsp + 0x58], 0xffffffffffffffff
add qword [rsp + 0x50], 0xfffffffffffffff8
cmp r14, r13
mov rdi, qword [rsp + 0x20]
je 0x41b090
mov rcx, rdx
mov r9, r10
sub r9, r14
add r9, 1
mov rax, r9
mov rdx, rdi
sub rax, rdi
je 0x41b239
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rdx + rcx*8 + 4]
mov r8, r13
sub r8, r14
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x41b190
xor edx, edx
div r8
jmp 0x41b195
xor edx, edx
div r8d
cmp rax, 1
adc rax, 0
lea rdx, [rax + rdi]
nop word cs:[rax + rax]
nop dword [rax + rax]
sub r9, rax
mov r8, r9
sub r8, rdi
jbe 0x41b200
cmp dword [rsi + r9*8 - 4], ecx
jg 0x41b200
cmp r9, rdx
jae 0x41b1b0
mov rdx, rdi
mov rax, r8
nop dword [rax]
shr rax, 1
lea r9, [rsi + rdx*8]
mov r11d, r8d
and r11d, 1
add r11, rax
cmp dword [r9 + rax*8 + 4], ecx
cmovle r11, r15
add rdx, r11
cmp r8, 1
mov r8, rax
ja 0x41b1d0
jmp 0x41b239
mov rdx, r9
nop word cs:[rax + rax]
nop dword [rax]
mov r8, rax
shr r8, 1
lea r9, [rsi + rdx*8]
mov r11d, eax
and r11d, 1
add r11, r8
cmp dword [r9 + r8*8 + 4], ecx
cmovle r11, r15
add rdx, r11
cmp rax, 2
mov rax, r8
jae 0x41b210
lea rax, [r12 + rdx*8]
mov r8, r10
sub r8, rdx
mov r9, r8
sub r9, r14
mov qword [rsp + 0x30], rax
lea rcx, [rax + r9*8]
cmp r9, 2
jb 0x41b319
mov r11, r9
shr r11, 1
cmp r11, 1
jne 0x41b280
xor edi, edi
movabs r13, 0x1ffffffffffffffe
jmp 0x41b2e5
mov rax, qword [rsp + 0xd8]
lea rbx, [rax + rdx*8]
mov rax, qword [rsp + 0x58]
lea r15, [r10 + rax]
lea rbp, [rsi + r15*8]
sub r15, rdx
shr r15, 1
and r15, 0xfffffffffffffffe
xor edi, edi
movabs r13, 0x1ffffffffffffffe
nop
mov r11, qword [rbx + rdi*8 - 8]
mov rax, qword [rbp]
mov qword [rbx + rdi*8 - 8], rax
mov qword [rbp], r11
mov rax, rdi
xor rax, r13
mov r11, qword [rbx + rdi*8]
mov r12, qword [rcx + rax*8]
mov qword [rbx + rdi*8], r12
mov qword [rcx + rax*8], r11
add rdi, 2
add rbp, 0xfffffffffffffff0
cmp r15, rdi
jne 0x41b2b0
test r9b, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
mov rbp, r13
mov r13, qword [rsp + 0x28]
je 0x41b319
mov rax, rdi
not rax
mov rbx, qword [rsp + 0x30]
mov r9, qword [rbx + rdi*8]
mov r11, qword [rcx + rax*8]
mov qword [rbx + rdi*8], r11
mov qword [rcx + rax*8], r9
lea r9, [r12 + r10*8]
cmp r14, 2
jb 0x41b3c4
mov rbx, r14
shr rbx, 1
cmp rbx, 1
jne 0x41b340
xor edi, edi
jmp 0x41b39d
and rbx, 0xfffffffffffffffe
mov rax, qword [rsp + 0x50]
lea r15, [rax + r10*8]
lea r11, [rsi + r10*8]
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [r15 + rdi*8 - 8]
mov r12, qword [r11]
mov qword [r15 + rdi*8 - 8], r12
mov qword [r11], rax
mov rax, rdi
xor rax, rbp
mov r12, qword [r15 + rdi*8]
mov rbp, qword [r9 + rax*8]
mov qword [r15 + rdi*8], rbp
movabs rbp, 0x1ffffffffffffffe
mov qword [r9 + rax*8], r12
add rdi, 2
add r11, 0xfffffffffffffff0
cmp rbx, rdi
jne 0x41b360
test r14b, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
je 0x41b3c4
mov rax, rdi
not rax
mov r11, qword [rcx + rdi*8]
mov rbx, qword [r9 + rax*8]
mov qword [rcx + rdi*8], rbx
mov qword [r9 + rax*8], r11
cmp r8, 2
jb 0x41b130
mov rdi, r8
shr rdi, 1
cmp rdi, 1
jne 0x41b3e0
xor ecx, ecx
jmp 0x41b433
movabs rax, 0x7ffffffffffffffe
and rdi, rax
mov rax, qword [rsp + 0xd8]
lea rbx, [rax + rdx*8]
lea r10, [rsi + r10*8]
xor ecx, ecx
nop
mov rax, qword [rbx + rcx*8 - 8]
mov r11, qword [r10]
mov qword [rbx + rcx*8 - 8], r11
mov qword [r10], rax
mov rax, rcx
xor rax, rbp
mov r11, qword [rbx + rcx*8]
mov r15, qword [r9 + rax*8]
mov qword [rbx + rcx*8], r15
mov qword [r9 + rax*8], r11
add rcx, 2
add r10, 0xfffffffffffffff0
cmp rdi, rcx
jne 0x41b400
test r8b, 2
mov r15d, 0
je 0x41b130
mov rax, rcx
not rax
mov r11, qword [rsp + 0x30]
mov r8, qword [r11 + rcx*8]
mov r10, qword [r9 + rax*8]
mov qword [r11 + rcx*8], r10
mov qword [r9 + rax*8], r8
jmp 0x41b130
jbe 0x41b0b6
cmp r13, 1
jbe 0x41b0b6
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x70], ecx
lea rdx, [r10 + 1]
mov r14d, 1
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x78], rsi
mov r11, r10
jmp 0x41b4db
sub r10, r14
add r14, 1
add qword [rsp + 0x78], 8
add qword [rsp + 0x58], 0xffffffffffffffff
add qword [rsp + 0x50], 8
mov r11, r10
cmp r14, r13
mov r15d, 0
je 0x41b090
mov r8, rdx
mov rax, rdi
mov rdx, rdi
sub rax, r8
je 0x41b5bc
mov ecx, dword [rsi + r8*8 + 4]
mov r9, r13
sub r9, r14
mov rdx, rax
or rdx, r9
shr rdx, 0x20
je 0x41b50b
xor edx, edx
div r9
jmp 0x41b510
xor edx, edx
div r9d
cmp rax, 1
adc rax, 0
mov rdx, rdi
sub rdx, rax
nop
lea r9, [r8 + rax]
cmp dword [rsi + r9*8 - 4], ecx
jl 0x41b580
mov r8, r9
cmp r9, rdx
jb 0x41b520
mov rax, rdi
mov rdx, rdi
sub rax, r9
jbe 0x41b5bc
mov rdx, r9
mov r8, rax
nop word cs:[rax + rax]
nop
shr r8, 1
lea r9, [rsi + rdx*8]
mov r10d, eax
and r10d, 1
add r10, r8
cmp dword [r9 + r8*8 + 4], ecx
mov r9d, 0
cmovge r9, r10
add rdx, r9
cmp rax, 1
mov rax, r8
ja 0x41b550
jmp 0x41b5bc
mov rdx, r8
mov r8, rax
nop word cs:[rax + rax]
shr r8, 1
lea r9, [rsi + rdx*8]
mov r10d, eax
and r10d, 1
add r10, r8
cmp dword [r9 + r8*8 + 4], ecx
mov r9d, 0
cmovge r9, r10
add rdx, r9
cmp rax, 2
mov rax, r8
jae 0x41b590
lea rax, [rsi + r11*8]
mov qword [rsp + 0x30], rax
lea rcx, [rax + r14*8]
cmp r14, 2
jb 0x41b66f
mov r9, r14
shr r9, 1
cmp r9, 1
jne 0x41b5f0
mov r13, r12
mov r12, r11
xor r8d, r8d
jmp 0x41b643
and r9, 0xfffffffffffffffe
mov r13, r12
lea rax, [r12 + r11*8]
mov r8, qword [rsp + 0x78]
mov r12, r11
lea r10, [r8 + r11*8]
xor r8d, r8d
nop word [rax + rax]
mov r11, qword [rax + r8*8 - 8]
mov rbx, qword [r10]
mov qword [rax + r8*8 - 8], rbx
mov qword [r10], r11
mov r11, r8
xor r11, rbp
mov rbx, qword [rax + r8*8]
mov r15, qword [rcx + r11*8]
mov qword [rax + r8*8], r15
mov qword [rcx + r11*8], rbx
add r8, 2
add r10, 0xfffffffffffffff0
cmp r9, r8
jne 0x41b610
test r14b, 2
mov r11, r12
mov r12, r13
mov r13, qword [rsp + 0x28]
je 0x41b66f
mov rax, r8
not rax
mov rbx, qword [rsp + 0x30]
mov r9, qword [rbx + r8*8]
mov r10, qword [rcx + rax*8]
mov qword [rbx + r8*8], r10
mov qword [rcx + rax*8], r9
lea r10, [rdx - 1]
mov r8, r10
sub r8, r11
mov rbx, r8
sub rbx, r14
lea r9, [rsi + r10*8]
cmp rbx, 2
jb 0x41b76b
mov rax, rbx
shr rax, 1
cmp rax, 1
mov qword [rsp + 0x98], r11
jne 0x41b6b0
xor r15d, r15d
movabs rsi, 0x1ffffffffffffffe
jmp 0x41b723
mov rax, qword [rsp + 0x58]
add rax, rdx
sub rax, r11
shr rax, 1
and rax, 0xfffffffffffffffe
mov rdi, r11
mov r11, qword [rsp + 0x170]
lea r11, [r11 + rdx*8]
mov rsi, qword [rsp + 0x50]
lea r12, [rsi + rdi*8]
xor r15d, r15d
movabs rsi, 0x1ffffffffffffffe
nop word [rax + rax]
mov r13, qword [r12 + r15*8]
mov rbp, qword [r11]
mov qword [r12 + r15*8], rbp
mov qword [r11], r13
mov r13, r15
xor r13, rsi
mov rbp, qword [r12 + r15*8 + 8]
mov rdi, qword [r9 + r13*8]
mov qword [r12 + r15*8 + 8], rdi
mov qword [r9 + r13*8], rbp
add r15, 2
add r11, 0xfffffffffffffff0
cmp rax, r15
jne 0x41b6f0
test bl, 2
mov r12, qword [rsp + 0x38]
mov rbp, rsi
mov rsi, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
mov r11, qword [rsp + 0x98]
je 0x41b76b
mov rax, r15
not rax
mov rbx, r11
mov r11, qword [rcx + r15*8]
mov rdi, qword [r9 + rax*8]
mov qword [rcx + r15*8], rdi
mov rdi, qword [rsp + 0x20]
mov qword [r9 + rax*8], r11
mov r11, rbx
cmp r8, 2
jb 0x41b4b0
mov rbx, r8
shr rbx, 1
cmp rbx, 1
jne 0x41b790
xor ecx, ecx
jmp 0x41b7e3
movabs rax, 0x7ffffffffffffffe
and rbx, rax
lea rax, [r12 + r11*8]
mov rcx, qword [rsp + 0x170]
lea r11, [rcx + rdx*8]
xor ecx, ecx
nop
mov rdi, qword [rax + rcx*8 - 8]
mov r15, qword [r11]
mov qword [rax + rcx*8 - 8], r15
mov qword [r11], rdi
mov rdi, rcx
xor rdi, rbp
mov r15, qword [rax + rcx*8]
mov r12, qword [r9 + rdi*8]
mov qword [rax + rcx*8], r12
mov qword [r9 + rdi*8], r15
add rcx, 2
add r11, 0xfffffffffffffff0
cmp rbx, rcx
jne 0x41b7b0
test r8b, 2
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
je 0x41b4b0
mov rax, rcx
not rax
mov rbx, qword [rsp + 0x30]
mov r8, qword [rbx + rcx*8]
mov r11, qword [r9 + rax*8]
mov qword [rbx + rcx*8], r11
mov qword [r9 + rax*8], r8
jmp 0x41b4b0
sub r14, qword [rsp + 0xa0]
mov rax, rdx
or rax, r14
shr rax, 0x20
je 0x41b844
mov rax, rdx
mov rcx, rdx
xor edx, edx
div r14
mov r9, rax
jmp 0x41b851
mov eax, edx
mov rcx, rdx
xor edx, edx
div r14d
mov r9d, eax
lea r11, [r9 + 1]
mov rdx, qword [rsp + 0x60]
lea r14, [rsi + rdx*8]
mov rax, qword [rsp + 0x68]
sub rax, rdx
mov qword [rsp + 0x178], rax
setne al
cmp r9, 0x200
setb r8b
or r8b, al
mov byte [rsp + 0x158], r8b
lea rax, [r9*8 + 8]
mov qword [rsp + 0x160], rax
lea rax, [r12 + r9*8]
mov qword [rsp + 0x150], rax
lea rax, [r12 + rdx*8]
mov qword [rsp + 0x168], rax
lea rax, [rax + r9*8]
mov qword [rsp + 0x198], rax
lea rax, [rdx + rcx]
mov qword [rsp + 0x180], rax
mov rax, r11
and rax, 0xfffffffffffffffc
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0xa0]
lea rax, [rsi + rax*8]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0xd8]
lea rax, [rax + rdx*8]
mov qword [rsp + 0x140], rax
xor r8d, r8d
xor edx, edx
mov rax, rcx
mov qword [rsp + 0x88], r14
mov qword [rsp + 0xb0], r9
mov qword [rsp + 0x40], r11
jmp 0x41b96e
mov rax, r8
lea rdx, [rsp + rax*8]
add rdx, 0x1b0
sub r8, rax
lea rcx, [rsi + r13*8]
shl r8, 3
call fcn.0043c590
mov r11, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x1a8]
sub rdx, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0xe0]
cmp r8, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x80]
jae 0x41d4d0
mov rcx, r8
lea rbx, [r8 + rax]
mov r9, qword [rsp + 0xc8]
add rdx, r9
xor r10d, r10d
mov r8, rax
mov rdi, rdx
mov rdx, qword [rsp + 0x90]
cmp rdi, rdx
setae r10b
mov eax, 0
cmovae rax, rdx
sub rdi, rax
add rbx, r10
lea rax, [rbx + r8]
add rdi, r9
mov qword [rsp + 0x1a8], rdi
cmp rdi, rdx
mov r8d, 0
cmovae r8, rdx
mov qword [rsp + 0x1a0], r8
sbb rax, 0xffffffffffffffff
mov r13, rcx
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0x70], rax
cmp rcx, qword [rsp + 0x108]
jne 0x41ba60
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0xf0], rax
jbe 0x41ba20
mov r13, qword [rsp + 0x100]
add r13, rcx
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
cmp rbx, r13
je 0x41b940
jmp 0x41ba60
mov r13, rcx
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x70], rax
jae 0x41ba60
mov rdx, qword [rsp + 0xe0]
sub rdx, qword [rsp + 0x100]
mov r13, rcx
mov rax, rdx
mov qword [rsp + 0x70], rdx
cmp rdx, rbx
je 0x41b940
nop word cs:[rax + rax]
cmp rcx, qword [rsp + 0x130]
jne 0x41bab0
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x118], rax
jbe 0x41ba90
add r13, qword [rsp + 0x128]
cmp rbx, r13
je 0x41b940
jmp 0x41bab0
jae 0x41bab0
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x128]
mov rax, rdx
mov qword [rsp + 0x70], rdx
cmp rdx, rbx
je 0x41b940
lea rax, [rsi + r13*8]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x70]
mov eax, dword [rsi + rax*8 - 4]
cmp eax, dword [rsi + r13*8 + 4]
mov r8, rbx
jle 0x41bb00
mov rcx, rbx
sub rcx, r13
lea rax, [rsi + rbx*8]
cmp rcx, 2
jb 0x41bbc6
mov r9, rcx
shr r9, 1
cmp r9, 1
jne 0x41bb36
xor edx, edx
jmp 0x41bb93
mov eax, dword [rsi + rbx*8 + 4]
cmp eax, dword [rsi + rbx*8 - 4]
jle 0x41b940
mov rax, rbx
sub rax, r13
mov rdx, rax
or rdx, r11
shr rdx, 0x20
mov qword [rsp + 0x28], rax
je 0x41bd39
xor edx, edx
div r11
mov r9, rdx
jmp 0x41bd41
movabs rdx, 0x7ffffffffffffffe
and r9, rdx
lea r10, [r12 + r13*8]
mov rdx, qword [rsp + 0x48]
lea r11, [rdx + rbx*8]
xor edx, edx
nop word cs:[rax + rax]
nop dword [rax]
mov rdi, qword [r10 + rdx*8 - 8]
mov rbx, qword [r11]
mov qword [r10 + rdx*8 - 8], rbx
mov qword [r11], rdi
mov rdi, rdx
xor rdi, rbp
mov rbx, qword [r10 + rdx*8]
mov r15, qword [rax + rdi*8]
mov qword [r10 + rdx*8], r15
mov qword [rax + rdi*8], rbx
add rdx, 2
add r11, 0xfffffffffffffff0
cmp r9, rdx
jne 0x41bb60
test cl, 2
mov r15d, 0
mov r11, qword [rsp + 0x40]
mov rbx, r8
je 0x41bbc6
mov r9, rdx
not r9
mov r8, qword [rsp + 0x20]
mov r10, qword [r8 + rdx*8]
mov r11, qword [rax + r9*8]
mov qword [r8 + rdx*8], r11
mov r11, qword [rsp + 0x40]
mov qword [rax + r9*8], r10
mov r10, qword [rsp + 0x70]
mov rdx, r10
sub rdx, r13
mov r9, rdx
sub r9, rcx
lea rcx, [rsi + r10*8]
cmp r9, 2
jb 0x41bc8c
mov r11, r9
shr r11, 1
cmp r11, 1
jne 0x41bbf6
xor r10d, r10d
jmp 0x41bc53
movabs r10, 0x7ffffffffffffffe
and r11, r10
lea rdi, [r12 + rbx*8]
mov r10, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x70]
lea rbx, [r10 + rbx*8]
xor r10d, r10d
nop dword [rax + rax]
mov r14, qword [rdi + r10*8 - 8]
mov r15, qword [rbx]
mov qword [rdi + r10*8 - 8], r15
mov qword [rbx], r14
mov r14, r10
xor r14, rbp
mov r15, qword [rdi + r10*8]
mov r12, qword [rcx + r14*8]
mov qword [rdi + r10*8], r12
mov qword [rcx + r14*8], r15
add r10, 2
add rbx, 0xfffffffffffffff0
cmp r11, r10
jne 0x41bc20
test r9b, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
mov r14, qword [rsp + 0x88]
mov r11, qword [rsp + 0x40]
je 0x41bc8c
mov r9, r10
not r9
mov r11, qword [rax + r10*8]
mov rdi, qword [rcx + r9*8]
mov qword [rax + r10*8], rdi
mov qword [rcx + r9*8], r11
mov r11, qword [rsp + 0x40]
cmp rdx, 2
jb 0x41b940
mov r9, rdx
shr r9, 1
cmp r9, 1
jne 0x41bca6
xor eax, eax
jmp 0x41bd03
movabs rax, 0x7ffffffffffffffe
and r9, rax
lea r10, [r12 + r13*8]
mov rax, qword [rsp + 0x48]
mov r11, qword [rsp + 0x70]
lea r11, [rax + r11*8]
xor eax, eax
nop word [rax + rax]
mov rdi, qword [r10 + rax*8 - 8]
mov rbx, qword [r11]
mov qword [r10 + rax*8 - 8], rbx
mov qword [r11], rdi
mov rdi, rax
xor rdi, rbp
mov rbx, qword [r10 + rax*8]
mov r14, qword [rcx + rdi*8]
mov qword [r10 + rax*8], r14
mov qword [rcx + rdi*8], rbx
add rax, 2
add r11, 0xfffffffffffffff0
cmp r9, rax
jne 0x41bcd0
test dl, 2
mov r14, qword [rsp + 0x88]
mov r11, qword [rsp + 0x40]
je 0x41b940
mov rdx, rax
not rdx
mov r8, qword [rsp + 0x20]
mov r9, qword [r8 + rax*8]
mov r10, qword [rcx + rdx*8]
mov qword [r8 + rax*8], r10
mov qword [rcx + rdx*8], r9
jmp 0x41b940
xor edx, edx
div r11d
mov r9d, edx
mov qword [rsp + 0x98], r13
lea rdx, [r9 + r13]
mov qword [rsp + 0x50], rdx
cmp rdx, rbx
mov r13, qword [rsp + 0x40]
jae 0x41bd8d
mov rdx, qword [rsp + 0x190]
mov r11, qword [rsp + 0x50]
nop dword [rax]
mov rdi, qword [rdx]
mov rbx, qword [rsi + r11*8]
mov qword [rdx], rbx
mov rbx, r8
mov qword [rsi + r11*8], rdi
add r11, r13
add rdx, 8
cmp r11, r8
jb 0x41bd70
mov rdx, qword [rsp + 0x70]
sub rdx, rbx
cmp r13, rdx
cmovb rdx, r13
mov qword [rsp + 0xc0], rdx
cmp r9, 0x201
jae 0x41bde0
shl r9, 3
lea rcx, [rsp + 0x1b0]
mov rdx, qword [rsp + 0x20]
mov r8, r9
call fcn.0043c590
mov r11, qword [rsp + 0x40]
mov r13, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xb0]
jmp 0x41bea8
mov r11, r13
mov rdx, qword [rsp + 0x68]
cmp rdx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x20]
je 0x41bea8
imul rax, qword [rsp + 0x160]
add rcx, qword [rsp + 0x180]
add rcx, r10
shl rcx, 3
lea rdx, [rax + r13*8]
sub rcx, rdx
add rcx, rsi
cmp r8, rcx
jae 0x41be49
lea rcx, [rbx*8]
sub rcx, rax
add rcx, rsi
cmp r14, rcx
jae 0x41be49
xor eax, eax
jmp 0x41d4b0
mov rax, r9
and rax, 0xfffffffffffffffc
mov rcx, qword [rsp + 0xd8]
lea rcx, [rcx + r13*8]
xor edx, edx
mov r10, qword [rsp + 0x140]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rcx + rdx*8 - 0x10]
movups xmm1, xmmword [rcx + rdx*8]
movups xmm2, xmmword [r10 + rdx*8 - 0x10]
movups xmm3, xmmword [r10 + rdx*8]
movups xmmword [rcx + rdx*8 - 0x10], xmm2
movups xmmword [rcx + rdx*8], xmm3
movdqu xmmword [r10 + rdx*8 - 0x10], xmm0
movups xmmword [r10 + rdx*8], xmm1
add rdx, 4
cmp rax, rdx
jne 0x41be70
jmp 0x41d4c4
mov rcx, qword [rsp + 0x50]
cmp rbx, rcx
jne 0x41c1e1
mov r8, qword [rsp + 0x28]
cmp r8, 0x201
mov rax, qword [rsp + 0x68]
jb 0x41d297
cmp rax, qword [rsp + 0x60]
jne 0x41d309
cmp qword [rsp + 0x70], rbx
jne 0x41befc
jmp 0x41b940
mov rbx, rax
cmp rax, r13
je 0x41b940
lea rcx, [rsi + r13*8]
mov rax, qword [rsp + 0x70]
mov rdx, rax
sub rdx, rbx
jbe 0x41bf46
mov r8d, dword [rcx + 4]
mov rax, rbx
mov r9, rdx
nop word [rax + rax]
shr r9, 1
lea r10, [rsi + rax*8]
mov r11d, edx
and r11d, 1
add r11, r9
cmp r8d, dword [r10 + r9*8 + 4]
cmovge r11, r15
add rax, r11
cmp rdx, 1
mov rdx, r9
ja 0x41bf20
mov qword [rsp + 0x28], rcx
mov r8, rbx
sub r8, r13
lea rdx, [rsi + rbx*8]
cmp r8, 2
mov qword [rsp + 0x20], rbx
jb 0x41c007
mov r10, r8
shr r10, 1
cmp r10, 1
jne 0x41bf80
xor r9d, r9d
jmp 0x41bfd3
movabs r9, 0x7ffffffffffffffe
and r10, r9
lea r11, [r12 + r13*8]
mov r9, qword [rsp + 0x48]
lea rdi, [r9 + rbx*8]
xor r9d, r9d
nop dword [rax]
mov rbx, qword [r11 + r9*8 - 8]
mov r14, qword [rdi]
mov qword [r11 + r9*8 - 8], r14
mov qword [rdi], rbx
mov rbx, r9
xor rbx, rbp
mov r14, qword [r11 + r9*8]
mov r15, qword [rdx + rbx*8]
mov qword [r11 + r9*8], r15
mov qword [rdx + rbx*8], r14
add r9, 2
add rdi, 0xfffffffffffffff0
cmp r10, r9
jne 0x41bfa0
test r8b, 2
mov r15d, 0
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x20]
je 0x41c007
mov r10, r9
not r10
mov rcx, qword [rsp + 0x28]
mov r11, qword [rcx + r9*8]
mov rdi, qword [rdx + r10*8]
mov qword [rcx + r9*8], rdi
mov qword [rdx + r10*8], r11
mov r9, rax
sub r9, r13
mov r10, r9
sub r10, r8
lea r8, [rsi + rax*8]
cmp r10, 2
jb 0x41c0d4
mov qword [rsp + 0x98], r13
mov rdi, r10
shr rdi, 1
cmp rdi, 1
jne 0x41c040
xor r11d, r11d
jmp 0x41c093
movabs r11, 0x7ffffffffffffffe
and rdi, r11
lea rbx, [r12 + rbx*8]
mov r11, qword [rsp + 0x48]
lea r15, [r11 + rax*8]
xor r11d, r11d
nop dword [rax]
mov r14, qword [rbx + r11*8 - 8]
mov r12, qword [r15]
mov qword [rbx + r11*8 - 8], r12
mov qword [r15], r14
mov r14, r11
xor r14, rbp
mov r12, qword [rbx + r11*8]
mov r13, qword [r8 + r14*8]
mov qword [rbx + r11*8], r13
mov qword [r8 + r14*8], r12
add r11, 2
add r15, 0xfffffffffffffff0
cmp rdi, r11
jne 0x41c060
test r10b, 2
mov r12, qword [rsp + 0x38]
mov r15d, 0
mov r14, qword [rsp + 0x88]
mov r13, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x20]
je 0x41c0d4
mov r10, r11
not r10
mov rdi, qword [rdx + r11*8]
mov rbx, qword [r8 + r10*8]
mov qword [rdx + r11*8], rbx
mov rbx, qword [rsp + 0x20]
mov qword [r8 + r10*8], rdi
cmp r9, 2
jb 0x41c177
mov r10, r9
shr r10, 1
cmp r10, 1
jne 0x41c0f0
xor edx, edx
jmp 0x41c143
movabs rdx, 0x7ffffffffffffffe
and r10, rdx
lea r11, [r12 + r13*8]
mov rdx, qword [rsp + 0x48]
lea rdi, [rdx + rax*8]
xor edx, edx
nop dword [rax]
mov rbx, qword [r11 + rdx*8 - 8]
mov r14, qword [rdi]
mov qword [r11 + rdx*8 - 8], r14
mov qword [rdi], rbx
mov rbx, rdx
xor rbx, rbp
mov r14, qword [r11 + rdx*8]
mov r15, qword [r8 + rbx*8]
mov qword [r11 + rdx*8], r15
mov qword [r8 + rbx*8], r14
add rdx, 2
add rdi, 0xfffffffffffffff0
cmp r10, rdx
jne 0x41c110
test r9b, 2
mov r15d, 0
mov r14, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x20]
je 0x41c177
mov r9, rdx
not r9
mov rcx, qword [rsp + 0x28]
mov r10, qword [rcx + rdx*8]
mov r11, qword [r8 + r9*8]
mov qword [rcx + rdx*8], r11
mov qword [r8 + r9*8], r10
cmp qword [rsp + 0x70], rax
mov r11, qword [rsp + 0x40]
je 0x41b940
mov r8, rax
sub r8, rbx
add r8, r13
mov rcx, rax
mov r13, rax
sub rcx, r8
jbe 0x41bef0
mov edx, dword [rsi + r8*8 + 4]
mov r13, r8
mov r8, rcx
nop word [rax + rax]
shr r8, 1
lea r9, [rsi + r13*8]
mov r10d, ecx
and r10d, 1
add r10, r8
cmp edx, dword [r9 + r8*8 + 4]
mov r9d, 0
cmovle r9, r10
add r13, r9
cmp rcx, 1
mov rcx, r8
ja 0x41c1b0
jmp 0x41bef0
add qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0x70]
sub rax, r11
mov qword [rsp + 0x188], rax
lea rax, [rsi + rbx*8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xa8], rbx
mov r10, rbx
mov rbx, rcx
xor edx, edx
xor r9d, r9d
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
jmp 0x41c259
add qword [rsp + 0x58], 1
sub r13, r14
lea rbx, [r11 + r13]
mov rdx, rbx
mov rcx, qword [rsp + 0x50]
mov r9, rcx
cmp r10, rcx
mov r14, qword [rsp + 0x88]
je 0x41d27d
mov qword [rsp + 0x30], r10
mov rax, r13
mov r13, rcx
mov r8, r9
sub r8, rdx
mov qword [rsp + 0x78], r9
je 0x41c281
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rsi + rcx*8 + 4]
cmp dword [rsi + r9*8 - 4], ecx
jle 0x41c2b1
mov rcx, qword [rsp + 0xc0]
sub rcx, qword [rsp + 0xa8]
jne 0x41ce25
mov rcx, qword [rsp + 0x78]
mov r12, rcx
cmp rdx, rcx
cmovb r12, rdx
jae 0x41c2e6
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rsi + rcx*8 + 4]
mov r12, rdx
mov rdx, r8
nop word [rax + rax]
shr rdx, 1
lea r9, [rsi + r12*8]
mov r10d, r8d
and r10d, 1
add r10, rdx
cmp ecx, dword [r9 + rdx*8 + 4]
cmovge r10, r15
add r12, r10
cmp r8, 1
mov r8, rdx
ja 0x41c2c0
lea r8, [r11 + r13]
mov rcx, r13
mov rdx, r8
mov r10, qword [rsp + 0x30]
mov qword [rsp + 0x50], r8
cmp r8, r10
jb 0x41c3bf
cmp r11, 4
jb 0x41c333
lea rdx, [rsi + r13*8]
mov r9, qword [rsp + 0x150]
lea r8, [r9 + rcx*8]
cmp rdx, r8
jae 0x41c3e0
lea rdx, [r9 + r13*8]
lea r8, [rsi + rcx*8]
cmp r8, rdx
jae 0x41c3e0
xor r8d, r8d
mov rdx, r8
test dil, 1
jne 0x41c35a
lea rdx, [rsi + r8*8]
mov r9, qword [rdx + r13*8]
mov r10, qword [rdx + rcx*8]
mov qword [rdx + r13*8], r10
mov qword [rdx + rcx*8], r9
mov rdx, r8
or rdx, 1
cmp rdi, r8
je 0x41c450
mov r8, qword [rsp + 0x38]
lea rcx, [r8 + rcx*8]
nop dword [rax]
lea r8, [rsi + rdx*8]
mov r9, qword [r8 + r13*8]
mov r10, qword [rcx + rdx*8 - 8]
mov qword [r8 + r13*8], r10
mov qword [rcx + rdx*8 - 8], r9
mov r9, qword [r8 + r13*8 + 8]
mov r10, qword [rcx + rdx*8]
mov qword [r8 + r13*8 + 8], r10
mov qword [rcx + rdx*8], r9
add rdx, 2
cmp r11, rdx
jne 0x41c370
jmp 0x41c450
add rdx, r11
mov rcx, r8
cmp rdx, r10
jae 0x41c303
mov r9d, dword [rsi + rdx*8 + 4]
mov r8, rdx
cmp r9d, dword [rsi + rcx*8 + 4]
jg 0x41c3b0
mov r8, rcx
jmp 0x41c3b0
mov rdx, qword [rsp + 0xd8]
lea rdx, [rdx + rcx*8]
xor r8d, r8d
mov r10, qword [rsp + 0x148]
nop word [rax + rax]
lea r9, [rsi + r8*8]
movdqu xmm0, xmmword [r9 + r13*8]
movups xmm1, xmmword [r9 + r13*8 + 0x10]
movups xmm2, xmmword [rdx + r8*8 - 0x10]
movups xmm3, xmmword [rdx + r8*8]
movups xmmword [r9 + r13*8], xmm2
movups xmmword [r9 + r13*8 + 0x10], xmm3
movdqu xmmword [rdx + r8*8 - 0x10], xmm0
movups xmmword [rdx + r8*8], xmm1
add r8, 4
cmp r10, r8
jne 0x41c400
mov r8, r10
cmp r11, r10
jne 0x41c336
nop word [rax + rax]
mov rcx, qword [rsi + r13*8]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsi + r8*8]
mov qword [rsi + r13*8], rdx
mov qword [rsi + r8*8], rcx
mov r8, rbx
sub r8, rax
cmp r8, 0x201
mov qword [rsp + 0x98], r13
jae 0x41c4f0
xor ecx, ecx
cmp r12, rbx
je 0x41c8b3
cmp rbx, rax
je 0x41c8b3
add rax, 1
mov rdx, rax
nop word [rax + rax]
mov rax, rdx
mov edx, dword [rsi + rbx*8 + 4]
cmp edx, dword [rsp + rcx*8 + 0x1b4]
jg 0x41c4d0
mov rdx, qword [rsp + rcx*8 + 0x1b0]
mov qword [rsi + rax*8 - 8], rdx
add rcx, 1
lea rdx, [rax + 1]
cmp r8, rcx
jne 0x41c4a0
jmp 0x41c8b0
mov rdx, qword [rsi + rbx*8]
mov qword [rsi + rax*8 - 8], rdx
add rbx, 1
cmp rbx, r12
jne 0x41c490
jmp 0x41c8b3
mov rcx, qword [rsp + 0x68]
cmp rcx, qword [rsp + 0x60]
jne 0x41c810
cmp r12, rbx
jne 0x41c51c
jmp 0x41c8ce
mov rbx, rcx
cmp rcx, rax
je 0x41c8ce
lea rcx, [rsi + rax*8]
mov qword [rsp + 0x28], rcx
mov r8, r12
mov rcx, r12
sub r8, rbx
jbe 0x41c565
mov rcx, qword [rsp + 0x28]
mov r9d, dword [rcx + 4]
mov rcx, rbx
mov r10, r8
nop
shr r10, 1
lea r11, [rsi + rcx*8]
mov edi, r8d
and edi, 1
add rdi, r10
cmp r9d, dword [r11 + r10*8 + 4]
cmovge rdi, r15
add rcx, rdi
cmp r8, 1
mov r8, r10
ja 0x41c540
mov r9, rbx
sub r9, rax
lea r8, [rsi + rbx*8]
cmp r9, 2
mov qword [rsp + 0x20], rbx
jb 0x41c61f
mov r11, r9
shr r11, 1
cmp r11, 1
jne 0x41c590
xor r10d, r10d
jmp 0x41c5f3
movabs rdx, 0x7ffffffffffffffe
and r11, rdx
mov rdx, qword [rsp + 0x38]
lea rdi, [rdx + rax*8]
mov rdx, qword [rsp + 0x48]
lea r15, [rdx + rbx*8]
xor r10d, r10d
nop word cs:[rax + rax]
nop dword [rax]
mov rbx, qword [rdi + r10*8 - 8]
mov r13, qword [r15]
mov qword [rdi + r10*8 - 8], r13
mov qword [r15], rbx
mov rbx, r10
xor rbx, rbp
mov r13, qword [rdi + r10*8]
mov rdx, qword [r8 + rbx*8]
mov qword [rdi + r10*8], rdx
mov qword [r8 + rbx*8], r13
add r10, 2
add r15, 0xfffffffffffffff0
cmp r11, r10
jne 0x41c5c0
test r9b, 2
mov r15d, 0
mov rbx, qword [rsp + 0x20]
je 0x41c61f
mov rdx, r10
not rdx
mov r14, qword [rsp + 0x28]
mov r11, qword [r14 + r10*8]
mov rdi, qword [r8 + rdx*8]
mov qword [r14 + r10*8], rdi
mov qword [r8 + rdx*8], r11
mov r10, rcx
sub r10, rax
mov r11, r10
sub r11, r9
lea r9, [rsi + rcx*8]
cmp r11, 2
jb 0x41c6eb
mov r15, r11
shr r15, 1
cmp r15, 1
jne 0x41c650
xor edi, edi
jmp 0x41c6bf
movabs rdx, 0x7ffffffffffffffe
and r15, rdx
mov rdx, qword [rsp + 0x38]
lea r13, [rdx + rbx*8]
mov rdx, qword [rsp + 0x48]
lea rbx, [rdx + rcx*8]
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rdx, qword [r13 + rdi*8 - 8]
mov r14, qword [rbx]
mov qword [r13 + rdi*8 - 8], r14
mov qword [rbx], rdx
mov rdx, rdi
xor rdx, rbp
mov r14, qword [r13 + rdi*8]
mov rbp, qword [r9 + rdx*8]
mov qword [r13 + rdi*8], rbp
movabs rbp, 0x1ffffffffffffffe
mov qword [r9 + rdx*8], r14
add rdi, 2
add rbx, 0xfffffffffffffff0
cmp r15, rdi
jne 0x41c680
test r11b, 2
mov r15d, 0
mov rbx, qword [rsp + 0x20]
je 0x41c6eb
mov rdx, rdi
not rdx
mov r11, qword [r8 + rdi*8]
mov rbx, qword [r9 + rdx*8]
mov qword [r8 + rdi*8], rbx
mov rbx, qword [rsp + 0x20]
mov qword [r9 + rdx*8], r11
cmp r10, 2
jb 0x41c79f
mov r11, r10
shr r11, 1
cmp r11, 1
jne 0x41c710
xor r8d, r8d
jmp 0x41c773
movabs rdx, 0x7ffffffffffffffe
and r11, rdx
mov rdx, qword [rsp + 0x38]
lea rdi, [rdx + rax*8]
mov rdx, qword [rsp + 0x48]
lea rbx, [rdx + rcx*8]
xor r8d, r8d
nop word cs:[rax + rax]
nop dword [rax]
mov rdx, qword [rdi + r8*8 - 8]
mov r14, qword [rbx]
mov qword [rdi + r8*8 - 8], r14
mov qword [rbx], rdx
mov rdx, r8
xor rdx, rbp
mov r14, qword [rdi + r8*8]
mov r15, qword [r9 + rdx*8]
mov qword [rdi + r8*8], r15
mov qword [r9 + rdx*8], r14
add r8, 2
add rbx, 0xfffffffffffffff0
cmp r11, r8
jne 0x41c740
test r10b, 2
mov r15d, 0
mov rbx, qword [rsp + 0x20]
je 0x41c79f
mov rdx, r8
not rdx
mov rdi, qword [rsp + 0x28]
mov r10, qword [rdi + r8*8]
mov r11, qword [r9 + rdx*8]
mov qword [rdi + r8*8], r11
mov qword [r9 + rdx*8], r10
cmp r12, rcx
je 0x41c8ce
mov r9, rcx
sub r9, rbx
add r9, rax
mov rdx, rcx
mov rax, rcx
sub rdx, r9
jbe 0x41c510
mov r8d, dword [rsi + r9*8 + 4]
mov rax, r9
mov r9, rdx
nop dword [rax + rax]
shr r9, 1
lea r10, [rsi + rax*8]
mov r11d, edx
and r11d, 1
add r11, r9
cmp r8d, dword [r10 + r9*8 + 4]
mov r10d, 0
cmovle r10, r11
add rax, r10
cmp rdx, 1
mov rdx, r9
ja 0x41c7d0
jmp 0x41c510
mov r9, r12
sub r9, rbx
mov qword [rsp + 0x20], rbx
jne 0x41ca26
xor r13d, r13d
xor ecx, ecx
lea rdx, [rcx + rax]
mov r10, qword [rsp + 0x20]
mov r8, r10
sub r8, rdx
mov r15d, 0
je 0x41c8ce
cmp r8, 0xa
jb 0x41c87c
lea rdx, [r14 + rcx*8]
lea r9, [r10 + r13]
sub r9, rcx
lea r9, [rsi + r9*8]
cmp rdx, r9
jae 0x41cda9
add r10, qword [rsp + 0x60]
sub r10, rax
lea rdx, [rsi + r10*8]
lea r9, [rax + r13]
lea r9, [rsi + r9*8]
cmp r9, rdx
jae 0x41cda9
xor r9d, r9d
shl rax, 3
lea rax, [rax + r13*8]
add rax, rsi
lea rcx, [r14 + rcx*8]
nop
mov rdx, qword [rcx + r9*8]
mov r10, qword [rax + r9*8]
mov qword [rcx + r9*8], r10
mov qword [rax + r9*8], rdx
add r9, 1
cmp r8, r9
jne 0x41c890
jmp 0x41c8ce
mov rcx, r8
lea rdx, [rsp + rcx*8]
add rdx, 0x1b0
sub r8, rcx
lea rcx, [rsi + rax*8]
shl r8, 3
call fcn.0043c590
mov rbx, qword [rsp + 0x78]
mov r14, rbx
sub r14, r12
mov r13, qword [rsp + 0x98]
lea rdx, [rsi + r13*8]
cmp byte [rsp + 0x158], 0
je 0x41c930
mov rdi, qword [rsp + 0xb0]
cmp rdi, 0x200
jae 0x41c970
lea rcx, [rsp + 0x1b0]
mov r8, qword [rsp + 0x160]
call fcn.0043c590
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x30]
jmp 0x41ccd0
lea r15, [rsi + r12*8]
mov rcx, r13
sub rcx, r12
cmp rcx, 2
mov rax, qword [rsp + 0xb0]
jb 0x41cb12
mov r9, rcx
shr r9, 1
cmp r9, 1
jne 0x41ca9e
xor r8d, r8d
jmp 0x41caf7
mov r11, qword [rsp + 0x40]
cmp r11, 4
mov r9, qword [rsp + 0x168]
mov r10, qword [rsp + 0x30]
jb 0x41c9b0
cmp rdx, qword [rsp + 0x198]
mov rax, qword [rsp + 0x150]
jae 0x41cc63
lea rax, [rax + r13*8]
cmp qword [rsp + 0x88], rax
jae 0x41cc63
xor ecx, ecx
mov rax, rcx
test dil, 1
jne 0x41c9e3
lea rax, [rsi + rcx*8]
mov rdx, qword [rax + r13*8]
mov r9, qword [rsp + 0x60]
mov r8, qword [rax + r9*8]
mov qword [rax + r13*8], r8
mov qword [rax + r9*8], rdx
mov r9, qword [rsp + 0x168]
mov rax, rcx
or rax, 1
cmp rdi, rcx
je 0x41ccd0
nop dword [rax]
lea rcx, [rsi + rax*8]
mov rdx, qword [rcx + r13*8]
mov r8, qword [r9 + rax*8 - 8]
mov qword [rcx + r13*8], r8
mov qword [r9 + rax*8 - 8], rdx
mov rdx, qword [rcx + r13*8 + 8]
mov r8, qword [r9 + rax*8]
mov qword [rcx + r13*8 + 8], r8
mov qword [r9 + rax*8], rdx
add rax, 2
cmp r11, rax
jne 0x41c9f0
jmp 0x41ccd0
lea r10, [rsi + rbx*8]
lea r11, [rsi + rax*8]
xor edx, edx
xor edi, edi
xor ecx, ecx
add rdx, 1
nop dword [rax + rax]
mov r15d, dword [r10 + rdi*8 + 4]
mov rbx, qword [r11 + rdx*8 - 8]
cmp r15d, dword [r14 + rcx*8 + 4]
jg 0x41ca80
mov r15, qword [r14 + rcx*8]
mov qword [r11 + rdx*8 - 8], r15
mov qword [r14 + rcx*8], rbx
add rcx, 1
mov r13, rdx
add rdx, 1
cmp rcx, r8
jb 0x41ca40
jmp 0x41c826
mov r15, qword [r10 + rdi*8]
mov qword [r11 + rdx*8 - 8], r15
mov qword [r10 + rdi*8], rbx
add rdi, 1
mov r13, rdx
cmp rdi, r9
jb 0x41ca34
jmp 0x41c826
movabs r8, 0x7ffffffffffffffe
and r9, r8
mov r8, qword [rsp + 0x38]
lea r10, [r8 + r12*8]
xor r8d, r8d
nop word [rax + rax]
mov r11, r8
not r11
mov rdi, qword [r10 + r8*8 - 8]
mov rbx, qword [rdx + r11*8]
mov qword [r10 + r8*8 - 8], rbx
mov qword [rdx + r11*8], rdi
mov r11, r8
xor r11, rbp
mov rdi, qword [r10 + r8*8]
mov rbx, qword [rdx + r11*8]
mov qword [r10 + r8*8], rbx
mov qword [rdx + r11*8], rdi
add r8, 2
cmp r9, r8
jne 0x41cac0
test cl, 2
je 0x41cb12
mov r9, r8
not r9
mov r10, qword [r15 + r8*8]
mov r11, qword [rdx + r9*8]
mov qword [r15 + r8*8], r11
mov qword [rdx + r9*8], r10
mov qword [rsp + 0x20], r15
mov r10, qword [rsp + 0x50]
mov r8, r10
sub r8, r12
mov r9, r8
sub r9, rcx
mov r11, r9
shr r11, 1
lea rcx, [rsi + r10*8]
cmp r11, 1
jne 0x41cb40
xor r10d, r10d
jmp 0x41cb87
movabs r10, 0x7ffffffffffffffe
and r11, r10
xor r10d, r10d
mov rdi, r10
not rdi
mov rbx, qword [rdx + r10*8]
mov r15, qword [rcx + rdi*8]
mov qword [rdx + r10*8], r15
mov qword [rcx + rdi*8], rbx
mov rdi, r10
xor rdi, rbp
mov rbx, qword [rdx + r10*8 + 8]
mov r15, qword [rcx + rdi*8]
mov qword [rdx + r10*8 + 8], r15
mov qword [rcx + rdi*8], rbx
add r10, 2
cmp r11, r10
jne 0x41cb50
test r9b, 2
je 0x41cba3
mov r9, r10
not r9
mov r11, qword [rdx + r10*8]
mov rdi, qword [rcx + r9*8]
mov qword [rdx + r10*8], rdi
mov qword [rcx + r9*8], r11
cmp r8, 2
mov r15d, 0
mov r11, qword [rsp + 0x40]
mov rdi, rax
mov r10, qword [rsp + 0x30]
jb 0x41c230
mov r9, r8
shr r9, 1
cmp r9, 1
jne 0x41cbd0
xor edx, edx
jmp 0x41cc27
movabs rdx, 0x7ffffffffffffffe
and r9, rdx
mov rdx, qword [rsp + 0x38]
lea r10, [rdx + r12*8]
xor edx, edx
nop dword [rax + rax]
mov r11, rdx
not r11
mov rdi, qword [r10 + rdx*8 - 8]
mov rbx, qword [rcx + r11*8]
mov qword [r10 + rdx*8 - 8], rbx
mov qword [rcx + r11*8], rdi
mov r11, rdx
xor r11, rbp
mov rdi, qword [r10 + rdx*8]
mov rbx, qword [rcx + r11*8]
mov qword [r10 + rdx*8], rbx
mov qword [rcx + r11*8], rdi
add rdx, 2
cmp r9, rdx
jne 0x41cbf0
test r8b, 2
mov r11, qword [rsp + 0x40]
mov rdi, rax
mov r10, qword [rsp + 0x30]
je 0x41c230
mov r8, rdx
not r8
mov rax, qword [rsp + 0x20]
mov r9, qword [rax + rdx*8]
mov r10, qword [rcx + r8*8]
mov qword [rax + rdx*8], r10
mov r10, qword [rsp + 0x30]
mov qword [rcx + r8*8], r9
jmp 0x41c230
xor eax, eax
mov rdx, qword [rsp + 0x148]
mov r8, qword [rsp + 0x140]
nop word cs:[rax + rax]
nop
lea rcx, [rsi + rax*8]
movdqu xmm0, xmmword [rcx + r13*8]
movups xmm1, xmmword [rcx + r13*8 + 0x10]
movups xmm2, xmmword [r8 + rax*8 - 0x10]
movups xmm3, xmmword [r8 + rax*8]
movups xmmword [rcx + r13*8], xmm2
movups xmmword [rcx + r13*8 + 0x10], xmm3
movdqu xmmword [r8 + rax*8 - 0x10], xmm0
movups xmmword [r8 + rax*8], xmm1
add rax, 4
cmp rdx, rax
jne 0x41cc80
mov rcx, rdx
cmp r11, rdx
jne 0x41c9b2
nop word [rax + rax]
cmp rbx, r12
je 0x41c230
mov rax, qword [rsp + 0x50]
sub rax, r14
cmp r14, 0xa
jb 0x41cd10
lea rdx, [rsi + r12*8]
lea rcx, [rdi + r13]
mov r9, qword [rsp + 0x38]
lea r8, [r9 + rcx*8]
cmp rdx, r8
jae 0x41cd46
lea rdx, [rsi + rbx*8]
add rcx, r12
sub rcx, rbx
lea rcx, [r9 + rcx*8]
cmp rcx, rdx
jae 0x41cd46
xor ecx, ecx
add r12, rcx
nop word cs:[rax + rax]
nop
lea rdx, [rsi + rcx*8]
mov r8, qword [rsi + r12*8]
mov r9, qword [rdx + rax*8]
mov qword [rsi + r12*8], r9
mov qword [rdx + rax*8], r8
add rcx, 1
add r12, 1
cmp rbx, r12
jne 0x41cd20
jmp 0x41c230
mov rcx, r14
and rcx, 0xfffffffffffffffc
mov rdx, qword [rsp + 0xd8]
lea rdx, [rdx + r12*8]
xor r8d, r8d
nop dword [rax]
lea r9, [rsi + r8*8]
movdqu xmm0, xmmword [rdx + r8*8 - 0x10]
movups xmm1, xmmword [rdx + r8*8]
movups xmm2, xmmword [r9 + rax*8]
movups xmm3, xmmword [r9 + rax*8 + 0x10]
movups xmmword [rdx + r8*8 - 0x10], xmm2
movups xmmword [rdx + r8*8], xmm3
movdqu xmmword [r9 + rax*8], xmm0
movups xmmword [r9 + rax*8 + 0x10], xmm1
add r8, 4
cmp rcx, r8
jne 0x41cd60
cmp r14, rcx
je 0x41c230
jmp 0x41cd12
mov r9, r8
and r9, 0xfffffffffffffffc
lea rdx, [rax*8]
lea rdx, [rdx + r13*8]
add rdx, qword [rsp + 0xd8]
mov r10, qword [rsp + 0x140]
lea r10, [r10 + rcx*8]
xor r11d, r11d
nop word cs:[rax + rax]
nop dword [rax]
movdqu xmm0, xmmword [r10 + r11*8 - 0x10]
movups xmm1, xmmword [r10 + r11*8]
movups xmm2, xmmword [rdx + r11*8 - 0x10]
movups xmm3, xmmword [rdx + r11*8]
movups xmmword [r10 + r11*8 - 0x10], xmm2
movups xmmword [r10 + r11*8], xmm3
movdqu xmmword [rdx + r11*8 - 0x10], xmm0
movups xmmword [rdx + r11*8], xmm1
add r11, 4
cmp r9, r11
jne 0x41cde0
cmp r8, r9
je 0x41c8ce
jmp 0x41c87f
cmp rcx, rdi
ja 0x41d0d7
lea rdx, [rsi + r13*8]
mov r8, qword [rsp + 0xa8]
sub r8, r13
cmp r8, 2
jb 0x41cf08
mov r12, rbx
mov r10, r8
shr r10, 1
cmp r10, 1
jne 0x41ce5b
xor r9d, r9d
jmp 0x41cec7
movabs r9, 0x7ffffffffffffffe
and r10, r9
xor r9d, r9d
nop dword [rax + rax]
mov r11, r9
not r11
mov rdi, qword [rdx + r9*8]
mov rbx, qword [rsp + 0xd0]
mov rbx, qword [rbx + r11*8]
mov qword [rdx + r9*8], rbx
mov rbx, qword [rsp + 0xd0]
mov qword [rbx + r11*8], rdi
mov r11, r9
xor r11, rbp
mov rdi, qword [rdx + r9*8 + 8]
mov rbx, qword [rsp + 0xd0]
mov rbx, qword [rbx + r11*8]
mov qword [rdx + r9*8 + 8], rbx
mov rbx, qword [rsp + 0xd0]
mov qword [rbx + r11*8], rdi
add r9, 2
cmp r10, r9
jne 0x41ce70
test r8b, 2
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
mov rbx, r12
je 0x41cf08
mov r10, r9
not r10
mov r11, qword [rdx + r9*8]
mov r12, qword [rsp + 0xd0]
mov rdi, qword [r12 + r10*8]
mov qword [rdx + r9*8], rdi
mov rdi, qword [rsp + 0xb0]
mov qword [r12 + r10*8], r11
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0xc0]
mov r9, r12
sub r9, r13
mov r10, r9
sub r10, r8
lea r8, [rsi + r12*8]
cmp r10, 2
jb 0x41cfe9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rbx
mov rdi, r10
shr rdi, 1
cmp rdi, 1
jne 0x41cf45
xor r11d, r11d
jmp 0x41cfa3
movabs r11, 0x7ffffffffffffffe
and rdi, r11
mov r11, qword [rsp + 0x48]
mov rbx, qword [rsp + 0xc0]
lea rbx, [r11 + rbx*8]
xor r11d, r11d
mov r9, qword [rsp + 0xd0]
nop
mov r14, qword [r9 + r11*8]
mov r15, qword [rbx]
mov qword [r9 + r11*8], r15
mov qword [rbx], r14
mov r14, r11
xor r14, rbp
mov r15, qword [r9 + r11*8 + 8]
mov r12, qword [r8 + r14*8]
mov qword [r9 + r11*8 + 8], r12
mov qword [r8 + r14*8], r15
add r11, 2
add rbx, 0xfffffffffffffff0
cmp rdi, r11
jne 0x41cf70
test r10b, 2
je 0x41cfc7
mov r10, r11
not r10
mov r9, qword [rsp + 0xd0]
mov rdi, qword [r9 + r11*8]
mov rbx, qword [r8 + r10*8]
mov qword [r9 + r11*8], rbx
mov qword [r8 + r10*8], rdi
xor r15d, r15d
mov r14, qword [rsp + 0x88]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x20]
mov r9, qword [rsp + 0x28]
cmp r9, 2
jb 0x41d0aa
mov r12, rbx
mov r11, r9
shr r11, 1
cmp r11, 1
jne 0x41d007
xor r10d, r10d
jmp 0x41d063
movabs r10, 0x7ffffffffffffffe
and r11, r10
mov r10, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xc0]
lea rdi, [r10 + rdi*8]
xor r10d, r10d
nop dword [rax + rax]
mov rbx, qword [rdx + r10*8]
mov r14, qword [rdi]
mov qword [rdx + r10*8], r14
mov qword [rdi], rbx
mov rbx, r10
xor rbx, rbp
mov r14, qword [rdx + r10*8 + 8]
mov r15, qword [r8 + rbx*8]
mov qword [rdx + r10*8 + 8], r15
mov qword [r8 + rbx*8], r14
add r10, 2
add rdi, 0xfffffffffffffff0
cmp r11, r10
jne 0x41d030
test r9b, 2
mov r15d, 0
mov r14, qword [rsp + 0x88]
mov r11, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb0]
mov rbx, r12
je 0x41d0aa
mov r9, r10
not r9
mov r11, qword [rdx + r10*8]
mov rdi, qword [r8 + r9*8]
mov qword [rdx + r10*8], rdi
mov rdi, qword [rsp + 0xb0]
mov qword [r8 + r9*8], r11
mov r11, qword [rsp + 0x40]
lea r8, [rcx + r13]
mov r10, qword [rsp + 0x30]
add r10, rcx
mov rdx, r13
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rcx
mov rcx, r8
mov r13, rax
mov r9, r8
jmp 0x41c259
cmp r11, 4
jae 0x41d0ec
xor edx, edx
mov r8, qword [rsp + 0xa8]
jmp 0x41d17b
lea rcx, [rsi + r13*8]
mov r8, qword [rsp + 0x150]
mov r10, qword [rsp + 0xa8]
lea rdx, [r8 + r10*8]
cmp rcx, rdx
jae 0x41d11d
lea rcx, [r8 + r13*8]
lea rdx, [rsi + r10*8]
cmp rdx, rcx
jae 0x41d11d
xor edx, edx
mov r8, r10
jmp 0x41d17b
mov r9, qword [rsp + 0x148]
mov rcx, r9
xor edx, edx
nop word [rax + rax]
lea r8, [rsi + rdx*8]
movdqu xmm0, xmmword [r8 + r13*8]
movups xmm1, xmmword [r8 + r13*8 + 0x10]
movups xmm2, xmmword [r8 + r10*8]
movups xmm3, xmmword [r8 + r10*8 + 0x10]
movups xmmword [r8 + r13*8], xmm2
movups xmmword [r8 + r13*8 + 0x10], xmm3
movdqu xmmword [r8 + r10*8], xmm0
movups xmmword [r8 + r10*8 + 0x10], xmm1
add rdx, 4
add rcx, 0xfffffffffffffffc
jne 0x41d130
mov rdx, r9
cmp r11, r9
mov r8, r10
je 0x41d22a
mov rcx, rdx
test dil, 1
jne 0x41d1b7
lea rcx, [rsi + rdx*8]
mov r8, qword [rcx + r13*8]
mov r9, qword [rsp + 0xa8]
mov r9, qword [rcx + r9*8]
mov qword [rcx + r13*8], r9
mov r9, qword [rsp + 0xa8]
mov qword [rcx + r9*8], r8
mov r8, qword [rsp + 0xa8]
mov rcx, rdx
or rcx, 1
cmp rdi, rdx
je 0x41d22a
mov rdx, r11
sub rdx, rcx
nop word cs:[rax + rax]
nop dword [rax]
lea r8, [rsi + rcx*8]
mov r9, qword [r8 + r13*8]
mov r10, qword [rsp + 0xa8]
mov r10, qword [r8 + r10*8]
mov qword [r8 + r13*8], r10
mov r10, qword [rsp + 0xa8]
mov qword [r8 + r10*8], r9
mov r9, qword [r8 + r13*8 + 8]
mov r10, qword [rsp + 0xa8]
mov r10, qword [r8 + r10*8 + 8]
mov qword [r8 + r13*8 + 8], r10
mov r10, qword [rsp + 0xa8]
mov qword [r8 + r10*8 + 8], r9
mov r8, qword [rsp + 0xa8]
add rcx, 2
add rdx, 0xfffffffffffffffe
jne 0x41d1d0
lea r9, [r11 + r13]
mov r10, qword [rsp + 0x30]
add r10, r11
add r8, r11
mov rcx, qword [rsp + 0xc0]
cmp rcx, qword [rsp + 0x188]
lea rcx, [rcx + r11]
cmova rcx, qword [rsp + 0x70]
mov qword [rsp + 0xa8], r8
lea rdx, [rsi + r8*8]
mov qword [rsp + 0xd0], rdx
mov rdx, r13
mov qword [rsp + 0xc0], rcx
mov rcx, r9
mov r13, rax
jmp 0x41c259
mov r8, r11
mov r12, qword [rsp + 0x38]
cmp r8, 0x201
mov rax, qword [rsp + 0x68]
jae 0x41becd
cmp qword [rsp + 0x70], rbx
je 0x41d3ae
xor eax, eax
cmp rbx, r13
je 0x41b920
add r13, 1
mov rcx, r13
nop word cs:[rax + rax]
nop
mov r13, rcx
mov ecx, dword [rsi + rbx*8 + 4]
cmp ecx, dword [rsp + rax*8 + 0x1b4]
jg 0x41d2f0
mov rcx, qword [rsp + rax*8 + 0x1b0]
mov qword [rsi + r13*8 - 8], rcx
add rax, 1
lea rcx, [r13 + 1]
cmp r8, rax
jne 0x41d2c0
jmp 0x41b91d
mov rcx, qword [rsi + rbx*8]
mov qword [rsi + r13*8 - 8], rcx
add rbx, 1
cmp rbx, qword [rsp + 0x70]
jne 0x41d2ad
jmp 0x41b920
sub qword [rsp + 0x70], rbx
jne 0x41d3b5
xor ecx, ecx
xor eax, eax
lea r8, [rax + r13]
mov rdx, rbx
sub rdx, r8
mov r11, qword [rsp + 0x40]
je 0x41b940
cmp rdx, 0xa
jb 0x41d368
lea r8, [r14 + rax*8]
lea r9, [rbx + rcx]
sub r9, rax
lea r9, [rsi + r9*8]
cmp r8, r9
jae 0x41d430
add rbx, qword [rsp + 0x60]
sub rbx, r13
lea r8, [rsi + rbx*8]
lea r9, [rcx + r13]
lea r9, [rsi + r9*8]
cmp r9, r8
jae 0x41d430
xor r8d, r8d
shl r13, 3
lea rcx, [rcx*8]
add rcx, r13
add rcx, rsi
lea rax, [r14 + rax*8]
nop word cs:[rax + rax]
nop dword [rax + rax]
mov r9, qword [rax + r8*8]
mov r10, qword [rcx + r8*8]
mov qword [rax + r8*8], r10
mov qword [rcx + r8*8], r9
add r8, 1
cmp rdx, r8
jne 0x41d390
jmp 0x41b940
xor eax, eax
jmp 0x41b920
mov qword [rsp + 0x28], r8
lea rdx, [rsi + rbx*8]
lea r8, [rsi + r13*8]
xor r10d, r10d
xor r9d, r9d
xor eax, eax
add r10, 1
nop
mov r11d, dword [rdx + r9*8 + 4]
mov rcx, qword [r8 + r10*8 - 8]
cmp r11d, dword [r14 + rax*8 + 4]
jg 0x41d410
mov r11, qword [r14 + rax*8]
mov qword [r8 + r10*8 - 8], r11
mov qword [r14 + rax*8], rcx
add rax, 1
mov rcx, r10
add r10, 1
cmp rax, qword [rsp + 0x28]
jb 0x41d3d0
jmp 0x41d318
mov r11, qword [rdx + r9*8]
mov qword [r8 + r10*8 - 8], r11
mov qword [rdx + r9*8], rcx
add r9, 1
mov rcx, r10
cmp r9, qword [rsp + 0x70]
jb 0x41d3ca
jmp 0x41d318
mov r8, rdx
and r8, 0xfffffffffffffffc
lea r9, [r13*8]
lea r9, [r9 + rcx*8]
add r9, qword [rsp + 0xd8]
mov r10, qword [rsp + 0x140]
lea r10, [r10 + rax*8]
xor r11d, r11d
nop word [rax + rax]
movdqu xmm0, xmmword [r10 + r11*8 - 0x10]
movups xmm1, xmmword [r10 + r11*8]
movups xmm2, xmmword [r9 + r11*8 - 0x10]
movups xmm3, xmmword [r9 + r11*8]
movups xmmword [r10 + r11*8 - 0x10], xmm2
movups xmmword [r10 + r11*8], xmm3
movdqu xmmword [r9 + r11*8 - 0x10], xmm0
movups xmmword [r9 + r11*8], xmm1
add r11, 4
cmp r8, r11
jne 0x41d460
cmp rdx, r8
mov r11, qword [rsp + 0x40]
je 0x41b940
jmp 0x41d36b
mov rcx, qword [r8 + rax*8]
mov rdx, qword [r14 + rax*8]
mov qword [r8 + rax*8], rdx
mov qword [r14 + rax*8], rcx
add rax, 1
cmp r9, rax
jne 0x41d4b0
jmp 0x41bea8
cmp qword [rsp + 0x178], 2
jb 0x41d540
mov rdx, qword [rsp + 0x60]
mov rcx, rdx
not rcx
mov r8, qword [rsp + 0x68]
add rcx, r8
add r8, 0xfffffffffffffffe
mov eax, 1
cmp r8, rdx
jne 0x41dc6b
test cl, 1
je 0x41d540
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
lea rcx, [rcx + rdx*8]
nop word cs:[rax + rax]
nop dword [rax]
mov edx, dword [rcx + rax*8 + 0xc]
cmp edx, dword [rcx + rax*8 + 4]
jle 0x41d540
movdqu xmm0, xmmword [rcx + rax*8]
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [rcx + rax*8], xmm0
add rax, 0xffffffffffffffff
jne 0x41d520
nop
mov cl, 1
xor eax, eax
jmp 0x41d56a
mov eax, 1
test byte [rsp + 0x50], 1
mov ecx, 0
mov r12, qword [rsp + 0x38]
je 0x419da0
mov dword [rsp + 0x50], ecx
lea rax, [rax + rax*4]
mov rbx, qword [rsp + rax*8 + 0x100]
lea r8, [rbx + rbx]
mov rcx, qword [rsp + rax*8 + 0xf8]
cmp qword [rsp + rax*8 + 0xf0], rcx
jbe 0x41d900
test rbx, rbx
je 0x41d550
mov r9, qword [rsp + rax*8 + 0x108]
mov rax, qword [rsp + rax*8 + 0x110]
mov qword [rsp + 0x28], rax
lea rdx, [r9 + rbx]
jmp 0x41d5e4
add r9, 1
add r8, 0xfffffffffffffffe
mov rbx, r9
sub rbx, r11
neg rbx
sub r9, r11
lea r9, [rdx + r9]
mov r15d, 0
je 0x41d550
mov r11, rdx
mov rdx, qword [rsp + 0x28]
mov rax, rdx
sub rax, r11
je 0x41d6c5
mov ebp, dword [rsi + r9*8 + 4]
mov rcx, rax
or rcx, r8
shr rcx, 0x20
je 0x41d610
xor edx, edx
div r8
jmp 0x41d615
xor edx, edx
div r8d
cmp rax, 1
adc rax, 0
mov rdi, qword [rsp + 0x28]
sub rdi, rax
mov rdx, r11
nop dword [rax + rax]
lea rcx, [rdx + rax]
cmp dword [rsi + rcx*8 - 4], ebp
jle 0x41d690
mov rdx, rcx
cmp rcx, rdi
jb 0x41d630
mov rdx, qword [rsp + 0x28]
mov rax, rdx
sub rax, rcx
jbe 0x41d6c5
mov rdx, rcx
mov rcx, rax
nop word cs:[rax + rax]
nop
shr rcx, 1
lea rdi, [rsi + rdx*8]
mov r14d, eax
and r14d, 1
add r14, rcx
cmp dword [rdi + rcx*8 + 4], ebp
cmovle r14, r15
add rdx, r14
cmp rax, 1
mov rax, rcx
ja 0x41d660
jmp 0x41d6c5
mov rcx, rax
nop word cs:[rax + rax]
nop dword [rax]
shr rcx, 1
lea rdi, [rsi + rdx*8]
mov r14d, eax
and r14d, 1
add r14, rcx
cmp dword [rdi + rcx*8 + 4], ebp
cmovle r14, r15
add rdx, r14
cmp rax, 2
mov rax, rcx
jae 0x41d6a0
lea rax, [rsi + r9*8]
mov qword [rsp + 0x30], rax
lea r14, [rsi + r11*8]
cmp rbx, 2
jb 0x41d773
mov r15, rbx
shr r15, 1
cmp r15, 1
jne 0x41d6f0
xor edi, edi
jmp 0x41d753
movabs rax, 0x7ffffffffffffffe
and r15, rax
mov rax, qword [rsp + 0x38]
lea r12, [rax + r9*8]
mov rax, qword [rsp + 0x48]
lea rcx, [rax + r11*8]
xor edi, edi
movabs rax, 0x1ffffffffffffffe
nop dword [rax + rax]
mov r13, qword [r12 + rdi*8 - 8]
mov rbp, qword [rcx]
mov qword [r12 + rdi*8 - 8], rbp
mov qword [rcx], r13
mov r13, rdi
xor r13, rax
mov rbp, qword [r12 + rdi*8]
mov r10, qword [r14 + r13*8]
mov qword [r12 + rdi*8], r10
mov qword [r14 + r13*8], rbp
add rdi, 2
add rcx, 0xfffffffffffffff0
cmp r15, rdi
jne 0x41d720
test bl, 2
je 0x41d773
mov rcx, rdi
not rcx
mov rax, qword [rsp + 0x30]
mov r10, qword [rax + rdi*8]
mov r15, qword [r14 + rcx*8]
mov qword [rax + rdi*8], r15
mov qword [r14 + rcx*8], r10
mov r12, rdx
sub r12, r9
mov rdi, r12
sub rdi, rbx
lea rbx, [rsi + rdx*8]
cmp rdi, 2
movabs rbp, 0x1ffffffffffffffe
jb 0x41d84e
mov qword [rsp + 0x20], r8
mov r13, rdi
shr r13, 1
cmp r13, 1
mov qword [rsp + 0x58], r11
jne 0x41d7c0
xor r15d, r15d
movabs r8, 0x1ffffffffffffffe
jmp 0x41d825
movabs rax, 0x7ffffffffffffffe
and r13, rax
mov rax, qword [rsp + 0x38]
lea rbp, [rax + r11*8]
mov rax, qword [rsp + 0x48]
lea rcx, [rax + rdx*8]
xor r15d, r15d
movabs r8, 0x1ffffffffffffffe
nop dword [rax]
mov r10, qword [rbp + r15*8 - 8]
mov rax, qword [rcx]
mov qword [rbp + r15*8 - 8], rax
mov qword [rcx], r10
mov rax, r15
xor rax, r8
mov r10, qword [rbp + r15*8]
mov r11, qword [rbx + rax*8]
mov qword [rbp + r15*8], r11
mov qword [rbx + rax*8], r10
add r15, 2
add rcx, 0xfffffffffffffff0
cmp r13, r15
jne 0x41d7f0
test dil, 2
mov rbp, r8
mov r8, qword [rsp + 0x20]
mov r11, qword [rsp + 0x58]
je 0x41d84e
mov rax, r15
not rax
mov rcx, qword [r14 + r15*8]
mov r10, qword [rbx + rax*8]
mov qword [r14 + r15*8], r10
mov qword [rbx + rax*8], rcx
cmp r12, 2
jb 0x41d5c0
mov r13, r11
mov r14, r12
shr r14, 1
cmp r14, 1
jne 0x41d870
xor edi, edi
jmp 0x41d8d3
movabs rax, 0x7ffffffffffffffe
and r14, rax
mov rax, qword [rsp + 0x38]
lea r15, [rax + r9*8]
mov rax, qword [rsp + 0x48]
lea rcx, [rax + rdx*8]
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rax, qword [r15 + rdi*8 - 8]
mov r10, qword [rcx]
mov qword [r15 + rdi*8 - 8], r10
mov qword [rcx], rax
mov rax, rdi
xor rax, rbp
mov r10, qword [r15 + rdi*8]
mov r11, qword [rbx + rax*8]
mov qword [r15 + rdi*8], r11
mov qword [rbx + rax*8], r10
add rdi, 2
add rcx, 0xfffffffffffffff0
cmp r14, rdi
jne 0x41d8a0
test r12b, 2
mov r11, r13
je 0x41d5c0
mov rax, rdi
not rax
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14 + rdi*8]
mov r10, qword [rbx + rax*8]
mov qword [r14 + rdi*8], r10
mov qword [rbx + rax*8], rcx
jmp 0x41d5c0
jae 0x41d550
test rbx, rbx
je 0x41d550
mov r9, qword [rsp + rax*8 + 0x108]
mov r10, qword [rsp + rax*8 + 0x110]
mov rdx, r10
sub rdx, rbx
mov qword [rsp + 0x58], r9
jmp 0x41d94d
not rax
mov r10, qword [rsp + 0x28]
add r10, rax
add r8, 0xfffffffffffffffe
cmp r10, rdx
mov r9, qword [rsp + 0x58]
je 0x41d550
mov r11, rdx
mov rax, rdx
mov rdx, r9
sub rax, r9
je 0x41da0d
mov rcx, qword [rsp + 0x48]
mov ebx, dword [rcx + r10*8 + 4]
mov rcx, rax
or rcx, r8
shr rcx, 0x20
je 0x41d97c
xor edx, edx
div r8
jmp 0x41d981
xor edx, edx
div r8d
cmp rax, 1
adc rax, 0
lea rcx, [rax + r9]
mov rdx, r11
sub rdx, rax
mov rdi, rdx
sub rdi, r9
jbe 0x41d9e0
cmp dword [rsi + rdx*8 - 4], ebx
jge 0x41d9e0
cmp rdx, rcx
jae 0x41d990
mov rdx, r9
mov rax, rdi
nop dword [rax]
shr rax, 1
lea rcx, [rsi + rdx*8]
mov r14d, edi
and r14d, 1
add r14, rax
cmp dword [rcx + rax*8 + 4], ebx
mov ecx, 0
cmovge rcx, r14
add rdx, rcx
cmp rdi, 1
mov rdi, rax
ja 0x41d9b0
jmp 0x41da0d
mov rcx, rax
shr rcx, 1
lea rdi, [rsi + rdx*8]
mov r14d, eax
and r14d, 1
add r14, rcx
cmp dword [rdi + rcx*8 + 4], ebx
mov edi, 0
cmovge rdi, r14
add rdx, rdi
cmp rax, 2
mov rax, rcx
jae 0x41d9e0
mov rax, r11
sub rax, rdx
lea rcx, [rsi + rdx*8]
mov qword [rsp + 0x30], rcx
lea r14, [rsi + r11*8]
cmp rax, 2
jb 0x41dad5
mov r15, rax
shr r15, 1
cmp r15, 1
jne 0x41da40
xor edi, edi
jmp 0x41daad
movabs rcx, 0x7ffffffffffffffe
and r15, rcx
mov rcx, qword [rsp + 0x38]
lea r12, [rcx + rdx*8]
mov rcx, qword [rsp + 0x48]
lea rcx, [rcx + r11*8]
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax + rax]
mov rbx, qword [r12 + rdi*8 - 8]
mov r13, qword [rcx]
mov qword [r12 + rdi*8 - 8], r13
mov qword [rcx], rbx
mov rbx, rdi
xor rbx, rbp
mov r13, qword [r12 + rdi*8]
mov rbp, qword [r14 + rbx*8]
mov qword [r12 + rdi*8], rbp
movabs rbp, 0x1ffffffffffffffe
mov qword [r14 + rbx*8], r13
add rdi, 2
add rcx, 0xfffffffffffffff0
cmp r15, rdi
jne 0x41da70
test al, 2
mov r15d, 0
je 0x41dad5
mov rcx, rdi
not rcx
mov r12, qword [rsp + 0x30]
mov rbx, qword [r12 + rdi*8]
mov r15, qword [r14 + rcx*8]
mov qword [r12 + rdi*8], r15
xor r15d, r15d
mov qword [r14 + rcx*8], rbx
mov rcx, qword [rsp + 0x48]
lea rbx, [rcx + r10*8]
mov r13, r10
sub r13, rdx
mov rdi, r13
sub rdi, rax
mov qword [rsp + 0x28], r10
lea r12, [rsi + r10*8]
cmp rdi, 2
jb 0x41dbbc
mov qword [rsp + 0x20], r8
mov r15, rdi
shr r15, 1
cmp r15, 1
jne 0x41db20
xor r11d, r11d
movabs r10, 0x1ffffffffffffffe
jmp 0x41db85
movabs rcx, 0x7ffffffffffffffe
and r15, rcx
mov rcx, qword [rsp + 0x38]
lea rcx, [rcx + r11*8]
mov rbp, rbx
xor r11d, r11d
movabs r10, 0x1ffffffffffffffe
nop word cs:[rax + rax]
mov r8, qword [rcx + r11*8 - 8]
mov r9, qword [rbp]
mov qword [rcx + r11*8 - 8], r9
mov qword [rbp], r8
mov r8, r11
xor r8, r10
mov r9, qword [rcx + r11*8]
mov rsi, qword [r12 + r8*8]
mov qword [rcx + r11*8], rsi
mov qword [r12 + r8*8], r9
add r11, 2
add rbp, 0xfffffffffffffff0
cmp r15, r11
jne 0x41db50
test dil, 2
mov rsi, qword [rsp + 0xe8]
mov r15d, 0
mov rbp, r10
mov r8, qword [rsp + 0x20]
je 0x41dbbc
mov rcx, r11
not rcx
mov r8, qword [r14 + r11*8]
mov r9, qword [r12 + rcx*8]
mov qword [r14 + r11*8], r9
mov qword [r12 + rcx*8], r8
mov r8, qword [rsp + 0x20]
cmp r13, 2
jb 0x41d930
mov r10, r8
mov rdi, r13
shr rdi, 1
cmp rdi, 1
jne 0x41dbe0
xor r11d, r11d
jmp 0x41dc33
movabs rcx, 0x7ffffffffffffffe
and rdi, rcx
mov rcx, qword [rsp + 0x38]
lea rcx, [rcx + rdx*8]
xor r11d, r11d
nop dword [rax]
mov r8, qword [rcx + r11*8 - 8]
mov r9, qword [rbx]
mov qword [rcx + r11*8 - 8], r9
mov qword [rbx], r8
mov r8, r11
xor r8, rbp
mov r9, qword [rcx + r11*8]
mov rsi, qword [r12 + r8*8]
mov qword [rcx + r11*8], rsi
mov qword [r12 + r8*8], r9
add r11, 2
add rbx, 0xfffffffffffffff0
cmp rdi, r11
jne 0x41dc00
test r13b, 2
mov rsi, qword [rsp + 0xe8]
mov r8, r10
je 0x41d930
mov rcx, r11
not rcx
mov rdi, qword [rsp + 0x30]
mov r8, qword [rdi + r11*8]
mov r9, qword [r12 + rcx*8]
mov qword [rdi + r11*8], r9
mov qword [r12 + rcx*8], r8
mov r8, r10
jmp 0x41d930
mov rdx, rcx
and rdx, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x41dc91
add rax, 2
add r8, 2
cmp r8, rdx
je 0x41d500
mov r9, r8
nop word cs:[rax + rax]
nop
mov r10d, dword [r14 + r9*8 + 0xc]
cmp r10d, dword [r14 + r9*8 + 4]
jle 0x41dcc3
movdqu xmm0, xmmword [r14 + r9*8]
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [r14 + r9*8], xmm0
add r9, 0xffffffffffffffff
jb 0x41dca0
mov r9, rax
nop word cs:[rax + rax]
mov r10d, dword [r14 + r9*8 + 0xc]
cmp r10d, dword [r14 + r9*8 + 4]
jle 0x41dc80
movdqu xmm0, xmmword [r14 + r9*8]
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [r14 + r9*8], xmm0
add r9, 0xffffffffffffffff
jb 0x41dcd0
jmp 0x41dc80
mov rax, qword [rsp + 0x68]
mov rcx, rax
sub rcx, r14
mov qword [rsp + 0xa0], rcx
mov r14, rax
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov r12, qword [rsp + 0x38]
jmp 0x41b07f
mov qword [rsp + 0x68], r14
mov r12, qword [rsp + 0x38]
movabs rbp, 0x1ffffffffffffffe
jmp 0x41b008
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x108], rax
mov r12, qword [rsp + 0x38]
jne 0x41dd60
mov rax, qword [rsp + 0x128]
sub qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x68]
sub rax, r14
mov qword [rsp + 0x60], rax
jmp 0x41b008
mov eax, dword [rsi + 0xc]
cmp eax, dword [rsi + 4]
jle 0x41dd87
movdqu xmm0, xmmword [rsi]
pshufd xmm0, xmm0, 0x4e
movdqu xmmword [rsi], xmm0
movaps xmm6, xmmword [rsp + 0x11b0]
add rsp, 0x11c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret