1401a2c90:	48 83 ec 28          	sub    $0x28,%rsp
1401a2c94:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a2c98:	48 83 39 40          	cmpq   $0x40,(%rcx)
1401a2c9c:	72 15                	jb     0x1401a2cb3
1401a2c9e:	48 8b 41 38          	mov    0x38(%rcx),%rax
1401a2ca2:	48 85 c0             	test   %rax,%rax
1401a2ca5:	74 0c                	je     0x1401a2cb3
1401a2ca7:	ff d0                	call   *%rax
1401a2ca9:	85 c0                	test   %eax,%eax
1401a2cab:	0f 95 c0             	setne  %al
1401a2cae:	48 83 c4 28          	add    $0x28,%rsp
1401a2cb2:	c3                   	ret
1401a2cb3:	32 c0                	xor    %al,%al
1401a2cb5:	48 83 c4 28          	add    $0x28,%rsp
1401a2cb9:	c3                   	ret
1401a2cba:	cc                   	int3
1401a2cbb:	cc                   	int3
1401a2cbc:	cc                   	int3
1401a2cbd:	cc                   	int3
1401a2cbe:	cc                   	int3
1401a2cbf:	cc                   	int3
1401a2cc0:	40 53                	rex push %rbx
1401a2cc2:	48 83 ec 30          	sub    $0x30,%rsp
1401a2cc6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401a2cca:	48 8b da             	mov    %rdx,%rbx
1401a2ccd:	33 d2                	xor    %edx,%edx
1401a2ccf:	48 83 39 48          	cmpq   $0x48,(%rcx)
1401a2cd3:	72 1f                	jb     0x1401a2cf4
1401a2cd5:	48 8b 41 40          	mov    0x40(%rcx),%rax
1401a2cd9:	48 85 c0             	test   %rax,%rax
1401a2cdc:	74 16                	je     0x1401a2cf4
1401a2cde:	ff d0                	call   *%rax
1401a2ce0:	48 8b d0             	mov    %rax,%rdx
1401a2ce3:	48 8b cb             	mov    %rbx,%rcx
1401a2ce6:	e8 05 5f 01 00       	call   0x1401b8bf0
1401a2ceb:	48 8b c3             	mov    %rbx,%rax
1401a2cee:	48 83 c4 30          	add    $0x30,%rsp
1401a2cf2:	5b                   	pop    %rbx
1401a2cf3:	c3                   	ret
1401a2cf4:	48 89 13             	mov    %rdx,(%rbx)
1401a2cf7:	48 8b c3             	mov    %rbx,%rax
1401a2cfa:	48 83 c4 30          	add    $0x30,%rsp
1401a2cfe:	5b                   	pop    %rbx
1401a2cff:	c3                   	ret
1401a2d00:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401a2d05:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1401a2d0a:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
1401a2d0f:	55                   	push   %rbp
1401a2d10:	56                   	push   %rsi
1401a2d11:	57                   	push   %rdi
1401a2d12:	41 54                	push   %r12
1401a2d14:	41 55                	push   %r13
1401a2d16:	41 56                	push   %r14
1401a2d18:	41 57                	push   %r15
1401a2d1a:	48 81 ec 60 01 00 00 	sub    $0x160,%rsp
1401a2d21:	4c 8b fa             	mov    %rdx,%r15
1401a2d24:	48 8b e9             	mov    %rcx,%rbp
1401a2d27:	33 f6                	xor    %esi,%esi
1401a2d29:	89 74 24 30          	mov    %esi,0x30(%rsp)
1401a2d2d:	48 8b 84 24 c0 01 00 	mov    0x1c0(%rsp),%rax
1401a2d34:	00
1401a2d35:	48 8b 40 08          	mov    0x8(%rax),%rax
1401a2d39:	48 85 c0             	test   %rax,%rax
1401a2d3c:	74 06                	je     0x1401a2d44
1401a2d3e:	48 8b 40 08          	mov    0x8(%rax),%rax
1401a2d42:	eb 03                	jmp    0x1401a2d47
1401a2d44:	48 8b c6             	mov    %rsi,%rax
1401a2d47:	48 8d 0c 45 0c 00 00 	lea    0xc(,%rax,2),%rcx
1401a2d4e:	00
1401a2d4f:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
1401a2d54:	48 8d 05 e5 7b 18 00 	lea    0x187be5(%rip),%rax        # 0x14032a940
1401a2d5b:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401a2d60:	4c 8b f6             	mov    %rsi,%r14
1401a2d63:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
1401a2d68:	45 32 ed             	xor    %r13b,%r13b
1401a2d6b:	44 88 6c 24 50       	mov    %r13b,0x50(%rsp)
1401a2d70:	48 8b de             	mov    %rsi,%rbx
1401a2d73:	48 8b c6             	mov    %rsi,%rax
1401a2d76:	48 39 42 10          	cmp    %rax,0x10(%rdx)
1401a2d7a:	74 4a                	je     0x1401a2dc6
1401a2d7c:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a2d81:	e8 c2 74 15 00       	call   0x1402fa248
1401a2d86:	4c 8b f0             	mov    %rax,%r14
1401a2d89:	48 8b d8             	mov    %rax,%rbx
1401a2d8c:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1401a2d91:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a2d94:	33 c0                	xor    %eax,%eax
1401a2d96:	0f 11 03             	movups %xmm0,(%rbx)
1401a2d99:	48 89 43 10          	mov    %rax,0x10(%rbx)
1401a2d9d:	41 b5 01             	mov    $0x1,%r13b
1401a2da0:	44 88 6c 24 50       	mov    %r13b,0x50(%rsp)
1401a2da5:	49 8b cf             	mov    %r15,%rcx
1401a2da8:	49 83 7f 18 0f       	cmpq   $0xf,0x18(%r15)
1401a2dad:	76 03                	jbe    0x1401a2db2
1401a2daf:	49 8b 0f             	mov    (%r15),%rcx
1401a2db2:	4d 8b c6             	mov    %r14,%r8
1401a2db5:	49 8b 57 10          	mov    0x10(%r15),%rdx
1401a2db9:	e8 44 b0 f3 ff       	call   0x1400dde02
1401a2dbe:	48 8b c3             	mov    %rbx,%rax
1401a2dc1:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1401a2dc6:	48 85 db             	test   %rbx,%rbx
1401a2dc9:	74 31                	je     0x1401a2dfc
1401a2dcb:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
1401a2dd0:	74 2a                	je     0x1401a2dfc
1401a2dd2:	8b fe                	mov    %esi,%edi
1401a2dd4:	83 cf 08             	or     $0x8,%edi
1401a2dd7:	48 8b d1             	mov    %rcx,%rdx
1401a2dda:	49 8b ce             	mov    %r14,%rcx
1401a2ddd:	e8 62 9e 15 00       	call   0x1402fcc44
1401a2de2:	48 8b d0             	mov    %rax,%rdx
1401a2de5:	48 8d 8c 24 a8 01 00 	lea    0x1a8(%rsp),%rcx
1401a2dec:	00
1401a2ded:	e8 1e 6b 01 00       	call   0x1401b9910
1401a2df2:	48 8b 9c 24 a8 01 00 	mov    0x1a8(%rsp),%rbx
1401a2df9:	00
1401a2dfa:	eb 10                	jmp    0x1401a2e0c
1401a2dfc:	8b fe                	mov    %esi,%edi
1401a2dfe:	83 cf 08             	or     $0x8,%edi
1401a2e01:	48 8b de             	mov    %rsi,%rbx
1401a2e04:	48 89 9c 24 a8 01 00 	mov    %rbx,0x1a8(%rsp)
1401a2e0b:	00
1401a2e0c:	44 8b e7             	mov    %edi,%r12d
1401a2e0f:	4d 85 f6             	test   %r14,%r14
1401a2e12:	74 1a                	je     0x1401a2e2e
1401a2e14:	45 84 ed             	test   %r13b,%r13b
1401a2e17:	74 15                	je     0x1401a2e2e
1401a2e19:	49 8b ce             	mov    %r14,%rcx
1401a2e1c:	e8 db af f3 ff       	call   0x1400dddfc
1401a2e21:	ba 18 00 00 00       	mov    $0x18,%edx
1401a2e26:	49 8b ce             	mov    %r14,%rcx
1401a2e29:	e8 56 74 15 00       	call   0x1402fa284
1401a2e2e:	41 f6 c4 40          	test   $0x40,%r12b
1401a2e32:	74 10                	je     0x1401a2e44
1401a2e34:	41 8b fc             	mov    %r12d,%edi
1401a2e37:	83 e7 bf             	and    $0xffffffbf,%edi
1401a2e3a:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401a2e3f:	e8 1c d3 ff ff       	call   0x1401a0160
1401a2e44:	48 8b 03             	mov    (%rbx),%rax
1401a2e47:	48 8b cb             	mov    %rbx,%rcx
1401a2e4a:	ff 10                	call   *(%rax)
1401a2e4c:	84 c0                	test   %al,%al
1401a2e4e:	0f 85 ad 00 00 00    	jne    0x1401a2f01
1401a2e54:	e8 01 9d 15 00       	call   0x1402fcb5a
1401a2e59:	83 f8 02             	cmp    $0x2,%eax
1401a2e5c:	7f 65                	jg     0x1401a2ec3
1401a2e5e:	c7 44 24 58 02 00 00 	movl   $0x2,0x58(%rsp)
1401a2e65:	00
1401a2e66:	ba 01 00 00 00       	mov    $0x1,%edx
1401a2e6b:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401a2e70:	e8 9b c8 ff ff       	call   0x14019f710
1401a2e75:	48 8d 05 54 66 1a 00 	lea    0x1a6654(%rip),%rax        # 0x1403494d0
1401a2e7c:	48 89 84 24 48 01 00 	mov    %rax,0x148(%rsp)
1401a2e83:	00
1401a2e84:	c7 84 24 50 01 00 00 	movl   $0x6b,0x150(%rsp)
1401a2e8b:	6b 00 00 00
1401a2e8f:	ff 15 0b 64 18 00    	call   *0x18640b(%rip)        # 0x1403292a0
1401a2e95:	89 84 24 54 01 00 00 	mov    %eax,0x154(%rsp)
1401a2e9c:	83 cf 01             	or     $0x1,%edi
1401a2e9f:	89 7c 24 30          	mov    %edi,0x30(%rsp)
1401a2ea3:	48 8d 15 e6 65 1a 00 	lea    0x1a65e6(%rip),%rdx        # 0x140349490
1401a2eaa:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401a2eaf:	e8 fc 64 ee ff       	call   0x1400893b0
1401a2eb4:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
1401a2eb9:	48 8b c8             	mov    %rax,%rcx
1401a2ebc:	ff 15 0e 69 18 00    	call   *0x18690e(%rip)        # 0x1403297d0
1401a2ec2:	90                   	nop
1401a2ec3:	40 f6 c7 01          	test   $0x1,%dil
1401a2ec7:	74 0a                	je     0x1401a2ed3
1401a2ec9:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401a2ece:	e8 8d d2 ff ff       	call   0x1401a0160
1401a2ed3:	48 8b 84 24 c0 01 00 	mov    0x1c0(%rsp),%rax
1401a2eda:	00
1401a2edb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401a2ee0:	44 8b 8c 24 b8 01 00 	mov    0x1b8(%rsp),%r9d
1401a2ee7:	00
1401a2ee8:	44 8b 84 24 b0 01 00 	mov    0x1b0(%rsp),%r8d
1401a2eef:	00
1401a2ef0:	49 8b d7             	mov    %r15,%rdx
1401a2ef3:	48 8b cd             	mov    %rbp,%rcx
1401a2ef6:	e8 e5 00 00 00       	call   0x1401a2fe0
1401a2efb:	90                   	nop
1401a2efc:	e9 9a 00 00 00       	jmp    0x1401a2f9b
1401a2f01:	40 84 ff             	test   %dil,%dil
1401a2f04:	79 0e                	jns    0x1401a2f14
1401a2f06:	0f ba f7 07          	btr    $0x7,%edi
1401a2f0a:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401a2f0f:	e8 4c d2 ff ff       	call   0x1401a0160
1401a2f14:	48 8b 03             	mov    (%rbx),%rax
1401a2f17:	48 8b cb             	mov    %rbx,%rcx
1401a2f1a:	ff 50 10             	call   *0x10(%rax)
1401a2f1d:	8b 8c 24 b0 01 00 00 	mov    0x1b0(%rsp),%ecx
1401a2f24:	89 08                	mov    %ecx,(%rax)
1401a2f26:	8b 8c 24 b8 01 00 00 	mov    0x1b8(%rsp),%ecx
1401a2f2d:	89 48 04             	mov    %ecx,0x4(%rax)
1401a2f30:	c6 40 08 01          	movb   $0x1,0x8(%rax)
1401a2f34:	0f ba e7 08          	bt     $0x8,%edi
1401a2f38:	73 0e                	jae    0x1401a2f48
1401a2f3a:	0f ba f7 08          	btr    $0x8,%edi
1401a2f3e:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401a2f43:	e8 18 d2 ff ff       	call   0x1401a0160
1401a2f48:	48 8b 03             	mov    (%rbx),%rax
1401a2f4b:	48 8b cb             	mov    %rbx,%rcx
1401a2f4e:	ff 50 10             	call   *0x10(%rax)
1401a2f51:	48 8b 94 24 c0 01 00 	mov    0x1c0(%rsp),%rdx
1401a2f58:	00
1401a2f59:	48 8b 52 08          	mov    0x8(%rdx),%rdx
1401a2f5d:	48 8d 48 0c          	lea    0xc(%rax),%rcx
1401a2f61:	48 85 d2             	test   %rdx,%rdx
1401a2f64:	74 0d                	je     0x1401a2f73
1401a2f66:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401a2f6a:	4c 8d 04 00          	lea    (%rax,%rax,1),%r8
1401a2f6e:	48 8b 32             	mov    (%rdx),%rsi
1401a2f71:	eb 03                	jmp    0x1401a2f76
1401a2f73:	4c 8b c6             	mov    %rsi,%r8
1401a2f76:	48 8b d6             	mov    %rsi,%rdx
1401a2f79:	e8 aa 9a 15 00       	call   0x1402fca28
1401a2f7e:	0f ba e7 09          	bt     $0x9,%edi
1401a2f82:	73 0a                	jae    0x1401a2f8e
1401a2f84:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401a2f89:	e8 d2 d1 ff ff       	call   0x1401a0160
1401a2f8e:	48 8b 03             	mov    (%rbx),%rax
1401a2f91:	48 8b d5             	mov    %rbp,%rdx
1401a2f94:	48 8b cb             	mov    %rbx,%rcx
1401a2f97:	ff 50 18             	call   *0x18(%rax)
1401a2f9a:	90                   	nop
1401a2f9b:	48 85 db             	test   %rbx,%rbx
1401a2f9e:	74 16                	je     0x1401a2fb6
1401a2fa0:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401a2fa4:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401a2fa8:	48 83 c1 08          	add    $0x8,%rcx
1401a2fac:	48 03 cb             	add    %rbx,%rcx
1401a2faf:	48 8b 01             	mov    (%rcx),%rax
1401a2fb2:	ff 50 08             	call   *0x8(%rax)
1401a2fb5:	90                   	nop
1401a2fb6:	48 8b c5             	mov    %rbp,%rax
1401a2fb9:	48 8b 9c 24 a0 01 00 	mov    0x1a0(%rsp),%rbx
1401a2fc0:	00
1401a2fc1:	48 81 c4 60 01 00 00 	add    $0x160,%rsp
1401a2fc8:	41 5f                	pop    %r15
1401a2fca:	41 5e                	pop    %r14
1401a2fcc:	41 5d                	pop    %r13
1401a2fce:	41 5c                	pop    %r12
1401a2fd0:	5f                   	pop    %rdi
1401a2fd1:	5e                   	pop    %rsi
1401a2fd2:	5d                   	pop    %rbp
1401a2fd3:	c3                   	ret
1401a2fd4:	cc                   	int3
1401a2fd5:	cc                   	int3
1401a2fd6:	cc                   	int3
1401a2fd7:	cc                   	int3
1401a2fd8:	cc                   	int3
1401a2fd9:	cc                   	int3
1401a2fda:	cc                   	int3
1401a2fdb:	cc                   	int3
1401a2fdc:	cc                   	int3
1401a2fdd:	cc                   	int3
1401a2fde:	cc                   	int3
1401a2fdf:	cc                   	int3
1401a2fe0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401a2fe5:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
1401a2fea:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401a2fef:	55                   	push   %rbp
1401a2ff0:	56                   	push   %rsi
1401a2ff1:	57                   	push   %rdi
1401a2ff2:	41 54                	push   %r12
1401a2ff4:	41 55                	push   %r13
1401a2ff6:	41 56                	push   %r14
1401a2ff8:	41 57                	push   %r15
1401a2ffa:	48 8d 6c 24 c0       	lea    -0x40(%rsp),%rbp
1401a2fff:	48 81 ec 40 01 00 00 	sub    $0x140,%rsp
1401a3006:	45 8b e8             	mov    %r8d,%r13d
1401a3009:	48 8b da             	mov    %rdx,%rbx
1401a300c:	4c 8b f1             	mov    %rcx,%r14
1401a300f:	33 f6                	xor    %esi,%esi
1401a3011:	89 74 24 20          	mov    %esi,0x20(%rsp)
1401a3015:	48 8d 05 24 79 18 00 	lea    0x187924(%rip),%rax        # 0x14032a940
1401a301c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401a3021:	8b fe                	mov    %esi,%edi
1401a3023:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1401a3028:	45 32 e4             	xor    %r12b,%r12b
1401a302b:	44 88 64 24 38       	mov    %r12b,0x38(%rsp)
1401a3030:	44 8b fe             	mov    %esi,%r15d
1401a3033:	8b c6                	mov    %esi,%eax
1401a3035:	48 39 42 10          	cmp    %rax,0x10(%rdx)
1401a3039:	74 46                	je     0x1401a3081
1401a303b:	b9 18 00 00 00       	mov    $0x18,%ecx
1401a3040:	e8 03 72 15 00       	call   0x1402fa248
1401a3045:	48 8b f8             	mov    %rax,%rdi
1401a3048:	4c 8b f8             	mov    %rax,%r15
1401a304b:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401a3050:	0f 57 c0             	xorps  %xmm0,%xmm0
1401a3053:	33 c0                	xor    %eax,%eax
1401a3055:	41 0f 11 07          	movups %xmm0,(%r15)
1401a3059:	49 89 47 10          	mov    %rax,0x10(%r15)
1401a305d:	41 b4 01             	mov    $0x1,%r12b
1401a3060:	44 88 64 24 38       	mov    %r12b,0x38(%rsp)
1401a3065:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1401a3069:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
1401a306e:	76 03                	jbe    0x1401a3073
1401a3070:	48 8b 1b             	mov    (%rbx),%rbx
1401a3073:	4c 8b c7             	mov    %rdi,%r8
1401a3076:	48 8b cb             	mov    %rbx,%rcx
1401a3079:	e8 84 ad f3 ff       	call   0x1400dde02
1401a307e:	48 8b c7             	mov    %rdi,%rax
1401a3081:	4d 85 ff             	test   %r15,%r15
1401a3084:	74 21                	je     0x1401a30a7
1401a3086:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
1401a308b:	74 1a                	je     0x1401a30a7
1401a308d:	83 ce 04             	or     $0x4,%esi
1401a3090:	48 8b cf             	mov    %rdi,%rcx
1401a3093:	e8 46 9b 15 00       	call   0x1402fcbde
1401a3098:	48 8b d0             	mov    %rax,%rdx
1401a309b:	49 8b ce             	mov    %r14,%rcx
1401a309e:	e8 4d 5b 01 00       	call   0x1401b8bf0
1401a30a3:	8b de                	mov    %esi,%ebx
1401a30a5:	eb 08                	jmp    0x1401a30af
1401a30a7:	8b de                	mov    %esi,%ebx
1401a30a9:	83 cb 04             	or     $0x4,%ebx
1401a30ac:	49 89 36             	mov    %rsi,(%r14)
1401a30af:	83 cb 01             	or     $0x1,%ebx
1401a30b2:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
1401a30b6:	48 85 ff             	test   %rdi,%rdi
1401a30b9:	74 1a                	je     0x1401a30d5
1401a30bb:	45 84 e4             	test   %r12b,%r12b
1401a30be:	74 15                	je     0x1401a30d5
1401a30c0:	48 8b cf             	mov    %rdi,%rcx
1401a30c3:	e8 34 ad f3 ff       	call   0x1400dddfc
1401a30c8:	ba 18 00 00 00       	mov    $0x18,%edx
1401a30cd:	48 8b cf             	mov    %rdi,%rcx
1401a30d0:	e8 af 71 15 00       	call   0x1402fa284
1401a30d5:	f6 c3 08             	test   $0x8,%bl
1401a30d8:	74 11                	je     0x1401a30eb
1401a30da:	83 e3 f7             	and    $0xfffffff7,%ebx
1401a30dd:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
1401a30e1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1401a30e6:	e8 75 d0 ff ff       	call   0x1401a0160
1401a30eb:	49 8b 0e             	mov    (%r14),%rcx
1401a30ee:	48 8b 01             	mov    (%rcx),%rax
1401a30f1:	48 8d 95 88 00 00 00 	lea    0x88(%rbp),%rdx
1401a30f8:	ff 50 20             	call   *0x20(%rax)
1401a30fb:	90                   	nop
1401a30fc:	f6 c3 10             	test   $0x10,%bl
1401a30ff:	74 11                	je     0x1401a3112
1401a3101:	83 e3 ef             	and    $0xffffffef,%ebx
1401a3104:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
1401a3108:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1401a310d:	e8 4e d0 ff ff       	call   0x1401a0160
1401a3112:	48 8b 8d 88 00 00 00 	mov    0x88(%rbp),%rcx
1401a3119:	48 8b 01             	mov    (%rcx),%rax
1401a311c:	45 8b c5             	mov    %r13d,%r8d