1800adc23:	49 3b fc             	cmp    %r12,%rdi
1800adc26:	0f 84 e5 00 00 00    	je     0x1800add11
1800adc2c:	98                   	cwtl
1800adc2d:	99                   	cltd
1800adc2e:	83 e2 0f             	and    $0xf,%edx
1800adc31:	03 c2                	add    %edx,%eax
1800adc33:	8b c8                	mov    %eax,%ecx
1800adc35:	83 e0 0f             	and    $0xf,%eax
1800adc38:	2b c2                	sub    %edx,%eax
1800adc3a:	c1 f9 04             	sar    $0x4,%ecx
1800adc3d:	4c 63 d0             	movslq %eax,%r10
1800adc40:	48 63 d1             	movslq %ecx,%rdx
1800adc43:	49 83 fa 0f          	cmp    $0xf,%r10
1800adc47:	75 61                	jne    0x1800adcaa
1800adc49:	49 3b df             	cmp    %r15,%rbx
1800adc4c:	0f 83 b8 00 00 00    	jae    0x1800add0a
1800adc52:	44 0f b6 13          	movzbl (%rbx),%r10d
1800adc56:	48 ff c3             	inc    %rbx
1800adc59:	49 81 fa ff 00 00 00 	cmp    $0xff,%r10
1800adc60:	75 44                	jne    0x1800adca6
1800adc62:	48 8d 43 01          	lea    0x1(%rbx),%rax
1800adc66:	49 3b c7             	cmp    %r15,%rax
1800adc69:	0f 83 9b 00 00 00    	jae    0x1800add0a
1800adc6f:	44 0f b7 13          	movzwl (%rbx),%r10d
1800adc73:	48 83 c3 02          	add    $0x2,%rbx
1800adc77:	4d 85 d2             	test   %r10,%r10
1800adc7a:	75 14                	jne    0x1800adc90
1800adc7c:	48 8d 43 03          	lea    0x3(%rbx),%rax
1800adc80:	49 3b c7             	cmp    %r15,%rax
1800adc83:	0f 83 81 00 00 00    	jae    0x1800add0a
1800adc89:	44 8b 13             	mov    (%rbx),%r10d
1800adc8c:	48 83 c3 04          	add    $0x4,%rbx
1800adc90:	49 83 fa 0f          	cmp    $0xf,%r10
1800adc94:	72 74                	jb     0x1800add0a
1800adc96:	48 8d 47 03          	lea    0x3(%rdi),%rax
1800adc9a:	49 03 c2             	add    %r10,%rax
1800adc9d:	48 3b c7             	cmp    %rdi,%rax
1800adca0:	72 68                	jb     0x1800add0a
1800adca2:	49 83 ea 0f          	sub    $0xf,%r10
1800adca6:	49 83 c2 0f          	add    $0xf,%r10
1800adcaa:	b9 1f 00 00 00       	mov    $0x1f,%ecx
1800adcaf:	45 8b d8             	mov    %r8d,%r11d
1800adcb2:	2a ca                	sub    %dl,%cl
1800adcb4:	b8 01 00 00 00       	mov    $0x1,%eax
1800adcb9:	49 d3 eb             	shr    %cl,%r11
1800adcbc:	49 83 c2 03          	add    $0x3,%r10
1800adcc0:	48 8b ca             	mov    %rdx,%rcx
1800adcc3:	49 d1 eb             	shr    $1,%r11
1800adcc6:	48 d3 e0             	shl    %cl,%rax
1800adcc9:	4c 03 d8             	add    %rax,%r11
1800adccc:	41 d3 e0             	shl    %cl,%r8d
1800adccf:	4c 2b ca             	sub    %rdx,%r9
1800adcd2:	79 1f                	jns    0x1800adcf3
1800adcd4:	48 8d 43 01          	lea    0x1(%rbx),%rax
1800adcd8:	49 3b c7             	cmp    %r15,%rax
1800adcdb:	73 2d                	jae    0x1800add0a
1800adcdd:	0f b7 13             	movzwl (%rbx),%edx
1800adce0:	41 0f b6 c9          	movzbl %r9b,%ecx
1800adce4:	f6 d9                	neg    %cl
1800adce6:	48 83 c3 02          	add    $0x2,%rbx
1800adcea:	d3 e2                	shl    %cl,%edx
1800adcec:	44 03 c2             	add    %edx,%r8d
1800adcef:	49 83 c1 10          	add    $0x10,%r9
1800adcf3:	48 8b f7             	mov    %rdi,%rsi
1800adcf6:	49 2b f3             	sub    %r11,%rsi
1800adcf9:	48 3b 74 24 50       	cmp    0x50(%rsp),%rsi
1800adcfe:	72 0a                	jb     0x1800add0a
1800add00:	e9 61 fe ff ff       	jmp    0x1800adb66
1800add05:	49 3b fc             	cmp    %r12,%rdi
1800add08:	74 07                	je     0x1800add11
1800add0a:	b8 42 02 00 c0       	mov    $0xc0000242,%eax
1800add0f:	eb 0d                	jmp    0x1800add1e
1800add11:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
1800add16:	2b 7c 24 50          	sub    0x50(%rsp),%edi
1800add1a:	89 38                	mov    %edi,(%rax)
1800add1c:	33 c0                	xor    %eax,%eax
1800add1e:	4c 8b 74 24 28       	mov    0x28(%rsp),%r14
1800add23:	4c 8b 6c 24 68       	mov    0x68(%rsp),%r13
1800add28:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
1800add2d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800add32:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1800add37:	48 83 c4 30          	add    $0x30,%rsp
1800add3b:	5e                   	pop    %rsi
1800add3c:	5d                   	pop    %rbp
1800add3d:	5b                   	pop    %rbx
1800add3e:	c3                   	ret
1800add3f:	cc                   	int3
1800add40:	66 85 c9             	test   %cx,%cx
1800add43:	75 11                	jne    0x1800add56
1800add45:	c7 02 20 00 01 00    	movl   $0x10020,(%rdx)
1800add4b:	41 c7 00 00 10 00 00 	movl   $0x1000,(%r8)
1800add52:	33 c0                	xor    %eax,%eax
1800add54:	c3                   	ret
1800add55:	cc                   	int3
1800add56:	b8 00 01 00 00       	mov    $0x100,%eax
1800add5b:	66 3b c8             	cmp    %ax,%cx
1800add5e:	75 08                	jne    0x1800add68
1800add60:	c7 02 20 00 00 00    	movl   $0x20,(%rdx)
1800add66:	eb e3                	jmp    0x1800add4b
1800add68:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
1800add6d:	c3                   	ret
1800add6e:	cc                   	int3
1800add6f:	cc                   	int3
1800add70:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800add75:	53                   	push   %rbx
1800add76:	55                   	push   %rbp
1800add77:	56                   	push   %rsi
1800add78:	57                   	push   %rdi
1800add79:	41 55                	push   %r13
1800add7b:	41 56                	push   %r14
1800add7d:	41 57                	push   %r15
1800add7f:	48 83 ec 30          	sub    $0x30,%rsp
1800add83:	49 8b f0             	mov    %r8,%rsi
1800add86:	44 8b f2             	mov    %edx,%r14d
1800add89:	45 33 c0             	xor    %r8d,%r8d
1800add8c:	45 8b e9             	mov    %r9d,%r13d
1800add8f:	4c 03 f1             	add    %rcx,%r14
1800add92:	44 89 44 24 78       	mov    %r8d,0x78(%rsp)
1800add97:	41 8b f8             	mov    %r8d,%edi
1800add9a:	48 8b e9             	mov    %rcx,%rbp
1800add9d:	0f b7 1e             	movzwl (%rsi),%ebx
1800adda0:	4c 03 ee             	add    %rsi,%r13
1800adda3:	8b cb                	mov    %ebx,%ecx
1800adda5:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
1800addab:	83 c1 03             	add    $0x3,%ecx
1800addae:	8b c1                	mov    %ecx,%eax
1800addb0:	48 03 c6             	add    %rsi,%rax
1800addb3:	49 3b c5             	cmp    %r13,%rax
1800addb6:	0f 87 20 01 00 00    	ja     0x1800adedc
1800addbc:	44 8b f9             	mov    %ecx,%r15d
1800addbf:	66 85 db             	test   %bx,%bx
1800addc2:	79 6b                	jns    0x1800ade2f
1800addc4:	44 39 84 24 90 00 00 	cmp    %r8d,0x90(%rsp)
1800addcb:	00
1800addcc:	4c 8d 0c 31          	lea    (%rcx,%rsi,1),%r9
1800addd0:	48 8b cd             	mov    %rbp,%rcx
1800addd3:	4c 8d 46 02          	lea    0x2(%rsi),%r8
1800addd7:	49 8b d6             	mov    %r14,%rdx
1800addda:	74 28                	je     0x1800ade04
1800adddc:	48 8d 84 24 88 00 00 	lea    0x88(%rsp),%rax
1800adde3:	00
1800adde4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800adde9:	e8 92 64 08 00       	call   0x180134280
1800addee:	45 33 c0             	xor    %r8d,%r8d
1800addf1:	8b f8                	mov    %eax,%edi
1800addf3:	85 c0                	test   %eax,%eax
1800addf5:	78 25                	js     0x1800ade1c
1800addf7:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
1800addfe:	89 4c 24 78          	mov    %ecx,0x78(%rsp)
1800ade02:	eb 71                	jmp    0x1800ade75
1800ade04:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
1800ade09:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800ade0e:	e8 6d 64 08 00       	call   0x180134280
1800ade13:	45 33 c0             	xor    %r8d,%r8d
1800ade16:	8b f8                	mov    %eax,%edi
1800ade18:	85 c0                	test   %eax,%eax
1800ade1a:	79 55                	jns    0x1800ade71
1800ade1c:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
1800ade23:	00
1800ade24:	8b 44 24 78          	mov    0x78(%rsp),%eax
1800ade28:	89 01                	mov    %eax,(%rcx)
1800ade2a:	e9 bc 00 00 00       	jmp    0x1800adeeb
1800ade2f:	49 83 ff 02          	cmp    $0x2,%r15
1800ade33:	0f 82 a3 00 00 00    	jb     0x1800adedc
1800ade39:	83 c1 fe             	add    $0xfffffffe,%ecx
1800ade3c:	8b c1                	mov    %ecx,%eax
1800ade3e:	48 03 c5             	add    %rbp,%rax
1800ade41:	89 4c 24 78          	mov    %ecx,0x78(%rsp)
1800ade45:	49 3b c6             	cmp    %r14,%rax
1800ade48:	76 09                	jbe    0x1800ade53
1800ade4a:	41 8b ce             	mov    %r14d,%ecx
1800ade4d:	2b cd                	sub    %ebp,%ecx
1800ade4f:	89 4c 24 78          	mov    %ecx,0x78(%rsp)
1800ade53:	44 8b c1             	mov    %ecx,%r8d
1800ade56:	48 8d 46 02          	lea    0x2(%rsi),%rax
1800ade5a:	49 03 c0             	add    %r8,%rax
1800ade5d:	49 3b c5             	cmp    %r13,%rax
1800ade60:	77 7a                	ja     0x1800adedc
1800ade62:	48 8d 56 02          	lea    0x2(%rsi),%rdx
1800ade66:	48 8b cd             	mov    %rbp,%rcx
1800ade69:	e8 52 7b 08 00       	call   0x1801359c0
1800ade6e:	45 33 c0             	xor    %r8d,%r8d
1800ade71:	8b 4c 24 78          	mov    0x78(%rsp),%ecx
1800ade75:	8b c1                	mov    %ecx,%eax
1800ade77:	49 03 f7             	add    %r15,%rsi
1800ade7a:	48 03 e8             	add    %rax,%rbp
1800ade7d:	49 3b ee             	cmp    %r14,%rbp
1800ade80:	74 45                	je     0x1800adec7
1800ade82:	49 8d 45 fe          	lea    -0x2(%r13),%rax
1800ade86:	48 3b f0             	cmp    %rax,%rsi
1800ade89:	77 3c                	ja     0x1800adec7
1800ade8b:	0f b7 1e             	movzwl (%rsi),%ebx
1800ade8e:	66 85 db             	test   %bx,%bx
1800ade91:	74 34                	je     0x1800adec7
1800ade93:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
1800ade99:	0f 83 04 ff ff ff    	jae    0x1800adda3
1800ade9f:	b8 00 10 00 00       	mov    $0x1000,%eax
1800adea4:	2b c1                	sub    %ecx,%eax
1800adea6:	4c 63 c0             	movslq %eax,%r8
1800adea9:	4d 8d 3c 28          	lea    (%r8,%rbp,1),%r15
1800adead:	4d 3b fe             	cmp    %r14,%r15
1800adeb0:	73 15                	jae    0x1800adec7
1800adeb2:	33 d2                	xor    %edx,%edx
1800adeb4:	48 8b cd             	mov    %rbp,%rcx
1800adeb7:	e8 c4 7d 08 00       	call   0x180135c80
1800adebc:	45 33 c0             	xor    %r8d,%r8d
1800adebf:	49 8b ef             	mov    %r15,%rbp
1800adec2:	e9 dc fe ff ff       	jmp    0x1800adda3
1800adec7:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1800adece:	00
1800adecf:	49 3b f5             	cmp    %r13,%rsi
1800aded2:	77 10                	ja     0x1800adee4
1800aded4:	2b 6c 24 70          	sub    0x70(%rsp),%ebp
1800aded8:	89 28                	mov    %ebp,(%rax)
1800adeda:	eb 0f                	jmp    0x1800adeeb
1800adedc:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1800adee3:	00
1800adee4:	bf 42 02 00 c0       	mov    $0xc0000242,%edi
1800adee9:	89 30                	mov    %esi,(%rax)
1800adeeb:	8b c7                	mov    %edi,%eax
1800adeed:	48 83 c4 30          	add    $0x30,%rsp
1800adef1:	41 5f                	pop    %r15
1800adef3:	41 5e                	pop    %r14
1800adef5:	41 5d                	pop    %r13
1800adef7:	5f                   	pop    %rdi
1800adef8:	5e                   	pop    %rsi
1800adef9:	5d                   	pop    %rbp
1800adefa:	5b                   	pop    %rbx
1800adefb:	c3                   	ret
1800adefc:	cc                   	int3
1800adefd:	cc                   	int3
1800adefe:	cc                   	int3
1800adeff:	cc                   	int3
1800adf00:	89 54 24 10          	mov    %edx,0x10(%rsp)
1800adf04:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800adf09:	55                   	push   %rbp
1800adf0a:	53                   	push   %rbx
1800adf0b:	56                   	push   %rsi
1800adf0c:	57                   	push   %rdi
1800adf0d:	41 54                	push   %r12
1800adf0f:	41 55                	push   %r13
1800adf11:	41 56                	push   %r14
1800adf13:	41 57                	push   %r15
1800adf15:	48 8b ec             	mov    %rsp,%rbp
1800adf18:	48 83 ec 48          	sub    $0x48,%rsp
1800adf1c:	44 8b 75 68          	mov    0x68(%rbp),%r14d
1800adf20:	33 f6                	xor    %esi,%esi
1800adf22:	45 8b e9             	mov    %r9d,%r13d
1800adf25:	49 8b f8             	mov    %r8,%rdi
1800adf28:	44 8b da             	mov    %edx,%r11d
1800adf2b:	4c 8b d1             	mov    %rcx,%r10
1800adf2e:	4c 03 d9             	add    %rcx,%r11
1800adf31:	8b de                	mov    %esi,%ebx
1800adf33:	4d 03 e8             	add    %r8,%r13
1800adf36:	4c 89 5d e8          	mov    %r11,-0x18(%rbp)
1800adf3a:	45 0f b7 00          	movzwl (%r8),%r8d
1800adf3e:	41 b9 00 10 00 00    	mov    $0x1000,%r9d
1800adf44:	eb 33                	jmp    0x1800adf79
1800adf46:	8b c8                	mov    %eax,%ecx
1800adf48:	48 03 cf             	add    %rdi,%rcx
1800adf4b:	49 3b cd             	cmp    %r13,%rcx
1800adf4e:	0f 87 c2 01 00 00    	ja     0x1800ae116
1800adf54:	41 81 c6 00 f0 ff ff 	add    $0xfffff000,%r14d
1800adf5b:	49 8d 45 fe          	lea    -0x2(%r13),%rax
1800adf5f:	48 8b f9             	mov    %rcx,%rdi
1800adf62:	48 3b c8             	cmp    %rax,%rcx
1800adf65:	0f 87 9b 01 00 00    	ja     0x1800ae106
1800adf6b:	44 0f b7 01          	movzwl (%rcx),%r8d
1800adf6f:	66 45 85 c0          	test   %r8w,%r8w
1800adf73:	0f 84 8d 01 00 00    	je     0x1800ae106
1800adf79:	41 8b c0             	mov    %r8d,%eax
1800adf7c:	44 89 4d 60          	mov    %r9d,0x60(%rbp)
1800adf80:	25 ff 0f 00 00       	and    $0xfff,%eax
1800adf85:	83 c0 03             	add    $0x3,%eax
1800adf88:	45 3b f1             	cmp    %r9d,%r14d
1800adf8b:	73 b9                	jae    0x1800adf46
1800adf8d:	44 8b f8             	mov    %eax,%r15d
1800adf90:	49 8b f2             	mov    %r10,%rsi
1800adf93:	48 03 c7             	add    %rdi,%rax
1800adf96:	49 3b c5             	cmp    %r13,%rax
1800adf99:	0f 87 77 01 00 00    	ja     0x1800ae116
1800adf9f:	44 8b 65 70          	mov    0x70(%rbp),%r12d
1800adfa3:	41 8b c1             	mov    %r9d,%eax
1800adfa6:	8b ca                	mov    %edx,%ecx
1800adfa8:	41 2b c6             	sub    %r14d,%eax
1800adfab:	3b c2                	cmp    %edx,%eax
1800adfad:	0f 42 c8             	cmovb  %eax,%ecx
1800adfb0:	89 4d 68             	mov    %ecx,0x68(%rbp)
1800adfb3:	66 45 85 c0          	test   %r8w,%r8w
1800adfb7:	0f 89 b2 00 00 00    	jns    0x1800ae06f
1800adfbd:	45 85 f6             	test   %r14d,%r14d
1800adfc0:	75 5b                	jne    0x1800ae01d
1800adfc2:	41 3b c9             	cmp    %r9d,%ecx
1800adfc5:	75 56                	jne    0x1800ae01d
1800adfc7:	4d 8d 0c 3f          	lea    (%r15,%rdi,1),%r9
1800adfcb:	49 8b d3             	mov    %r11,%rdx
1800adfce:	4c 8d 47 02          	lea    0x2(%rdi),%r8
1800adfd2:	48 8b ce             	mov    %rsi,%rcx
1800adfd5:	45 85 e4             	test   %r12d,%r12d
1800adfd8:	74 1d                	je     0x1800adff7
1800adfda:	48 8d 45 58          	lea    0x58(%rbp),%rax
1800adfde:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800adfe3:	e8 98 62 08 00       	call   0x180134280
1800adfe8:	8b d8                	mov    %eax,%ebx
1800adfea:	85 c0                	test   %eax,%eax
1800adfec:	78 21                	js     0x1800ae00f
1800adfee:	44 89 65 68          	mov    %r12d,0x68(%rbp)
1800adff2:	e9 a1 00 00 00       	jmp    0x1800ae098
1800adff7:	48 8d 45 68          	lea    0x68(%rbp),%rax
1800adffb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800ae000:	e8 7b 62 08 00       	call   0x180134280
1800ae005:	8b d8                	mov    %eax,%ebx
1800ae007:	85 c0                	test   %eax,%eax
1800ae009:	0f 89 89 00 00 00    	jns    0x1800ae098
1800ae00f:	8b 45 68             	mov    0x68(%rbp),%eax
1800ae012:	48 8b 4d 78          	mov    0x78(%rbp),%rcx
1800ae016:	89 01                	mov    %eax,(%rcx)
1800ae018:	e9 04 01 00 00       	jmp    0x1800ae121
1800ae01d:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
1800ae024:	48 8d 4d 60          	lea    0x60(%rbp),%rcx
1800ae028:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1800ae02d:	4d 8d 0c 3f          	lea    (%r15,%rdi,1),%r9
1800ae031:	4c 8d 47 02          	lea    0x2(%rdi),%r8
1800ae035:	48 8b c8             	mov    %rax,%rcx
1800ae038:	48 8d 90 00 10 00 00 	lea    0x1000(%rax),%rdx
1800ae03f:	e8 3c 62 08 00       	call   0x180134280
1800ae044:	8b d8                	mov    %eax,%ebx
1800ae046:	85 c0                	test   %eax,%eax
1800ae048:	0f 88 c0 00 00 00    	js     0x1800ae10e
1800ae04e:	8b 4d 60             	mov    0x60(%rbp),%ecx
1800ae051:	8b c1                	mov    %ecx,%eax
1800ae053:	41 8b d6             	mov    %r14d,%edx
1800ae056:	41 2b c6             	sub    %r14d,%eax
1800ae059:	48 03 95 80 00 00 00 	add    0x80(%rbp),%rdx
1800ae060:	3b 45 68             	cmp    0x68(%rbp),%eax
1800ae063:	0f 82 83 00 00 00    	jb     0x1800ae0ec
1800ae069:	44 8b 45 68          	mov    0x68(%rbp),%r8d
1800ae06d:	eb 21                	jmp    0x1800ae090
1800ae06f:	44 8b c1             	mov    %ecx,%r8d
1800ae072:	41 8b d6             	mov    %r14d,%edx
1800ae075:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1800ae079:	48 8d 4f 02          	lea    0x2(%rdi),%rcx
1800ae07d:	48 03 c8             	add    %rax,%rcx
1800ae080:	49 3b cd             	cmp    %r13,%rcx
1800ae083:	0f 87 8d 00 00 00    	ja     0x1800ae116
1800ae089:	48 83 c2 02          	add    $0x2,%rdx
1800ae08d:	48 03 d7             	add    %rdi,%rdx
1800ae090:	48 8b ce             	mov    %rsi,%rcx
1800ae093:	e8 28 79 08 00       	call   0x1801359c0
1800ae098:	8b 55 50             	mov    0x50(%rbp),%edx