18003ada7:	e8 d4 ae 0f 00       	call   0x180135c80
18003adac:	80 bc 24 a0 00 00 00 	cmpb   $0x0,0xa0(%rsp)
18003adb3:	00
18003adb4:	0f 57 c0             	xorps  %xmm0,%xmm0
18003adb7:	0f 11 07             	movups %xmm0,(%rdi)
18003adba:	75 10                	jne    0x18003adcc
18003adbc:	45 8b c5             	mov    %r13d,%r8d
18003adbf:	48 8b d6             	mov    %rsi,%rdx
18003adc2:	b9 00 00 03 00       	mov    $0x30000,%ecx
18003adc7:	e8 f4 ab 0f 00       	call   0x1801359c0
18003adcc:	0f b6 84 24 80 00 00 	movzbl 0x80(%rsp),%eax
18003add3:	00
18003add4:	49 8b d6             	mov    %r14,%rdx
18003add7:	66 89 47 02          	mov    %ax,0x2(%rdi)
18003addb:	8b 44 24 24          	mov    0x24(%rsp),%eax
18003addf:	c6 07 10             	movb   $0x10,(%rdi)
18003ade2:	4c 89 7f 08          	mov    %r15,0x8(%rdi)
18003ade6:	c7 47 04 00 00 00 30 	movl   $0x30000000,0x4(%rdi)
18003aded:	41 89 46 10          	mov    %eax,0x10(%r14)
18003adf1:	48 8b c7             	mov    %rdi,%rax
18003adf4:	48 c1 e8 04          	shr    $0x4,%rax
18003adf8:	83 e7 0f             	and    $0xf,%edi
18003adfb:	0f b7 c0             	movzwl %ax,%eax
18003adfe:	41 89 46 28          	mov    %eax,0x28(%r14)
18003ae02:	48 8b 05 97 a1 16 00 	mov    0x16a197(%rip),%rax        # 0x1801a4fa0
18003ae09:	41 c7 06 13 00 00 00 	movl   $0x13,(%r14)
18003ae10:	41 89 6e 04          	mov    %ebp,0x4(%r14)
18003ae14:	41 89 7e 1c          	mov    %edi,0x1c(%r14)
18003ae18:	8b 08                	mov    (%rax),%ecx
18003ae1a:	e8 f1 8f 0f 00       	call   0x180133e10
18003ae1f:	41 f6 46 3c 01       	testb  $0x1,0x3c(%r14)
18003ae24:	0f 85 33 02 00 00    	jne    0x18003b05d
18003ae2a:	33 ff                	xor    %edi,%edi
18003ae2c:	40 38 bc 24 a0 00 00 	cmp    %dil,0xa0(%rsp)
18003ae33:	00
18003ae34:	74 10                	je     0x18003ae46
18003ae36:	4d 8b c5             	mov    %r13,%r8
18003ae39:	ba 00 00 03 00       	mov    $0x30000,%edx
18003ae3e:	48 8b ce             	mov    %rsi,%rcx
18003ae41:	e8 7a ab 0f 00       	call   0x1801359c0
18003ae46:	0f b6 84 24 80 00 00 	movzbl 0x80(%rsp),%eax
18003ae4d:	00
18003ae4e:	49 03 f5             	add    %r13,%rsi
18003ae51:	4c 03 f8             	add    %rax,%r15
18003ae54:	48 2b d8             	sub    %rax,%rbx
18003ae57:	0f 84 fc 01 00 00    	je     0x18003b059
18003ae5d:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
18003ae62:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
18003ae67:	e9 09 ff ff ff       	jmp    0x18003ad75
18003ae6c:	8b 69 58             	mov    0x58(%rcx),%ebp
18003ae6f:	48 85 ed             	test   %rbp,%rbp
18003ae72:	0f 84 e5 01 00 00    	je     0x18003b05d
18003ae78:	44 8b 69 5c          	mov    0x5c(%rcx),%r13d
18003ae7c:	4d 85 ed             	test   %r13,%r13
18003ae7f:	0f 84 d8 01 00 00    	je     0x18003b05d
18003ae85:	33 d2                	xor    %edx,%edx
18003ae87:	49 8b c7             	mov    %r15,%rax
18003ae8a:	41 8b cd             	mov    %r13d,%ecx
18003ae8d:	48 0f af cd          	imul   %rbp,%rcx
18003ae91:	48 f7 f1             	div    %rcx
18003ae94:	33 d2                	xor    %edx,%edx
18003ae96:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
18003ae9b:	49 8b c7             	mov    %r15,%rax
18003ae9e:	48 f7 f5             	div    %rbp
18003aea1:	41 bf 01 00 00 00    	mov    $0x1,%r15d
18003aea7:	48 8b fa             	mov    %rdx,%rdi
18003aeaa:	33 d2                	xor    %edx,%edx
18003aeac:	49 f7 f5             	div    %r13
18003aeaf:	41 02 ff             	add    %r15b,%dil
18003aeb2:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
18003aeb7:	48 85 db             	test   %rbx,%rbx
18003aeba:	0f 84 99 01 00 00    	je     0x18003b059
18003aec0:	8a 84 24 a0 00 00 00 	mov    0xa0(%rsp),%al
18003aec7:	4c 8d 55 01          	lea    0x1(%rbp),%r10
18003aecb:	f6 d8                	neg    %al
18003aecd:	41 0f b6 d4          	movzbl %r12b,%edx
18003aed1:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
18003aed6:	1b c0                	sbb    %eax,%eax
18003aed8:	25 00 ff ff ff       	and    $0xffffff00,%eax
18003aedd:	05 00 03 00 00       	add    $0x300,%eax
18003aee2:	89 84 24 80 00 00 00 	mov    %eax,0x80(%rsp)
18003aee9:	41 0f b6 c0          	movzbl %r8b,%eax
18003aeed:	89 44 24 28          	mov    %eax,0x28(%rsp)
18003aef1:	48 3b da             	cmp    %rdx,%rbx
18003aef4:	41 0f b6 cc          	movzbl %r12b,%ecx
18003aef8:	0f b6 c3             	movzbl %bl,%eax
18003aefb:	0f 42 c8             	cmovb  %eax,%ecx
18003aefe:	44 0f b6 f1          	movzbl %cl,%r14d
18003af02:	40 0f b6 cf          	movzbl %dil,%ecx
18003af06:	49 03 ce             	add    %r14,%rcx
18003af09:	4c 3b d1             	cmp    %rcx,%r10
18003af0c:	73 09                	jae    0x18003af17
18003af0e:	44 8a f5             	mov    %bpl,%r14b
18003af11:	44 2a f7             	sub    %dil,%r14b
18003af14:	45 02 f7             	add    %r15b,%r14b
18003af17:	41 0f b6 c6          	movzbl %r14b,%eax
18003af1b:	33 d2                	xor    %edx,%edx
18003af1d:	89 44 24 24          	mov    %eax,0x24(%rsp)
18003af21:	41 0f af c1          	imul   %r9d,%eax
18003af25:	44 8d 42 40          	lea    0x40(%rdx),%r8d
18003af29:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
18003af2e:	4c 8d b8 00 00 03 00 	lea    0x30000(%rax),%r15
18003af35:	49 8b cf             	mov    %r15,%rcx
18003af38:	e8 43 ad 0f 00       	call   0x180135c80
18003af3d:	33 c0                	xor    %eax,%eax
18003af3f:	38 84 24 a0 00 00 00 	cmp    %al,0xa0(%rsp)
18003af46:	75 12                	jne    0x18003af5a
18003af48:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
18003af4d:	48 8b d6             	mov    %rsi,%rdx
18003af50:	b9 00 00 03 00       	mov    $0x30000,%ecx
18003af55:	e8 66 aa 0f 00       	call   0x1801359c0
18003af5a:	8b 84 24 80 00 00 00 	mov    0x80(%rsp),%eax
18003af61:	49 8b d7             	mov    %r15,%rdx
18003af64:	0b 44 24 24          	or     0x24(%rsp),%eax
18003af68:	41 89 47 04          	mov    %eax,0x4(%r15)
18003af6c:	33 c0                	xor    %eax,%eax
18003af6e:	41 89 47 08          	mov    %eax,0x8(%r15)
18003af72:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
18003af77:	0f b6 c8             	movzbl %al,%ecx
18003af7a:	c1 e8 02             	shr    $0x2,%eax
18003af7d:	25 c0 00 00 00       	and    $0xc0,%eax
18003af82:	c1 e1 08             	shl    $0x8,%ecx
18003af85:	0b c8                	or     %eax,%ecx
18003af87:	41 c7 07 13 00 00 00 	movl   $0x13,(%r15)
18003af8e:	40 0f b6 c7          	movzbl %dil,%eax
18003af92:	83 e0 3f             	and    $0x3f,%eax
18003af95:	41 c7 47 30 00 30 00 	movl   $0x3000,0x30(%r15)
18003af9c:	00
18003af9d:	0b c8                	or     %eax,%ecx
18003af9f:	0f b6 44 24 30       	movzbl 0x30(%rsp),%eax
18003afa4:	c1 e0 08             	shl    $0x8,%eax
18003afa7:	0b 44 24 28          	or     0x28(%rsp),%eax
18003afab:	41 89 47 10          	mov    %eax,0x10(%r15)
18003afaf:	48 8b 05 ea 9f 16 00 	mov    0x169fea(%rip),%rax        # 0x1801a4fa0
18003afb6:	41 89 4f 0c          	mov    %ecx,0xc(%r15)
18003afba:	8b 08                	mov    (%rax),%ecx
18003afbc:	e8 4f 8e 0f 00       	call   0x180133e10
18003afc1:	41 f6 47 3c 01       	testb  $0x1,0x3c(%r15)
18003afc6:	74 0b                	je     0x18003afd3
18003afc8:	41 80 7f 05 11       	cmpb   $0x11,0x5(%r15)
18003afcd:	0f 85 8a 00 00 00    	jne    0x18003b05d
18003afd3:	45 33 db             	xor    %r11d,%r11d
18003afd6:	44 38 9c 24 a0 00 00 	cmp    %r11b,0xa0(%rsp)
18003afdd:	00
18003afde:	74 15                	je     0x18003aff5
18003afe0:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
18003afe5:	ba 00 00 03 00       	mov    $0x30000,%edx
18003afea:	48 8b ce             	mov    %rsi,%rcx
18003afed:	e8 ce a9 0f 00       	call   0x1801359c0
18003aff2:	45 33 db             	xor    %r11d,%r11d
18003aff5:	48 03 74 24 38       	add    0x38(%rsp),%rsi
18003affa:	41 02 fe             	add    %r14b,%dil
18003affd:	41 0f b6 c6          	movzbl %r14b,%eax
18003b001:	33 d2                	xor    %edx,%edx
18003b003:	48 2b d8             	sub    %rax,%rbx
18003b006:	41 bf 01 00 00 00    	mov    $0x1,%r15d
18003b00c:	40 0f b6 c7          	movzbl %dil,%eax
18003b010:	49 2b c7             	sub    %r15,%rax
18003b013:	48 f7 f5             	div    %rbp
18003b016:	48 85 d2             	test   %rdx,%rdx
18003b019:	75 27                	jne    0x18003b042
18003b01b:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18003b020:	41 8a ff             	mov    %r15b,%dil
18003b023:	45 02 c7             	add    %r15b,%r8b
18003b026:	41 0f b6 c0          	movzbl %r8b,%eax
18003b02a:	49 f7 f5             	div    %r13
18003b02d:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18003b032:	48 85 d2             	test   %rdx,%rdx
18003b035:	75 0b                	jne    0x18003b042
18003b037:	66 44 01 7c 24 40    	add    %r15w,0x40(%rsp)
18003b03d:	44 88 5c 24 30       	mov    %r11b,0x30(%rsp)
18003b042:	44 8b 4c 24 20       	mov    0x20(%rsp),%r9d
18003b047:	4c 8d 55 01          	lea    0x1(%rbp),%r10
18003b04b:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
18003b050:	48 85 db             	test   %rbx,%rbx
18003b053:	0f 85 98 fe ff ff    	jne    0x18003aef1
18003b059:	33 c0                	xor    %eax,%eax
18003b05b:	eb 05                	jmp    0x18003b062
18003b05d:	b8 e9 00 00 c0       	mov    $0xc00000e9,%eax
18003b062:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18003b067:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18003b06b:	49 8b 6b 40          	mov    0x40(%r11),%rbp
18003b06f:	49 8b 73 48          	mov    0x48(%r11),%rsi
18003b073:	49 8b e3             	mov    %r11,%rsp
18003b076:	41 5f                	pop    %r15
18003b078:	41 5e                	pop    %r14
18003b07a:	41 5d                	pop    %r13
18003b07c:	41 5c                	pop    %r12
18003b07e:	5f                   	pop    %rdi
18003b07f:	c3                   	ret
18003b080:	cc                   	int3
18003b081:	cc                   	int3
18003b082:	cc                   	int3
18003b083:	cc                   	int3
18003b084:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18003b089:	55                   	push   %rbp
18003b08a:	56                   	push   %rsi
18003b08b:	57                   	push   %rdi
18003b08c:	41 54                	push   %r12
18003b08e:	41 55                	push   %r13
18003b090:	41 56                	push   %r14
18003b092:	41 57                	push   %r15
18003b094:	48 8b ec             	mov    %rsp,%rbp
18003b097:	48 83 ec 40          	sub    $0x40,%rsp
18003b09b:	83 c8 ff             	or     $0xffffffff,%eax
18003b09e:	45 33 ff             	xor    %r15d,%r15d
18003b0a1:	89 45 50             	mov    %eax,0x50(%rbp)
18003b0a4:	48 8b f2             	mov    %rdx,%rsi
18003b0a7:	89 45 40             	mov    %eax,0x40(%rbp)
18003b0aa:	48 8b d9             	mov    %rcx,%rbx
18003b0ad:	4c 89 7d 58          	mov    %r15,0x58(%rbp)
18003b0b1:	41 8d 47 10          	lea    0x10(%r15),%eax
18003b0b5:	39 41 18             	cmp    %eax,0x18(%rcx)
18003b0b8:	0f 82 ac 01 00 00    	jb     0x18003b26a
18003b0be:	8b 49 18             	mov    0x18(%rcx),%ecx
18003b0c1:	8b 43 08             	mov    0x8(%rbx),%eax
18003b0c4:	48 83 c1 14          	add    $0x14,%rcx
18003b0c8:	48 3b c1             	cmp    %rcx,%rax
18003b0cb:	0f 82 99 01 00 00    	jb     0x18003b26a
18003b0d1:	48 83 c3 20          	add    $0x20,%rbx
18003b0d5:	74 09                	je     0x18003b0e0
18003b0d7:	44 8b 73 08          	mov    0x8(%rbx),%r14d
18003b0db:	4c 03 f3             	add    %rbx,%r14
18003b0de:	eb 03                	jmp    0x18003b0e3
18003b0e0:	45 33 f6             	xor    %r14d,%r14d
18003b0e3:	45 33 c0             	xor    %r8d,%r8d
18003b0e6:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
18003b0ea:	48 8b cb             	mov    %rbx,%rcx
18003b0ed:	41 8d 78 03          	lea    0x3(%r8),%edi
18003b0f1:	8b d7                	mov    %edi,%edx
18003b0f3:	e8 18 c1 fe ff       	call   0x180027210
18003b0f8:	44 8b 65 50          	mov    0x50(%rbp),%r12d
18003b0fc:	85 c0                	test   %eax,%eax
18003b0fe:	79 0a                	jns    0x18003b10a
18003b100:	bb 0e 00 00 c0       	mov    $0xc000000e,%ebx
18003b105:	e9 41 01 00 00       	jmp    0x18003b24b
18003b10a:	4c 8d 4d 40          	lea    0x40(%rbp),%r9
18003b10e:	44 8b c7             	mov    %edi,%r8d
18003b111:	49 8b d6             	mov    %r14,%rdx
18003b114:	41 8b cc             	mov    %r12d,%ecx
18003b117:	e8 00 d3 02 00       	call   0x18006841c
18003b11c:	85 c0                	test   %eax,%eax
18003b11e:	79 0a                	jns    0x18003b12a
18003b120:	bb 0f 00 00 c0       	mov    $0xc000000f,%ebx
18003b125:	e9 12 01 00 00       	jmp    0x18003b23c
18003b12a:	44 8b 6d 40          	mov    0x40(%rbp),%r13d
18003b12e:	48 8d 05 53 01 00 00 	lea    0x153(%rip),%rax        # 0x18003b288
18003b135:	48 8b be 80 00 00 00 	mov    0x80(%rsi),%rdi
18003b13c:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
18003b140:	48 89 46 40          	mov    %rax,0x40(%rsi)
18003b144:	41 8b cd             	mov    %r13d,%ecx
18003b147:	48 8d 05 92 01 00 00 	lea    0x192(%rip),%rax        # 0x18003b2e0
18003b14e:	48 89 46 48          	mov    %rax,0x48(%rsi)
18003b152:	48 8d 05 cf 01 00 00 	lea    0x1cf(%rip),%rax        # 0x18003b328
18003b159:	48 89 46 50          	mov    %rax,0x50(%rsi)
18003b15d:	e8 b6 db 02 00       	call   0x180068d18
18003b162:	33 c9                	xor    %ecx,%ecx
18003b164:	85 c0                	test   %eax,%eax
18003b166:	79 0a                	jns    0x18003b172
18003b168:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18003b16d:	e9 ca 00 00 00       	jmp    0x18003b23c
18003b172:	b8 01 00 00 00       	mov    $0x1,%eax
18003b177:	48 c7 47 20 05 00 00 	movq   $0x5,0x20(%rdi)
18003b17e:	00
18003b17f:	89 47 30             	mov    %eax,0x30(%rdi)
18003b182:	89 47 34             	mov    %eax,0x34(%rdi)
18003b185:	89 4f 28             	mov    %ecx,0x28(%rdi)
18003b188:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
18003b18c:	48 ff c8             	dec    %rax
18003b18f:	48 89 47 38          	mov    %rax,0x38(%rdi)
18003b193:	39 0b                	cmp    %ecx,(%rbx)
18003b195:	75 11                	jne    0x18003b1a8
18003b197:	83 7b 10 03          	cmpl   $0x3,0x10(%rbx)
18003b19b:	8b c1                	mov    %ecx,%eax
18003b19d:	b9 10 00 00 00       	mov    $0x10,%ecx
18003b1a2:	0f 44 c1             	cmove  %ecx,%eax
18003b1a5:	89 47 24             	mov    %eax,0x24(%rdi)
18003b1a8:	48 8d 57 2c          	lea    0x2c(%rdi),%rdx
18003b1ac:	44 89 27             	mov    %r12d,(%rdi)
18003b1af:	48 8b ce             	mov    %rsi,%rcx
18003b1b2:	44 89 6f 04          	mov    %r13d,0x4(%rdi)
18003b1b6:	e8 11 a7 ff ff       	call   0x1800358cc
18003b1bb:	8b d8                	mov    %eax,%ebx
18003b1bd:	85 c0                	test   %eax,%eax
18003b1bf:	78 7b                	js     0x18003b23c
18003b1c1:	8b 47 2c             	mov    0x2c(%rdi),%eax
18003b1c4:	85 c0                	test   %eax,%eax
18003b1c6:	74 13                	je     0x18003b1db
18003b1c8:	83 f8 01             	cmp    $0x1,%eax
18003b1cb:	75 1f                	jne    0x18003b1ec
18003b1cd:	48 8d 57 64          	lea    0x64(%rdi),%rdx
18003b1d1:	48 8b ce             	mov    %rsi,%rcx
18003b1d4:	e8 03 aa ff ff       	call   0x180035bdc
18003b1d9:	eb 0f                	jmp    0x18003b1ea
18003b1db:	48 8d 57 64          	lea    0x64(%rdi),%rdx
18003b1df:	45 33 c0             	xor    %r8d,%r8d
18003b1e2:	48 8b ce             	mov    %rsi,%rcx
18003b1e5:	e8 06 a9 ff ff       	call   0x180035af0
18003b1ea:	8b d8                	mov    %eax,%ebx
18003b1ec:	85 db                	test   %ebx,%ebx
18003b1ee:	78 4c                	js     0x18003b23c
18003b1f0:	48 8d 55 50          	lea    0x50(%rbp),%rdx
18003b1f4:	41 8b cc             	mov    %r12d,%ecx
18003b1f7:	e8 c4 bc fe ff       	call   0x180026ec0
18003b1fc:	8b d8                	mov    %eax,%ebx
18003b1fe:	85 c0                	test   %eax,%eax
18003b200:	78 3a                	js     0x18003b23c
18003b202:	48 8b 4d 50          	mov    0x50(%rbp),%rcx
18003b206:	4c 8d 45 58          	lea    0x58(%rbp),%r8
18003b20a:	49 8b d6             	mov    %r14,%rdx
18003b20d:	e8 56 01 00 00       	call   0x18003b368
18003b212:	8b d8                	mov    %eax,%ebx
18003b214:	85 c0                	test   %eax,%eax
18003b216:	78 20                	js     0x18003b238
18003b218:	48 8b 8e 88 00 00 00 	mov    0x88(%rsi),%rcx
18003b21f:	48 85 c9             	test   %rcx,%rcx
18003b222:	74 05                	je     0x18003b229
18003b224:	e8 d3 ed 05 00       	call   0x180099ffc
18003b229:	48 8b 45 58          	mov    0x58(%rbp),%rax
18003b22d:	48 89 86 88 00 00 00 	mov    %rax,0x88(%rsi)
18003b234:	33 c0                	xor    %eax,%eax
18003b236:	eb 37                	jmp    0x18003b26f
18003b238:	4c 8b 7d 58          	mov    0x58(%rbp),%r15
18003b23c:	8b 45 40             	mov    0x40(%rbp),%eax
18003b23f:	83 f8 ff             	cmp    $0xffffffff,%eax
18003b242:	74 07                	je     0x18003b24b
18003b244:	8b c8                	mov    %eax,%ecx
18003b246:	e8 b5 d2 02 00       	call   0x180068500
18003b24b:	41 83 fc ff          	cmp    $0xffffffff,%r12d
18003b24f:	74 08                	je     0x18003b259
18003b251:	41 8b cc             	mov    %r12d,%ecx
18003b254:	e8 5f b7 fe ff       	call   0x1800269b8
18003b259:	4d 85 ff             	test   %r15,%r15
18003b25c:	74 08                	je     0x18003b266
18003b25e:	49 8b cf             	mov    %r15,%rcx
18003b261:	e8 96 ed 05 00       	call   0x180099ffc
18003b266:	8b c3                	mov    %ebx,%eax
18003b268:	eb 05                	jmp    0x18003b26f
18003b26a:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18003b26f:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
18003b276:	00
18003b277:	48 83 c4 40          	add    $0x40,%rsp
18003b27b:	41 5f                	pop    %r15
18003b27d:	41 5e                	pop    %r14
18003b27f:	41 5d                	pop    %r13
18003b281:	41 5c                	pop    %r12
18003b283:	5f                   	pop    %rdi
18003b284:	5e                   	pop    %rsi
18003b285:	5d                   	pop    %rbp
18003b286:	c3                   	ret