180003cc2:	48 85 c0             	test   %rax,%rax
180003cc5:	74 c3                	je     0x180003c8a
180003cc7:	4c 8b c1             	mov    %rcx,%r8
180003cca:	48 8b d6             	mov    %rsi,%rdx
180003ccd:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
180003cd2:	e8 75 9f 12 00       	call   0x18012dc4c
180003cd7:	f7 d8                	neg    %eax
180003cd9:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
180003cde:	1b c9                	sbb    %ecx,%ecx
180003ce0:	23 c1                	and    %ecx,%eax
180003ce2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180003ce7:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
180003cec:	48 83 c4 30          	add    $0x30,%rsp
180003cf0:	5f                   	pop    %rdi
180003cf1:	c3                   	ret
180003cf2:	cc                   	int3
180003cf3:	cc                   	int3
180003cf4:	4c 8b dc             	mov    %rsp,%r11
180003cf7:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180003cfb:	49 89 6b 10          	mov    %rbp,0x10(%r11)
180003cff:	49 89 73 18          	mov    %rsi,0x18(%r11)
180003d03:	57                   	push   %rdi
180003d04:	41 56                	push   %r14
180003d06:	41 57                	push   %r15
180003d08:	48 83 ec 30          	sub    $0x30,%rsp
180003d0c:	48 8b 05 45 16 1a 00 	mov    0x1a1645(%rip),%rax        # 0x1801a5358
180003d13:	48 8b da             	mov    %rdx,%rbx
180003d16:	44 8b d1             	mov    %ecx,%r10d
180003d19:	49 8b d0             	mov    %r8,%rdx
180003d1c:	49 8d 4b d8          	lea    -0x28(%r11),%rcx
180003d20:	4d 8b f9             	mov    %r9,%r15
180003d23:	4a 8b 2c d0          	mov    (%rax,%r10,8),%rbp
180003d27:	48 83 c5 10          	add    $0x10,%rbp
180003d2b:	e8 94 99 07 00       	call   0x18007d6c4
180003d30:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
180003d35:	48 8b d3             	mov    %rbx,%rdx
180003d38:	48 8b cd             	mov    %rbp,%rcx
180003d3b:	e8 e4 b9 0f 00       	call   0x1800ff724
180003d40:	8b d0                	mov    %eax,%edx
180003d42:	83 f8 ff             	cmp    $0xffffffff,%eax
180003d45:	75 0a                	jne    0x180003d51
180003d47:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
180003d4c:	e9 83 00 00 00       	jmp    0x180003dd4
180003d51:	48 8b 45 08          	mov    0x8(%rbp),%rax
180003d55:	45 33 c0             	xor    %r8d,%r8d
180003d58:	48 8b cd             	mov    %rbp,%rcx
180003d5b:	ff d0                	call   *%rax
180003d5d:	0f 1f 00             	nopl   (%rax)
180003d60:	33 db                	xor    %ebx,%ebx
180003d62:	48 8b f0             	mov    %rax,%rsi
180003d65:	48 85 c0             	test   %rax,%rax
180003d68:	75 07                	jne    0x180003d71
180003d6a:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180003d6f:	eb 63                	jmp    0x180003dd4
180003d71:	b8 76 6b 00 00       	mov    $0x6b76,%eax
180003d76:	66 39 06             	cmp    %ax,(%rsi)
180003d79:	75 cc                	jne    0x180003d47
180003d7b:	8b 46 04             	mov    0x4(%rsi),%eax
180003d7e:	48 8d 56 08          	lea    0x8(%rsi),%rdx
180003d82:	b9 00 00 00 80       	mov    $0x80000000,%ecx
180003d87:	3b c1                	cmp    %ecx,%eax
180003d89:	8d b8 00 00 00 80    	lea    -0x80000000(%rax),%edi
180003d8f:	0f 42 f8             	cmovb  %eax,%edi
180003d92:	73 19                	jae    0x180003dad
180003d94:	48 8b 45 08          	mov    0x8(%rbp),%rax
180003d98:	45 33 c0             	xor    %r8d,%r8d
180003d9b:	8b 12                	mov    (%rdx),%edx
180003d9d:	48 8b cd             	mov    %rbp,%rcx
180003da0:	ff d0                	call   *%rax
180003da2:	0f 1f 00             	nopl   (%rax)
180003da5:	48 8b d0             	mov    %rax,%rdx
180003da8:	48 85 c0             	test   %rax,%rax
180003dab:	74 bd                	je     0x180003d6a
180003dad:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
180003db2:	41 3b 3e             	cmp    (%r14),%edi
180003db5:	76 07                	jbe    0x180003dbe
180003db7:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180003dbc:	eb 16                	jmp    0x180003dd4
180003dbe:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
180003dc3:	44 8b c7             	mov    %edi,%r8d
180003dc6:	e8 f5 1b 13 00       	call   0x1801359c0
180003dcb:	41 89 3e             	mov    %edi,(%r14)
180003dce:	8b 4e 0c             	mov    0xc(%rsi),%ecx
180003dd1:	41 89 0f             	mov    %ecx,(%r15)
180003dd4:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180003dd9:	8b c3                	mov    %ebx,%eax
180003ddb:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180003de0:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180003de5:	48 83 c4 30          	add    $0x30,%rsp
180003de9:	41 5f                	pop    %r15
180003deb:	41 5e                	pop    %r14
180003ded:	5f                   	pop    %rdi
180003dee:	c3                   	ret
180003def:	cc                   	int3
180003df0:	48 8b 05 61 15 1a 00 	mov    0x1a1561(%rip),%rax        # 0x1801a5358
180003df7:	45 33 c0             	xor    %r8d,%r8d
180003dfa:	8b d1                	mov    %ecx,%edx
180003dfc:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
180003e00:	48 8b 41 50          	mov    0x50(%rcx),%rax
180003e04:	48 83 c1 10          	add    $0x10,%rcx
180003e08:	8b 50 24             	mov    0x24(%rax),%edx
180003e0b:	48 8b 41 08          	mov    0x8(%rcx),%rax
180003e0f:	48 ff e0             	rex.W jmp *%rax
180003e12:	cc                   	int3
180003e13:	cc                   	int3
180003e14:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180003e19:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180003e1e:	55                   	push   %rbp
180003e1f:	56                   	push   %rsi
180003e20:	57                   	push   %rdi
180003e21:	41 54                	push   %r12
180003e23:	41 55                	push   %r13
180003e25:	41 56                	push   %r14
180003e27:	41 57                	push   %r15
180003e29:	48 8b ec             	mov    %rsp,%rbp
180003e2c:	48 83 ec 70          	sub    $0x70,%rsp
180003e30:	48 8b da             	mov    %rdx,%rbx
180003e33:	44 8b d1             	mov    %ecx,%r10d
180003e36:	33 d2                	xor    %edx,%edx
180003e38:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
180003e3c:	44 8b ea             	mov    %edx,%r13d
180003e3f:	e8 e8 bd 13 00       	call   0x18013fc2c
180003e44:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
180003e48:	44 8b fa             	mov    %edx,%r15d
180003e4b:	e8 dc bd 13 00       	call   0x18013fc2c
180003e50:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
180003e54:	e8 d3 bd 13 00       	call   0x18013fc2c
180003e59:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
180003e5d:	48 89 55 b8          	mov    %rdx,-0x48(%rbp)
180003e61:	8b f2                	mov    %edx,%esi
180003e63:	44 8b e2             	mov    %edx,%r12d
180003e66:	e8 c1 bd 13 00       	call   0x18013fc2c
180003e6b:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
180003e6f:	e8 b8 bd 13 00       	call   0x18013fc2c
180003e74:	48 8b 05 dd 14 1a 00 	mov    0x1a14dd(%rip),%rax        # 0x1801a5358
180003e7b:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
180003e7f:	49 8b d0             	mov    %r8,%rdx
180003e82:	4a 8b 3c d0          	mov    (%rax,%r10,8),%rdi
180003e86:	48 83 c7 10          	add    $0x10,%rdi
180003e8a:	e8 35 98 07 00       	call   0x18007d6c4
180003e8f:	4c 8d 45 c0          	lea    -0x40(%rbp),%r8
180003e93:	48 8b d3             	mov    %rbx,%rdx
180003e96:	48 8b cf             	mov    %rdi,%rcx
180003e99:	e8 86 b8 0f 00       	call   0x1800ff724
180003e9e:	8b d0                	mov    %eax,%edx
180003ea0:	83 f8 ff             	cmp    $0xffffffff,%eax
180003ea3:	75 0a                	jne    0x180003eaf
180003ea5:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
180003eaa:	e9 55 02 00 00       	jmp    0x180004104
180003eaf:	48 8b 47 08          	mov    0x8(%rdi),%rax
180003eb3:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
180003eb7:	48 8b cf             	mov    %rdi,%rcx
180003eba:	ff d0                	call   *%rax
180003ebc:	0f 1f 00             	nopl   (%rax)
180003ebf:	4c 8b f0             	mov    %rax,%r14
180003ec2:	48 85 c0             	test   %rax,%rax
180003ec5:	75 0a                	jne    0x180003ed1
180003ec7:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180003ecc:	e9 33 02 00 00       	jmp    0x180004104
180003ed1:	b8 76 6b 00 00       	mov    $0x6b76,%eax
180003ed6:	66 41 39 06          	cmp    %ax,(%r14)
180003eda:	74 0a                	je     0x180003ee6
180003edc:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
180003ee1:	e9 ec 01 00 00       	jmp    0x1800040d2
180003ee6:	41 8b 4e 04          	mov    0x4(%r14),%ecx
180003eea:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
180003ef0:	8d 81 00 00 00 80    	lea    -0x80000000(%rcx),%eax
180003ef6:	0f 42 c1             	cmovb  %ecx,%eax
180003ef9:	8b c8                	mov    %eax,%ecx
180003efb:	8b d8                	mov    %eax,%ebx
180003efd:	e8 4e 5f 09 00       	call   0x180099e50
180003f02:	33 c9                	xor    %ecx,%ecx
180003f04:	48 8b f0             	mov    %rax,%rsi
180003f07:	48 85 c0             	test   %rax,%rax
180003f0a:	75 0a                	jne    0x180003f16
180003f0c:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180003f11:	e9 bc 01 00 00       	jmp    0x1800040d2
180003f16:	41 81 7e 04 00 00 00 	cmpl   $0x80000000,0x4(%r14)
180003f1d:	80
180003f1e:	72 09                	jb     0x180003f29
180003f20:	49 8d 56 08          	lea    0x8(%r14),%rdx
180003f24:	e9 50 01 00 00       	jmp    0x180004079
180003f29:	83 bf d4 00 00 00 04 	cmpl   $0x4,0xd4(%rdi)
180003f30:	72 0f                	jb     0x180003f41
180003f32:	8d 83 27 c0 ff ff    	lea    -0x3fd9(%rbx),%eax
180003f38:	3d 26 c0 ff 7f       	cmp    $0x7fffc026,%eax
180003f3d:	b0 01                	mov    $0x1,%al
180003f3f:	76 02                	jbe    0x180003f43
180003f41:	8a c1                	mov    %cl,%al
180003f43:	41 8b 56 08          	mov    0x8(%r14),%edx
180003f47:	84 c0                	test   %al,%al
180003f49:	48 8b 47 08          	mov    0x8(%rdi),%rax
180003f4d:	48 8b cf             	mov    %rdi,%rcx
180003f50:	0f 84 04 01 00 00    	je     0x18000405a
180003f56:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
180003f5a:	ff d0                	call   *%rax
180003f5c:	0f 1f 00             	nopl   (%rax)
180003f5f:	4c 8b e8             	mov    %rax,%r13
180003f62:	48 85 c0             	test   %rax,%rax
180003f65:	75 0a                	jne    0x180003f71
180003f67:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180003f6c:	e9 61 01 00 00       	jmp    0x1800040d2
180003f71:	48 8b 47 08          	mov    0x8(%rdi),%rax
180003f75:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
180003f79:	41 8b 55 04          	mov    0x4(%r13),%edx
180003f7d:	48 8b cf             	mov    %rdi,%rcx
180003f80:	ff d0                	call   *%rax
180003f82:	0f 1f 00             	nopl   (%rax)
180003f85:	45 33 c0             	xor    %r8d,%r8d
180003f88:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
180003f8c:	48 8b c8             	mov    %rax,%rcx
180003f8f:	48 85 c0             	test   %rax,%rax
180003f92:	75 0a                	jne    0x180003f9e
180003f94:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180003f99:	e9 1f 01 00 00       	jmp    0x1800040bd
180003f9e:	41 0f b7 c0          	movzwl %r8w,%eax
180003fa2:	45 8b 66 04          	mov    0x4(%r14),%r12d
180003fa6:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
180003faa:	66 89 45 40          	mov    %ax,0x40(%rbp)
180003fae:	4e 8d 3c 26          	lea    (%rsi,%r12,1),%r15
180003fb2:	66 45 3b 45 02       	cmp    0x2(%r13),%r8w
180003fb7:	0f 83 8c 00 00 00    	jae    0x180004049
180003fbd:	0f b7 c0             	movzwl %ax,%eax
180003fc0:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
180003fc4:	8b 14 81             	mov    (%rcx,%rax,4),%edx
180003fc7:	48 8b cf             	mov    %rdi,%rcx
180003fca:	48 8b 47 08          	mov    0x8(%rdi),%rax
180003fce:	ff d0                	call   *%rax
180003fd0:	0f 1f 00             	nopl   (%rax)
180003fd3:	4c 8b c8             	mov    %rax,%r9
180003fd6:	48 85 c0             	test   %rax,%rax
180003fd9:	74 74                	je     0x18000404f
180003fdb:	b8 d8 3f 00 00       	mov    $0x3fd8,%eax
180003fe0:	41 8b d4             	mov    %r12d,%edx
180003fe3:	44 3b e0             	cmp    %eax,%r12d
180003fe6:	0f 47 d0             	cmova  %eax,%edx
180003fe9:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
180003fed:	49 3b c7             	cmp    %r15,%rax
180003ff0:	73 5d                	jae    0x18000404f
180003ff2:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
180003ff6:	44 8b c2             	mov    %edx,%r8d
180003ff9:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
180003ffd:	49 3b cf             	cmp    %r15,%rcx
180004000:	77 4d                	ja     0x18000404f
180004002:	49 8b d1             	mov    %r9,%rdx
180004005:	48 8b c8             	mov    %rax,%rcx
180004008:	e8 b3 19 13 00       	call   0x1801359c0
18000400d:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
180004011:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
180004015:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
180004019:	48 8b cf             	mov    %rdi,%rcx
18000401c:	48 8b 47 10          	mov    0x10(%rdi),%rax
180004020:	41 81 c4 28 c0 ff ff 	add    $0xffffc028,%r12d
180004027:	ff d0                	call   *%rax
180004029:	0f 1f 00             	nopl   (%rax)
18000402c:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
180004030:	48 8b 4d b0          	mov    -0x50(%rbp),%rcx
180004034:	66 ff c0             	inc    %ax
180004037:	66 89 45 40          	mov    %ax,0x40(%rbp)
18000403b:	66 41 3b 45 02       	cmp    0x2(%r13),%ax
180004040:	0f 82 77 ff ff ff    	jb     0x180003fbd
180004046:	45 33 c0             	xor    %r8d,%r8d
180004049:	4c 8b 7d b0          	mov    -0x50(%rbp),%r15
18000404d:	eb 38                	jmp    0x180004087
18000404f:	4c 8b 7d b0          	mov    -0x50(%rbp),%r15
180004053:	bb 4c 01 00 c0       	mov    $0xc000014c,%ebx
180004058:	eb 4a                	jmp    0x1800040a4
18000405a:	41 8b 5e 04          	mov    0x4(%r14),%ebx
18000405e:	45 33 c0             	xor    %r8d,%r8d
180004061:	ff d0                	call   *%rax
180004063:	0f 1f 00             	nopl   (%rax)
180004066:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
18000406a:	4c 8b e0             	mov    %rax,%r12
18000406d:	48 85 c0             	test   %rax,%rax
180004070:	0f 84 f1 fe ff ff    	je     0x180003f67
180004076:	48 8b d0             	mov    %rax,%rdx
180004079:	4c 8b c3             	mov    %rbx,%r8
18000407c:	48 8b ce             	mov    %rsi,%rcx
18000407f:	e8 3c 19 13 00       	call   0x1801359c0
180004084:	45 33 c0             	xor    %r8d,%r8d
180004087:	48 8b 45 60          	mov    0x60(%rbp),%rax
18000408b:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
18000408f:	48 89 30             	mov    %rsi,(%rax)
180004092:	49 8b f0             	mov    %r8,%rsi
180004095:	48 8b 45 68          	mov    0x68(%rbp),%rax
180004099:	89 18                	mov    %ebx,(%rax)
18000409b:	41 8b d8             	mov    %r8d,%ebx
18000409e:	41 8b 46 0c          	mov    0xc(%r14),%eax
1800040a2:	89 01                	mov    %eax,(%rcx)
1800040a4:	4d 85 ff             	test   %r15,%r15
1800040a7:	74 10                	je     0x1800040b9
1800040a9:	48 8b 47 10          	mov    0x10(%rdi),%rax
1800040ad:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
1800040b1:	48 8b cf             	mov    %rdi,%rcx
1800040b4:	ff d0                	call   *%rax
1800040b6:	0f 1f 00             	nopl   (%rax)
1800040b9:	4c 8b 65 b8          	mov    -0x48(%rbp),%r12
1800040bd:	4d 85 ed             	test   %r13,%r13
1800040c0:	74 10                	je     0x1800040d2
1800040c2:	48 8b 47 10          	mov    0x10(%rdi),%rax
1800040c6:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1800040ca:	48 8b cf             	mov    %rdi,%rcx
1800040cd:	ff d0                	call   *%rax
1800040cf:	0f 1f 00             	nopl   (%rax)
1800040d2:	48 8b 47 10          	mov    0x10(%rdi),%rax
1800040d6:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1800040da:	48 8b cf             	mov    %rdi,%rcx
1800040dd:	ff d0                	call   *%rax
1800040df:	0f 1f 00             	nopl   (%rax)
1800040e2:	4d 85 e4             	test   %r12,%r12
1800040e5:	74 10                	je     0x1800040f7
1800040e7:	48 8b 47 10          	mov    0x10(%rdi),%rax
1800040eb:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1800040ef:	48 8b cf             	mov    %rdi,%rcx
1800040f2:	ff d0                	call   *%rax
1800040f4:	0f 1f 00             	nopl   (%rax)
1800040f7:	48 85 f6             	test   %rsi,%rsi
1800040fa:	74 08                	je     0x180004104
1800040fc:	48 8b ce             	mov    %rsi,%rcx
1800040ff:	e8 f8 5e 09 00       	call   0x180099ffc
180004104:	8b c3                	mov    %ebx,%eax
180004106:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
18000410d:	00
18000410e:	48 83 c4 70          	add    $0x70,%rsp
180004112:	41 5f                	pop    %r15
180004114:	41 5e                	pop    %r14
180004116:	41 5d                	pop    %r13
180004118:	41 5c                	pop    %r12
18000411a:	5f                   	pop    %rdi
18000411b:	5e                   	pop    %rsi
18000411c:	5d                   	pop    %rbp
18000411d:	c3                   	ret
18000411e:	cc                   	int3
18000411f:	cc                   	int3
180004120:	4c 8b dc             	mov    %rsp,%r11
180004123:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180004127:	57                   	push   %rdi
180004128:	48 83 ec 40          	sub    $0x40,%rsp
18000412c:	49 83 63 f0 00       	andq   $0x0,-0x10(%r11)
180004131:	49 8d 43 ec          	lea    -0x14(%r11),%rax
180004135:	49 89 43 e0          	mov    %rax,-0x20(%r11)
180004139:	49 8b f9             	mov    %r9,%rdi
18000413c:	49 8d 43 f0          	lea    -0x10(%r11),%rax
180004140:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
180004144:	49 89 43 d8          	mov    %rax,-0x28(%r11)
180004148:	e8 c7 fc ff ff       	call   0x180003e14
18000414d:	8b d8                	mov    %eax,%ebx
18000414f:	85 c0                	test   %eax,%eax
180004151:	78 0c                	js     0x18000415f
180004153:	83 7c 24 30 03       	cmpl   $0x3,0x30(%rsp)