180049c3c:	e8 3f f5 ff ff       	call   0x180049180
180049c41:	ba 03 00 00 00       	mov    $0x3,%edx
180049c46:	45 33 c0             	xor    %r8d,%r8d
180049c49:	48 8b cb             	mov    %rbx,%rcx
180049c4c:	e8 ff f3 ff ff       	call   0x180049050
180049c51:	48 8b cb             	mov    %rbx,%rcx
180049c54:	e8 c7 02 00 00       	call   0x180049f20
180049c59:	44 8b 83 0c 01 00 00 	mov    0x10c(%rbx),%r8d
180049c60:	44 8b c8             	mov    %eax,%r9d
180049c63:	45 85 c0             	test   %r8d,%r8d
180049c66:	74 2d                	je     0x180049c95
180049c68:	48 8b cb             	mov    %rbx,%rcx
180049c6b:	e8 68 4f 0f 00       	call   0x18013ebd8
180049c70:	44 3b c8             	cmp    %eax,%r9d
180049c73:	73 20                	jae    0x180049c95
180049c75:	e8 72 4f 0f 00       	call   0x18013ebec
180049c7a:	44 3b c8             	cmp    %eax,%r9d
180049c7d:	76 16                	jbe    0x180049c95
180049c7f:	41 83 f8 02          	cmp    $0x2,%r8d
180049c83:	75 09                	jne    0x180049c8e
180049c85:	e8 52 00 00 00       	call   0x180049cdc
180049c8a:	8b f8                	mov    %eax,%edi
180049c8c:	eb 07                	jmp    0x180049c95
180049c8e:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
180049c93:	8b f7                	mov    %edi,%esi
180049c95:	48 8b cb             	mov    %rbx,%rcx
180049c98:	e8 83 02 00 00       	call   0x180049f20
180049c9d:	8b d0                	mov    %eax,%edx
180049c9f:	48 8b cb             	mov    %rbx,%rcx
180049ca2:	e8 7d 4e 0f 00       	call   0x18013eb24
180049ca7:	84 c0                	test   %al,%al
180049ca9:	b9 35 00 38 c0       	mov    $0xc0380035,%ecx
180049cae:	0f 44 f9             	cmove  %ecx,%edi
180049cb1:	85 ff                	test   %edi,%edi
180049cb3:	79 13                	jns    0x180049cc8
180049cb5:	44 8b ce             	mov    %esi,%r9d
180049cb8:	44 8b c7             	mov    %edi,%r8d
180049cbb:	48 8b d3             	mov    %rbx,%rdx
180049cbe:	b9 53 04 00 00       	mov    $0x453,%ecx
180049cc3:	e8 b0 ce ff ff       	call   0x180046b78
180049cc8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180049ccd:	8b c7                	mov    %edi,%eax
180049ccf:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180049cd4:	48 83 c4 20          	add    $0x20,%rsp
180049cd8:	5f                   	pop    %rdi
180049cd9:	c3                   	ret
180049cda:	cc                   	int3
180049cdb:	cc                   	int3
180049cdc:	48 83 ec 48          	sub    $0x48,%rsp
180049ce0:	48 8b 05 89 2c 12 00 	mov    0x122c89(%rip),%rax        # 0x18016c970
180049ce7:	48 33 c4             	xor    %rsp,%rax
180049cea:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180049cef:	33 d2                	xor    %edx,%edx
180049cf1:	4c 8d 89 18 01 00 00 	lea    0x118(%rcx),%r9
180049cf8:	49 8b 09             	mov    (%r9),%rcx
180049cfb:	44 8b c2             	mov    %edx,%r8d
180049cfe:	eb 0d                	jmp    0x180049d0d
180049d00:	8b 41 20             	mov    0x20(%rcx),%eax
180049d03:	48 8b d1             	mov    %rcx,%rdx
180049d06:	a8 01                	test   $0x1,%al
180049d08:	75 08                	jne    0x180049d12
180049d0a:	48 8b 09             	mov    (%rcx),%rcx
180049d0d:	49 3b c9             	cmp    %r9,%rcx
180049d10:	75 ee                	jne    0x180049d00
180049d12:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
180049d16:	f6 81 cc 01 00 00 02 	testb  $0x2,0x1cc(%rcx)
180049d1d:	75 1d                	jne    0x180049d3c
180049d1f:	0f 57 c0             	xorps  %xmm0,%xmm0
180049d22:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180049d27:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
180049d2c:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
180049d33:	00
180049d34:	e8 b3 6f 00 00       	call   0x180050cec
180049d39:	44 8b c0             	mov    %eax,%r8d
180049d3c:	41 8b c0             	mov    %r8d,%eax
180049d3f:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
180049d44:	48 33 cc             	xor    %rsp,%rcx
180049d47:	e8 e0 bd fc ff       	call   0x180015b2c
180049d4c:	48 83 c4 48          	add    $0x48,%rsp
180049d50:	c3                   	ret
180049d51:	cc                   	int3
180049d52:	cc                   	int3
180049d53:	cc                   	int3
180049d54:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180049d59:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180049d5e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180049d63:	57                   	push   %rdi
180049d64:	48 83 ec 20          	sub    $0x20,%rsp
180049d68:	48 8b f1             	mov    %rcx,%rsi
180049d6b:	49 8b f8             	mov    %r8,%rdi
180049d6e:	b9 28 00 00 00       	mov    $0x28,%ecx
180049d73:	48 8b ea             	mov    %rdx,%rbp
180049d76:	e8 99 cb ff ff       	call   0x180046914
180049d7b:	48 8b d8             	mov    %rax,%rbx
180049d7e:	48 85 c0             	test   %rax,%rax
180049d81:	74 09                	je     0x180049d8c
180049d83:	48 89 40 08          	mov    %rax,0x8(%rax)
180049d87:	48 89 00             	mov    %rax,(%rax)
180049d8a:	eb 02                	jmp    0x180049d8e
180049d8c:	33 db                	xor    %ebx,%ebx
180049d8e:	48 85 db             	test   %rbx,%rbx
180049d91:	75 07                	jne    0x180049d9a
180049d93:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180049d98:	eb 51                	jmp    0x180049deb
180049d9a:	83 4b 20 02          	orl    $0x2,0x20(%rbx)
180049d9e:	48 8b d3             	mov    %rbx,%rdx
180049da1:	48 8b ce             	mov    %rsi,%rcx
180049da4:	48 89 6b 10          	mov    %rbp,0x10(%rbx)
180049da8:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
180049dac:	e8 3b fb ff ff       	call   0x1800498ec
180049db1:	8b f8                	mov    %eax,%edi
180049db3:	85 c0                	test   %eax,%eax
180049db5:	78 27                	js     0x180049dde
180049db7:	48 8d 8e 18 01 00 00 	lea    0x118(%rsi),%rcx
180049dbe:	48 8b 41 08          	mov    0x8(%rcx),%rax
180049dc2:	48 39 08             	cmp    %rcx,(%rax)
180049dc5:	74 07                	je     0x180049dce
180049dc7:	b9 03 00 00 00       	mov    $0x3,%ecx
180049dcc:	cd 29                	int    $0x29
180049dce:	48 89 0b             	mov    %rcx,(%rbx)
180049dd1:	48 89 43 08          	mov    %rax,0x8(%rbx)
180049dd5:	48 89 18             	mov    %rbx,(%rax)
180049dd8:	48 89 59 08          	mov    %rbx,0x8(%rcx)
180049ddc:	33 db                	xor    %ebx,%ebx
180049dde:	48 85 db             	test   %rbx,%rbx
180049de1:	74 08                	je     0x180049deb
180049de3:	48 8b cb             	mov    %rbx,%rcx
180049de6:	e8 71 cb ff ff       	call   0x18004695c
180049deb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180049df0:	8b c7                	mov    %edi,%eax
180049df2:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180049df7:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180049dfc:	48 83 c4 20          	add    $0x20,%rsp
180049e00:	5f                   	pop    %rdi
180049e01:	c3                   	ret
180049e02:	cc                   	int3
180049e03:	cc                   	int3
180049e04:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180049e09:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180049e0e:	57                   	push   %rdi
180049e0f:	48 83 ec 20          	sub    $0x20,%rsp
180049e13:	48 8d b9 18 01 00 00 	lea    0x118(%rcx),%rdi
180049e1a:	48 8b d9             	mov    %rcx,%rbx
180049e1d:	48 8b 07             	mov    (%rdi),%rax
180049e20:	48 8b 30             	mov    (%rax),%rsi
180049e23:	48 3b c7             	cmp    %rdi,%rax
180049e26:	74 5d                	je     0x180049e85
180049e28:	8b 48 20             	mov    0x20(%rax),%ecx
180049e2b:	f6 c1 04             	test   $0x4,%cl
180049e2e:	74 2f                	je     0x180049e5f
180049e30:	ff 8b 08 01 00 00    	decl   0x108(%rbx)
180049e36:	48 8b 10             	mov    (%rax),%rdx
180049e39:	48 39 42 08          	cmp    %rax,0x8(%rdx)
180049e3d:	75 3f                	jne    0x180049e7e
180049e3f:	48 8b 48 08          	mov    0x8(%rax),%rcx
180049e43:	48 39 01             	cmp    %rax,(%rcx)
180049e46:	75 36                	jne    0x180049e7e
180049e48:	48 89 11             	mov    %rdx,(%rcx)
180049e4b:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
180049e4f:	48 8b c8             	mov    %rax,%rcx
180049e52:	ff 8b 0c 01 00 00    	decl   0x10c(%rbx)
180049e58:	e8 ff ca ff ff       	call   0x18004695c
180049e5d:	eb 17                	jmp    0x180049e76
180049e5f:	f6 c1 02             	test   $0x2,%cl
180049e62:	74 12                	je     0x180049e76
180049e64:	83 e1 fd             	and    $0xfffffffd,%ecx
180049e67:	89 48 20             	mov    %ecx,0x20(%rax)
180049e6a:	ff 83 0c 01 00 00    	incl   0x10c(%rbx)
180049e70:	ff 83 08 01 00 00    	incl   0x108(%rbx)
180049e76:	48 8b c6             	mov    %rsi,%rax
180049e79:	48 8b 36             	mov    (%rsi),%rsi
180049e7c:	eb a5                	jmp    0x180049e23
180049e7e:	b9 03 00 00 00       	mov    $0x3,%ecx
180049e83:	cd 29                	int    $0x29
180049e85:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180049e8a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180049e8f:	48 83 c4 20          	add    $0x20,%rsp
180049e93:	5f                   	pop    %rdi
180049e94:	c3                   	ret
180049e95:	cc                   	int3
180049e96:	cc                   	int3
180049e97:	cc                   	int3
180049e98:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180049e9d:	57                   	push   %rdi
180049e9e:	48 83 ec 20          	sub    $0x20,%rsp
180049ea2:	48 8d b9 18 01 00 00 	lea    0x118(%rcx),%rdi
180049ea9:	48 8b 07             	mov    (%rdi),%rax
180049eac:	48 8b 18             	mov    (%rax),%rbx
180049eaf:	48 3b c7             	cmp    %rdi,%rax
180049eb2:	74 45                	je     0x180049ef9
180049eb4:	8b 48 20             	mov    0x20(%rax),%ecx
180049eb7:	f6 c1 04             	test   $0x4,%cl
180049eba:	74 08                	je     0x180049ec4
180049ebc:	83 e1 fb             	and    $0xfffffffb,%ecx
180049ebf:	89 48 20             	mov    %ecx,0x20(%rax)
180049ec2:	eb 26                	jmp    0x180049eea
180049ec4:	f6 c1 02             	test   $0x2,%cl
180049ec7:	74 21                	je     0x180049eea
180049ec9:	48 8b 08             	mov    (%rax),%rcx
180049ecc:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180049ed0:	75 20                	jne    0x180049ef2
180049ed2:	48 8b 50 08          	mov    0x8(%rax),%rdx
180049ed6:	48 39 02             	cmp    %rax,(%rdx)
180049ed9:	75 17                	jne    0x180049ef2
180049edb:	48 89 0a             	mov    %rcx,(%rdx)
180049ede:	48 89 51 08          	mov    %rdx,0x8(%rcx)
180049ee2:	48 8b c8             	mov    %rax,%rcx
180049ee5:	e8 72 ca ff ff       	call   0x18004695c
180049eea:	48 8b c3             	mov    %rbx,%rax
180049eed:	48 8b 1b             	mov    (%rbx),%rbx
180049ef0:	eb bd                	jmp    0x180049eaf
180049ef2:	b9 03 00 00 00       	mov    $0x3,%ecx
180049ef7:	cd 29                	int    $0x29
180049ef9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180049efe:	48 83 c4 20          	add    $0x20,%rsp
180049f02:	5f                   	pop    %rdi
180049f03:	c3                   	ret
180049f04:	cc                   	int3
180049f05:	cc                   	int3
180049f06:	cc                   	int3
180049f07:	cc                   	int3
180049f08:	48 83 ec 28          	sub    $0x28,%rsp
180049f0c:	8b 91 08 01 00 00    	mov    0x108(%rcx),%edx
180049f12:	e8 0d 4c 0f 00       	call   0x18013eb24
180049f17:	48 83 c4 28          	add    $0x28,%rsp
180049f1b:	c3                   	ret
180049f1c:	cc                   	int3
180049f1d:	cc                   	int3
180049f1e:	cc                   	int3
180049f1f:	cc                   	int3
180049f20:	48 8d 91 18 01 00 00 	lea    0x118(%rcx),%rdx
180049f27:	33 c0                	xor    %eax,%eax
180049f29:	48 8b 0a             	mov    (%rdx),%rcx
180049f2c:	eb 15                	jmp    0x180049f43
180049f2e:	44 8b 41 20          	mov    0x20(%rcx),%r8d
180049f32:	41 f6 c0 01          	test   $0x1,%r8b
180049f36:	74 08                	je     0x180049f40
180049f38:	41 f6 c0 02          	test   $0x2,%r8b
180049f3c:	75 02                	jne    0x180049f40
180049f3e:	ff c0                	inc    %eax
180049f40:	48 8b 09             	mov    (%rcx),%rcx
180049f43:	48 3b ca             	cmp    %rdx,%rcx
180049f46:	75 e6                	jne    0x180049f2e
180049f48:	c3                   	ret
180049f49:	cc                   	int3
180049f4a:	cc                   	int3
180049f4b:	cc                   	int3
180049f4c:	48 83 ec 28          	sub    $0x28,%rsp
180049f50:	41 b0 20             	mov    $0x20,%r8b
180049f53:	e8 b8 d5 ff ff       	call   0x180047510
180049f58:	48 83 c4 28          	add    $0x28,%rsp
180049f5c:	c3                   	ret
180049f5d:	cc                   	int3
180049f5e:	cc                   	int3
180049f5f:	cc                   	int3
180049f60:	48 8b c4             	mov    %rsp,%rax
180049f63:	48 89 58 08          	mov    %rbx,0x8(%rax)
180049f67:	48 89 68 10          	mov    %rbp,0x10(%rax)
180049f6b:	48 89 70 18          	mov    %rsi,0x18(%rax)
180049f6f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180049f73:	41 56                	push   %r14
180049f75:	48 83 ec 20          	sub    $0x20,%rsp
180049f79:	48 8b fa             	mov    %rdx,%rdi
180049f7c:	48 8b e9             	mov    %rcx,%rbp
180049f7f:	41 80 f8 20          	cmp    $0x20,%r8b
180049f83:	74 07                	je     0x180049f8c
180049f85:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180049f8a:	eb 67                	jmp    0x180049ff3
180049f8c:	45 33 f6             	xor    %r14d,%r14d
180049f8f:	33 c0                	xor    %eax,%eax
180049f91:	4d 85 c9             	test   %r9,%r9
180049f94:	74 07                	je     0x180049f9d
180049f96:	b8 02 00 00 c0       	mov    $0xc0000002,%eax
180049f9b:	eb 56                	jmp    0x180049ff3
180049f9d:	4c 8b 42 70          	mov    0x70(%rdx),%r8
180049fa1:	4d 85 c0             	test   %r8,%r8
180049fa4:	74 07                	je     0x180049fad
180049fa6:	e8 fd 00 00 00       	call   0x18004a0a8
180049fab:	eb 46                	jmp    0x180049ff3
180049fad:	48 8d b1 18 01 00 00 	lea    0x118(%rcx),%rsi
180049fb4:	48 8b 1e             	mov    (%rsi),%rbx
180049fb7:	eb 35                	jmp    0x180049fee
180049fb9:	8b 4b 20             	mov    0x20(%rbx),%ecx
180049fbc:	f6 c1 08             	test   $0x8,%cl
180049fbf:	74 2a                	je     0x180049feb
180049fc1:	83 e1 f7             	and    $0xfffffff7,%ecx
180049fc4:	4c 8b c3             	mov    %rbx,%r8
180049fc7:	89 4b 20             	mov    %ecx,0x20(%rbx)
180049fca:	48 8b d7             	mov    %rdi,%rdx
180049fcd:	48 8b cd             	mov    %rbp,%rcx
180049fd0:	41 ff c6             	inc    %r14d
180049fd3:	e8 d0 00 00 00       	call   0x18004a0a8
180049fd8:	85 c0                	test   %eax,%eax
180049fda:	79 06                	jns    0x180049fe2
180049fdc:	83 63 20 fe          	andl   $0xfffffffe,0x20(%rbx)
180049fe0:	33 c0                	xor    %eax,%eax
180049fe2:	44 3b b7 88 00 00 00 	cmp    0x88(%rdi),%r14d
180049fe9:	74 08                	je     0x180049ff3
180049feb:	48 8b 1b             	mov    (%rbx),%rbx
180049fee:	48 3b de             	cmp    %rsi,%rbx
180049ff1:	75 c6                	jne    0x180049fb9
180049ff3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180049ff8:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180049ffd:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004a002:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18004a007:	48 83 c4 20          	add    $0x20,%rsp
18004a00b:	41 5e                	pop    %r14
18004a00d:	c3                   	ret
18004a00e:	cc                   	int3
18004a00f:	cc                   	int3
18004a010:	48 83 ec 28          	sub    $0x28,%rsp
18004a014:	41 80 f8 20          	cmp    $0x20,%r8b
18004a018:	75 1c                	jne    0x18004a036
18004a01a:	4c 8b 4a 70          	mov    0x70(%rdx),%r9
18004a01e:	4c 8b 42 78          	mov    0x78(%rdx),%r8
18004a022:	49 8b 49 10          	mov    0x10(%r9),%rcx
18004a026:	4d 03 41 18          	add    0x18(%r9),%r8
18004a02a:	48 8b 01             	mov    (%rcx),%rax
18004a02d:	48 8b 40 48          	mov    0x48(%rax),%rax
18004a031:	ff d0                	call   *%rax
18004a033:	0f 1f 00             	nopl   (%rax)
18004a036:	48 83 c4 28          	add    $0x28,%rsp
18004a03a:	c3                   	ret
18004a03b:	cc                   	int3
18004a03c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004a041:	57                   	push   %rdi
18004a042:	48 83 ec 20          	sub    $0x20,%rsp
18004a046:	8b ba a0 00 00 00    	mov    0xa0(%rdx),%edi
18004a04c:	80 ba 99 00 00 00 20 	cmpb   $0x20,0x99(%rdx)
18004a053:	75 42                	jne    0x18004a097
18004a055:	8b ba a0 00 00 00    	mov    0xa0(%rdx),%edi
18004a05b:	48 8b 5a 70          	mov    0x70(%rdx),%rbx
18004a05f:	85 ff                	test   %edi,%edi
18004a061:	79 34                	jns    0x18004a097
18004a063:	8b 43 20             	mov    0x20(%rbx),%eax
18004a066:	a8 01                	test   $0x1,%al
18004a068:	74 2d                	je     0x18004a097
18004a06a:	83 e0 fe             	and    $0xfffffffe,%eax
18004a06d:	89 43 20             	mov    %eax,0x20(%rbx)
18004a070:	48 8b 01             	mov    (%rcx),%rax
18004a073:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
18004a077:	48 8b 40 10          	mov    0x10(%rax),%rax
18004a07b:	ff d0                	call   *%rax
18004a07d:	0f 1f 00             	nopl   (%rax)
18004a080:	48 8b d0             	mov    %rax,%rdx
18004a083:	4c 8d 83 bc 01 00 00 	lea    0x1bc(%rbx),%r8
18004a08a:	44 8b cf             	mov    %edi,%r9d
18004a08d:	b9 52 04 00 00       	mov    $0x452,%ecx
18004a092:	e8 e1 ca ff ff       	call   0x180046b78
18004a097:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx