18013c99f:	4c 8b 79 28          	mov    0x28(%rcx),%r15
18013c9a3:	eb 04                	jmp    0x18013c9a9
18013c9a5:	4c 8b 79 20          	mov    0x20(%rcx),%r15
18013c9a9:	e8 46 21 00 00       	call   0x18013eaf4
18013c9ae:	8b f8                	mov    %eax,%edi
18013c9b0:	85 c0                	test   %eax,%eax
18013c9b2:	78 49                	js     0x18013c9fd
18013c9b4:	49 8b 8f b8 00 00 00 	mov    0xb8(%r15),%rcx
18013c9bb:	48 85 c9             	test   %rcx,%rcx
18013c9be:	75 d9                	jne    0x18013c999
18013c9c0:	8b 86 a8 00 00 00    	mov    0xa8(%rsi),%eax
18013c9c6:	85 c0                	test   %eax,%eax
18013c9c8:	74 33                	je     0x18013c9fd
18013c9ca:	3b 45 30             	cmp    0x30(%rbp),%eax
18013c9cd:	77 16                	ja     0x18013c9e5
18013c9cf:	3b 45 34             	cmp    0x34(%rbp),%eax
18013c9d2:	72 11                	jb     0x18013c9e5
18013c9d4:	48 8b 8d 20 01 00 00 	mov    0x120(%rbp),%rcx
18013c9db:	8b d0                	mov    %eax,%edx
18013c9dd:	e8 fa 6e f0 ff       	call   0x1800438dc
18013c9e2:	48 8b d8             	mov    %rax,%rbx
18013c9e5:	f6 43 1e 01          	testb  $0x1,0x1e(%rbx)
18013c9e9:	74 06                	je     0x18013c9f1
18013c9eb:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
18013c9ef:	eb 04                	jmp    0x18013c9f5
18013c9f1:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
18013c9f5:	49 8b d6             	mov    %r14,%rdx
18013c9f8:	e8 bf 56 f0 ff       	call   0x1800420bc
18013c9fd:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18013ca02:	8b c7                	mov    %edi,%eax
18013ca04:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18013ca09:	48 83 c4 30          	add    $0x30,%rsp
18013ca0d:	41 5f                	pop    %r15
18013ca0f:	41 5e                	pop    %r14
18013ca11:	41 5c                	pop    %r12
18013ca13:	5f                   	pop    %rdi
18013ca14:	5e                   	pop    %rsi
18013ca15:	c3                   	ret
18013ca16:	cc                   	int3
18013ca17:	cc                   	int3
18013ca18:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013ca1d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18013ca22:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18013ca27:	57                   	push   %rdi
18013ca28:	48 83 ec 20          	sub    $0x20,%rsp
18013ca2c:	48 8b 99 d8 00 00 00 	mov    0xd8(%rcx),%rbx
18013ca33:	48 8b f2             	mov    %rdx,%rsi
18013ca36:	48 8b cb             	mov    %rbx,%rcx
18013ca39:	33 d2                	xor    %edx,%edx
18013ca3b:	e8 58 1f 00 00       	call   0x18013e998
18013ca40:	8b c8                	mov    %eax,%ecx
18013ca42:	85 c0                	test   %eax,%eax
18013ca44:	78 75                	js     0x18013cabb
18013ca46:	48 8b 5b 28          	mov    0x28(%rbx),%rbx
18013ca4a:	48 8b ce             	mov    %rsi,%rcx
18013ca4d:	e8 a2 20 00 00       	call   0x18013eaf4
18013ca52:	8b c8                	mov    %eax,%ecx
18013ca54:	85 c0                	test   %eax,%eax
18013ca56:	78 63                	js     0x18013cabb
18013ca58:	48 8b 7e 28          	mov    0x28(%rsi),%rdi
18013ca5c:	48 8b cf             	mov    %rdi,%rcx
18013ca5f:	e8 4c 67 f0 ff       	call   0x1800431b0
18013ca64:	33 d2                	xor    %edx,%edx
18013ca66:	48 8b c8             	mov    %rax,%rcx
18013ca69:	48 8b e8             	mov    %rax,%rbp
18013ca6c:	e8 27 1f 00 00       	call   0x18013e998
18013ca71:	8b c8                	mov    %eax,%ecx
18013ca73:	85 c0                	test   %eax,%eax
18013ca75:	78 44                	js     0x18013cabb
18013ca77:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
18013ca7b:	48 8b d6             	mov    %rsi,%rdx
18013ca7e:	e8 35 46 f0 ff       	call   0x1800410b8
18013ca83:	8b c8                	mov    %eax,%ecx
18013ca85:	85 c0                	test   %eax,%eax
18013ca87:	78 32                	js     0x18013cabb
18013ca89:	48 8b 47 20          	mov    0x20(%rdi),%rax
18013ca8d:	48 29 83 f0 00 00 00 	sub    %rax,0xf0(%rbx)
18013ca94:	f6 47 4c 02          	testb  $0x2,0x4c(%rdi)
18013ca98:	74 21                	je     0x18013cabb
18013ca9a:	48 8b 47 20          	mov    0x20(%rdi),%rax
18013ca9e:	48 29 83 18 01 00 00 	sub    %rax,0x118(%rbx)
18013caa5:	48 8b 47 20          	mov    0x20(%rdi),%rax
18013caa9:	48 29 83 08 01 00 00 	sub    %rax,0x108(%rbx)
18013cab0:	48 8b 47 20          	mov    0x20(%rdi),%rax
18013cab4:	48 01 83 10 01 00 00 	add    %rax,0x110(%rbx)
18013cabb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18013cac0:	8b c1                	mov    %ecx,%eax
18013cac2:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18013cac7:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18013cacc:	48 83 c4 20          	add    $0x20,%rsp
18013cad0:	5f                   	pop    %rdi
18013cad1:	c3                   	ret
18013cad2:	cc                   	int3
18013cad3:	cc                   	int3
18013cad4:	48 8b c4             	mov    %rsp,%rax
18013cad7:	48 89 58 08          	mov    %rbx,0x8(%rax)
18013cadb:	48 89 68 10          	mov    %rbp,0x10(%rax)
18013cadf:	48 89 70 18          	mov    %rsi,0x18(%rax)
18013cae3:	4c 89 70 20          	mov    %r14,0x20(%rax)
18013cae7:	41 57                	push   %r15
18013cae9:	48 83 ec 20          	sub    $0x20,%rsp
18013caed:	33 c0                	xor    %eax,%eax
18013caef:	33 db                	xor    %ebx,%ebx
18013caf1:	49 8b f1             	mov    %r9,%rsi
18013caf4:	49 8b e8             	mov    %r8,%rbp
18013caf7:	4c 8b f2             	mov    %rdx,%r14
18013cafa:	4c 8b f9             	mov    %rcx,%r15
18013cafd:	39 44 24 50          	cmp    %eax,0x50(%rsp)
18013cb01:	76 23                	jbe    0x18013cb26
18013cb03:	8b c3                	mov    %ebx,%eax
18013cb05:	4c 8b c5             	mov    %rbp,%r8
18013cb08:	4c 6b c8 58          	imul   $0x58,%rax,%r9
18013cb0c:	49 8b d6             	mov    %r14,%rdx
18013cb0f:	49 8b cf             	mov    %r15,%rcx
18013cb12:	4c 03 ce             	add    %rsi,%r9
18013cb15:	e8 1a d9 ff ff       	call   0x18013a434
18013cb1a:	85 c0                	test   %eax,%eax
18013cb1c:	78 08                	js     0x18013cb26
18013cb1e:	ff c3                	inc    %ebx
18013cb20:	3b 5c 24 50          	cmp    0x50(%rsp),%ebx
18013cb24:	72 dd                	jb     0x18013cb03
18013cb26:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18013cb2b:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18013cb30:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18013cb35:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
18013cb3a:	48 83 c4 20          	add    $0x20,%rsp
18013cb3e:	41 5f                	pop    %r15
18013cb40:	c3                   	ret
18013cb41:	cc                   	int3
18013cb42:	cc                   	int3
18013cb43:	cc                   	int3
18013cb44:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013cb49:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18013cb4e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18013cb53:	57                   	push   %rdi
18013cb54:	41 56                	push   %r14
18013cb56:	41 57                	push   %r15
18013cb58:	48 83 ec 20          	sub    $0x20,%rsp
18013cb5c:	49 83 09 ff          	orq    $0xffffffffffffffff,(%r9)
18013cb60:	4d 8b f1             	mov    %r9,%r14
18013cb63:	49 8b f8             	mov    %r8,%rdi
18013cb66:	8b da                	mov    %edx,%ebx
18013cb68:	33 f6                	xor    %esi,%esi
18013cb6a:	e8 e1 d6 ff ff       	call   0x18013a250
18013cb6f:	f6 40 1e 01          	testb  $0x1,0x1e(%rax)
18013cb73:	74 06                	je     0x18013cb7b
18013cb75:	48 8b 48 28          	mov    0x28(%rax),%rcx
18013cb79:	eb 04                	jmp    0x18013cb7f
18013cb7b:	48 8b 48 20          	mov    0x20(%rax),%rcx
18013cb7f:	33 d2                	xor    %edx,%edx
18013cb81:	4c 8b c3             	mov    %rbx,%r8
18013cb84:	49 c1 e0 16          	shl    $0x16,%r8
18013cb88:	49 8b c0             	mov    %r8,%rax
18013cb8b:	48 f7 71 60          	divq   0x60(%rcx)
18013cb8f:	4c 2b c2             	sub    %rdx,%r8
18013cb92:	4c 8b fa             	mov    %rdx,%r15
18013cb95:	49 8b d0             	mov    %r8,%rdx
18013cb98:	e8 3f 51 f0 ff       	call   0x180041cdc
18013cb9d:	eb 25                	jmp    0x18013cbc4
18013cb9f:	f6 43 1e 01          	testb  $0x1,0x1e(%rbx)
18013cba3:	74 06                	je     0x18013cbab
18013cba5:	48 8b 6b 28          	mov    0x28(%rbx),%rbp
18013cba9:	eb 04                	jmp    0x18013cbaf
18013cbab:	48 8b 6b 20          	mov    0x20(%rbx),%rbp
18013cbaf:	48 8b cd             	mov    %rbp,%rcx
18013cbb2:	e8 f9 65 f0 ff       	call   0x1800431b0
18013cbb7:	48 3b c7             	cmp    %rdi,%rax
18013cbba:	74 31                	je     0x18013cbed
18013cbbc:	48 8b d3             	mov    %rbx,%rdx
18013cbbf:	e8 40 51 f0 ff       	call   0x180041d04
18013cbc4:	48 8b d8             	mov    %rax,%rbx
18013cbc7:	48 85 c0             	test   %rax,%rax
18013cbca:	75 d3                	jne    0x18013cb9f
18013cbcc:	be 0e 00 00 c0       	mov    $0xc000000e,%esi
18013cbd1:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18013cbd6:	8b c6                	mov    %esi,%eax
18013cbd8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18013cbdd:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18013cbe2:	48 83 c4 20          	add    $0x20,%rsp
18013cbe6:	41 5f                	pop    %r15
18013cbe8:	41 5e                	pop    %r14
18013cbea:	5f                   	pop    %rdi
18013cbeb:	c3                   	ret
18013cbec:	cc                   	int3
18013cbed:	f6 47 1e 01          	testb  $0x1,0x1e(%rdi)
18013cbf1:	74 06                	je     0x18013cbf9
18013cbf3:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
18013cbf7:	eb 04                	jmp    0x18013cbfd
18013cbf9:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
18013cbfd:	e8 8e 41 f0 ff       	call   0x180040d90
18013cc02:	48 03 45 30          	add    0x30(%rbp),%rax
18013cc06:	49 03 c7             	add    %r15,%rax
18013cc09:	49 89 06             	mov    %rax,(%r14)
18013cc0c:	eb c3                	jmp    0x18013cbd1
18013cc0e:	cc                   	int3
18013cc0f:	cc                   	int3
18013cc10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013cc15:	57                   	push   %rdi
18013cc16:	48 83 ec 20          	sub    $0x20,%rsp
18013cc1a:	f6 42 1e 01          	testb  $0x1,0x1e(%rdx)
18013cc1e:	48 8b d9             	mov    %rcx,%rbx
18013cc21:	74 06                	je     0x18013cc29
18013cc23:	48 8b 42 28          	mov    0x28(%rdx),%rax
18013cc27:	eb 04                	jmp    0x18013cc2d
18013cc29:	48 8b 42 20          	mov    0x20(%rdx),%rax
18013cc2d:	8b 80 a8 00 00 00    	mov    0xa8(%rax),%eax
18013cc33:	85 c0                	test   %eax,%eax
18013cc35:	74 39                	je     0x18013cc70
18013cc37:	8b 79 30             	mov    0x30(%rcx),%edi
18013cc3a:	33 d2                	xor    %edx,%edx
18013cc3c:	3b c7                	cmp    %edi,%eax
18013cc3e:	77 16                	ja     0x18013cc56
18013cc40:	3b 43 34             	cmp    0x34(%rbx),%eax
18013cc43:	72 11                	jb     0x18013cc56
18013cc45:	48 8b 8b 20 01 00 00 	mov    0x120(%rbx),%rcx
18013cc4c:	8b d0                	mov    %eax,%edx
18013cc4e:	e8 89 6c f0 ff       	call   0x1800438dc
18013cc53:	48 8b d0             	mov    %rax,%rdx
18013cc56:	f6 42 1e 01          	testb  $0x1,0x1e(%rdx)
18013cc5a:	74 06                	je     0x18013cc62
18013cc5c:	48 8b 42 28          	mov    0x28(%rdx),%rax
18013cc60:	eb 04                	jmp    0x18013cc66
18013cc62:	48 8b 42 20          	mov    0x20(%rdx),%rax
18013cc66:	8b 80 a8 00 00 00    	mov    0xa8(%rax),%eax
18013cc6c:	85 c0                	test   %eax,%eax
18013cc6e:	75 ca                	jne    0x18013cc3a
18013cc70:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18013cc75:	48 8b c2             	mov    %rdx,%rax
18013cc78:	48 83 c4 20          	add    $0x20,%rsp
18013cc7c:	5f                   	pop    %rdi
18013cc7d:	c3                   	ret
18013cc7e:	cc                   	int3
18013cc7f:	cc                   	int3
18013cc80:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18013cc85:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18013cc8a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18013cc8f:	57                   	push   %rdi
18013cc90:	48 83 ec 20          	sub    $0x20,%rsp
18013cc94:	48 8b f1             	mov    %rcx,%rsi
18013cc97:	33 ed                	xor    %ebp,%ebp
18013cc99:	8b 4a 18             	mov    0x18(%rdx),%ecx
18013cc9c:	48 8b da             	mov    %rdx,%rbx
18013cc9f:	85 c9                	test   %ecx,%ecx
18013cca1:	0f 84 ad 00 00 00    	je     0x18013cd54
18013cca7:	48 8b be 20 01 00 00 	mov    0x120(%rsi),%rdi
18013ccae:	48 3b 4f 30          	cmp    0x30(%rdi),%rcx
18013ccb2:	0f 82 85 00 00 00    	jb     0x18013cd3d
18013ccb8:	8d 4d 40             	lea    0x40(%rbp),%ecx
18013ccbb:	e8 44 2e f0 ff       	call   0x18003fb04
18013ccc0:	48 85 c0             	test   %rax,%rax
18013ccc3:	74 0d                	je     0x18013ccd2
18013ccc5:	48 8b c8             	mov    %rax,%rcx
18013ccc8:	e8 53 6a f0 ff       	call   0x180043720
18013cccd:	48 8b f8             	mov    %rax,%rdi
18013ccd0:	eb 02                	jmp    0x18013ccd4
18013ccd2:	33 ff                	xor    %edi,%edi
18013ccd4:	48 85 ff             	test   %rdi,%rdi
18013ccd7:	75 0a                	jne    0x18013cce3
18013ccd9:	bd 9a 00 00 c0       	mov    $0xc000009a,%ebp
18013ccde:	e9 2d 01 00 00       	jmp    0x18013ce10
18013cce3:	8b 53 18             	mov    0x18(%rbx),%edx
18013cce6:	48 8b cf             	mov    %rdi,%rcx
18013cce9:	81 c2 00 01 00 00    	add    $0x100,%edx
18013ccef:	e8 74 6a f0 ff       	call   0x180043768
18013ccf4:	8b e8                	mov    %eax,%ebp
18013ccf6:	85 c0                	test   %eax,%eax
18013ccf8:	0f 88 fd 00 00 00    	js     0x18013cdfb
18013ccfe:	48 8b 8e 20 01 00 00 	mov    0x120(%rsi),%rcx
18013cd05:	48 8b d7             	mov    %rdi,%rdx
18013cd08:	e8 b3 6f f0 ff       	call   0x180043cc0
18013cd0d:	8b e8                	mov    %eax,%ebp
18013cd0f:	85 c0                	test   %eax,%eax
18013cd11:	0f 88 e4 00 00 00    	js     0x18013cdfb
18013cd17:	48 8b ae 20 01 00 00 	mov    0x120(%rsi),%rbp
18013cd1e:	48 85 ed             	test   %rbp,%rbp
18013cd21:	74 10                	je     0x18013cd33
18013cd23:	48 8b cd             	mov    %rbp,%rcx
18013cd26:	e8 2d 6a f0 ff       	call   0x180043758
18013cd2b:	48 8b cd             	mov    %rbp,%rcx
18013cd2e:	e8 e1 2d f0 ff       	call   0x18003fb14
18013cd33:	48 89 be 20 01 00 00 	mov    %rdi,0x120(%rsi)
18013cd3a:	8b 4b 18             	mov    0x18(%rbx),%ecx
18013cd3d:	8b d1                	mov    %ecx,%edx
18013cd3f:	4c 8b c3             	mov    %rbx,%r8
18013cd42:	48 8b cf             	mov    %rdi,%rcx
18013cd45:	e8 d6 6b f0 ff       	call   0x180043920
18013cd4a:	8b e8                	mov    %eax,%ebp
18013cd4c:	85 c0                	test   %eax,%eax
18013cd4e:	0f 88 bc 00 00 00    	js     0x18013ce10
18013cd54:	0f b6 4b 1c          	movzbl 0x1c(%rbx),%ecx
18013cd58:	83 e9 01             	sub    $0x1,%ecx
18013cd5b:	74 4f                	je     0x18013cdac
18013cd5d:	83 e9 01             	sub    $0x1,%ecx
18013cd60:	74 2a                	je     0x18013cd8c
18013cd62:	83 e9 01             	sub    $0x1,%ecx
18013cd65:	74 1c                	je     0x18013cd83
18013cd67:	83 e9 01             	sub    $0x1,%ecx
18013cd6a:	74 0e                	je     0x18013cd7a
18013cd6c:	83 f9 02             	cmp    $0x2,%ecx
18013cd6f:	75 64                	jne    0x18013cdd5
18013cd71:	48 8d 86 00 01 00 00 	lea    0x100(%rsi),%rax
18013cd78:	eb 19                	jmp    0x18013cd93
18013cd7a:	48 8d 86 10 01 00 00 	lea    0x110(%rsi),%rax
18013cd81:	eb 10                	jmp    0x18013cd93
18013cd83:	48 8d 86 f0 00 00 00 	lea    0xf0(%rsi),%rax
18013cd8a:	eb 07                	jmp    0x18013cd93
18013cd8c:	48 8d 86 e0 00 00 00 	lea    0xe0(%rsi),%rax
18013cd93:	48 8b 48 08          	mov    0x8(%rax),%rcx
18013cd97:	48 39 01             	cmp    %rax,(%rcx)
18013cd9a:	75 1d                	jne    0x18013cdb9
18013cd9c:	48 89 03             	mov    %rax,(%rbx)
18013cd9f:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
18013cda3:	48 89 19             	mov    %rbx,(%rcx)
18013cda6:	48 89 58 08          	mov    %rbx,0x8(%rax)
18013cdaa:	eb 29                	jmp    0x18013cdd5
18013cdac:	48 8d 46 20          	lea    0x20(%rsi),%rax
18013cdb0:	48 8b 48 08          	mov    0x8(%rax),%rcx
18013cdb4:	48 39 01             	cmp    %rax,(%rcx)
18013cdb7:	74 07                	je     0x18013cdc0
18013cdb9:	b9 03 00 00 00       	mov    $0x3,%ecx
18013cdbe:	cd 29                	int    $0x29
18013cdc0:	48 89 03             	mov    %rax,(%rbx)
18013cdc3:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
18013cdc7:	48 89 19             	mov    %rbx,(%rcx)
18013cdca:	48 89 58 08          	mov    %rbx,0x8(%rax)
18013cdce:	48 89 9e d8 00 00 00 	mov    %rbx,0xd8(%rsi)
18013cdd5:	8b 43 18             	mov    0x18(%rbx),%eax
18013cdd8:	8b 4e 30             	mov    0x30(%rsi),%ecx
18013cddb:	3b c8                	cmp    %eax,%ecx
18013cddd:	0f 46 c8             	cmovbe %eax,%ecx
18013cde0:	89 4e 30             	mov    %ecx,0x30(%rsi)
18013cde3:	8b 43 18             	mov    0x18(%rbx),%eax
18013cde6:	8b 4e 34             	mov    0x34(%rsi),%ecx
18013cde9:	3b c8                	cmp    %eax,%ecx
18013cdeb:	0f 43 c8             	cmovae %eax,%ecx
18013cdee:	89 4e 34             	mov    %ecx,0x34(%rsi)
18013cdf1:	0f b6 43 1c          	movzbl 0x1c(%rbx),%eax
18013cdf5:	ff 44 86 38          	incl   0x38(%rsi,%rax,4)
18013cdf9:	33 ff                	xor    %edi,%edi
18013cdfb:	48 85 ff             	test   %rdi,%rdi
18013cdfe:	74 10                	je     0x18013ce10
18013ce00:	48 8b cf             	mov    %rdi,%rcx
18013ce03:	e8 50 69 f0 ff       	call   0x180043758
18013ce08:	48 8b cf             	mov    %rdi,%rcx
18013ce0b:	e8 04 2d f0 ff       	call   0x18003fb14
18013ce10:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18013ce15:	8b c5                	mov    %ebp,%eax
18013ce17:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18013ce1c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18013ce21:	48 83 c4 20          	add    $0x20,%rsp