485b2f:	3b 72 54             	cmp    0x54(%edx),%esi
485b32:	7c cc                	jl     0x485b00
485b34:	8b b5 84 fc ff ff    	mov    -0x37c(%ebp),%esi
485b3a:	8b 42 74             	mov    0x74(%edx),%eax
485b3d:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485b43:	89 46 50             	mov    %eax,0x50(%esi)
485b46:	8b 42 74             	mov    0x74(%edx),%eax
485b49:	8b 49 04             	mov    0x4(%ecx),%ecx
485b4c:	c1 e0 03             	shl    $0x3,%eax
485b4f:	89 8d 74 fc ff ff    	mov    %ecx,-0x38c(%ebp)
485b55:	89 85 88 fc ff ff    	mov    %eax,-0x378(%ebp)
485b5b:	85 c0                	test   %eax,%eax
485b5d:	74 3e                	je     0x485b9d
485b5f:	8b 81 90 00 00 00    	mov    0x90(%ecx),%eax
485b65:	8d b9 8c 00 00 00    	lea    0x8c(%ecx),%edi
485b6b:	8d 8d 88 fc ff ff    	lea    -0x378(%ebp),%ecx
485b71:	51                   	push   %ecx
485b72:	50                   	push   %eax
485b73:	3b 47 08             	cmp    0x8(%edi),%eax
485b76:	74 0f                	je     0x485b87
485b78:	57                   	push   %edi
485b79:	e8 12 4e ff ff       	call   0x47a990
485b7e:	83 c4 0c             	add    $0xc,%esp
485b81:	83 47 04 0c          	addl   $0xc,0x4(%edi)
485b85:	eb 07                	jmp    0x485b8e
485b87:	8b cf                	mov    %edi,%ecx
485b89:	e8 12 30 ff ff       	call   0x478ba0
485b8e:	8b 85 74 fc ff ff    	mov    -0x38c(%ebp),%eax
485b94:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
485b9a:	8b 40 f4             	mov    -0xc(%eax),%eax
485b9d:	89 46 2c             	mov    %eax,0x2c(%esi)
485ba0:	33 ff                	xor    %edi,%edi
485ba2:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
485ba8:	39 78 74             	cmp    %edi,0x74(%eax)
485bab:	0f 8e 07 01 00 00    	jle    0x485cb8
485bb1:	8b 40 7c             	mov    0x7c(%eax),%eax
485bb4:	8b 56 2c             	mov    0x2c(%esi),%edx
485bb7:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
485bbb:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
485bc1:	8b 48 10             	mov    0x10(%eax),%ecx
485bc4:	89 0c fa             	mov    %ecx,(%edx,%edi,8)
485bc7:	8b 40 14             	mov    0x14(%eax),%eax
485bca:	89 44 fa 04          	mov    %eax,0x4(%edx,%edi,8)
485bce:	85 c9                	test   %ecx,%ecx
485bd0:	0f 8f d2 00 00 00    	jg     0x485ca8
485bd6:	8b 76 04             	mov    0x4(%esi),%esi
485bd9:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
485be0:	6a 30                	push   $0x30
485be2:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
485be9:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
485bf0:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
485bf4:	e8 2c b6 14 00       	call   0x5d1225
485bf9:	0f 10 05 64 8c 60 00 	movups 0x608c64,%xmm0
485c00:	8b d0                	mov    %eax,%edx
485c02:	c7 45 d0 2b 00 00 00 	movl   $0x2b,-0x30(%ebp)
485c09:	c7 45 d4 2f 00 00 00 	movl   $0x2f,-0x2c(%ebp)
485c10:	83 c4 04             	add    $0x4,%esp
485c13:	0f 11 02             	movups %xmm0,(%edx)
485c16:	0f 10 05 74 8c 60 00 	movups 0x608c74,%xmm0
485c1d:	0f 11 42 10          	movups %xmm0,0x10(%edx)
485c21:	f3 0f 7e 05 84 8c 60 	movq   0x608c84,%xmm0
485c28:	00
485c29:	66 0f d6 42 20       	movq   %xmm0,0x20(%edx)
485c2e:	66 8b 0d 8c 8c 60 00 	mov    0x608c8c,%cx
485c35:	66 89 4a 28          	mov    %cx,0x28(%edx)
485c39:	a0 8e 8c 60 00       	mov    0x608c8e,%al
485c3e:	88 42 2a             	mov    %al,0x2a(%edx)
485c41:	c6 42 2b 00          	movb   $0x0,0x2b(%edx)
485c45:	89 55 c0             	mov    %edx,-0x40(%ebp)
485c48:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485c4e:	8d 45 c0             	lea    -0x40(%ebp),%eax
485c51:	50                   	push   %eax
485c52:	6a 01                	push   $0x1
485c54:	ff b5 74 fc ff ff    	push   -0x38c(%ebp)
485c5a:	c7 45 fc 0e 00 00 00 	movl   $0xe,-0x4(%ebp)
485c61:	56                   	push   %esi
485c62:	e8 49 8b ff ff       	call   0x47e7b0
485c67:	8b 55 d4             	mov    -0x2c(%ebp),%edx
485c6a:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
485c71:	83 fa 10             	cmp    $0x10,%edx
485c74:	72 2c                	jb     0x485ca2
485c76:	8b 4d c0             	mov    -0x40(%ebp),%ecx
485c79:	42                   	inc    %edx
485c7a:	8b c1                	mov    %ecx,%eax
485c7c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
485c82:	72 14                	jb     0x485c98
485c84:	8b 49 fc             	mov    -0x4(%ecx),%ecx
485c87:	83 c2 23             	add    $0x23,%edx
485c8a:	2b c1                	sub    %ecx,%eax
485c8c:	83 c0 fc             	add    $0xfffffffc,%eax
485c8f:	83 f8 1f             	cmp    $0x1f,%eax
485c92:	0f 87 dd 11 00 00    	ja     0x486e75
485c98:	52                   	push   %edx
485c99:	51                   	push   %ecx
485c9a:	e8 b6 b5 14 00       	call   0x5d1255
485c9f:	83 c4 08             	add    $0x8,%esp
485ca2:	8b b5 84 fc ff ff    	mov    -0x37c(%ebp),%esi
485ca8:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
485cae:	47                   	inc    %edi
485caf:	3b 78 74             	cmp    0x74(%eax),%edi
485cb2:	0f 8c f9 fe ff ff    	jl     0x485bb1
485cb8:	8d 88 80 00 00 00    	lea    0x80(%eax),%ecx
485cbe:	e8 fd 82 fd ff       	call   0x45dfc0
485cc3:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485cc9:	89 46 54             	mov    %eax,0x54(%esi)
485ccc:	89 85 7c fc ff ff    	mov    %eax,-0x384(%ebp)
485cd2:	8b 51 04             	mov    0x4(%ecx),%edx
485cd5:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
485cdc:	89 95 74 fc ff ff    	mov    %edx,-0x38c(%ebp)
485ce2:	89 8d 88 fc ff ff    	mov    %ecx,-0x378(%ebp)
485ce8:	85 c9                	test   %ecx,%ecx
485cea:	74 44                	je     0x485d30
485cec:	8b 82 90 00 00 00    	mov    0x90(%edx),%eax
485cf2:	8d ba 8c 00 00 00    	lea    0x8c(%edx),%edi
485cf8:	8d 8d 88 fc ff ff    	lea    -0x378(%ebp),%ecx
485cfe:	51                   	push   %ecx
485cff:	50                   	push   %eax
485d00:	3b 47 08             	cmp    0x8(%edi),%eax
485d03:	74 0f                	je     0x485d14
485d05:	57                   	push   %edi
485d06:	e8 85 4c ff ff       	call   0x47a990
485d0b:	83 c4 0c             	add    $0xc,%esp
485d0e:	83 47 04 0c          	addl   $0xc,0x4(%edi)
485d12:	eb 07                	jmp    0x485d1b
485d14:	8b cf                	mov    %edi,%ecx
485d16:	e8 85 2e ff ff       	call   0x478ba0
485d1b:	8b 85 74 fc ff ff    	mov    -0x38c(%ebp),%eax
485d21:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
485d27:	8b 48 f4             	mov    -0xc(%eax),%ecx
485d2a:	8b 85 7c fc ff ff    	mov    -0x384(%ebp),%eax
485d30:	33 ff                	xor    %edi,%edi
485d32:	89 4e 30             	mov    %ecx,0x30(%esi)
485d35:	85 c0                	test   %eax,%eax
485d37:	0f 8e b6 00 00 00    	jle    0x485df3
485d3d:	0f 1f 00             	nopl   (%eax)
485d40:	8b 8d 8c fc ff ff    	mov    -0x374(%ebp),%ecx
485d46:	57                   	push   %edi
485d47:	8d 89 80 00 00 00    	lea    0x80(%ecx),%ecx
485d4d:	e8 8e 75 fd ff       	call   0x45d2e0
485d52:	8b c8                	mov    %eax,%ecx
485d54:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
485d58:	72 02                	jb     0x485d5c
485d5a:	8b 08                	mov    (%eax),%ecx
485d5c:	8b 40 10             	mov    0x10(%eax),%eax
485d5f:	89 85 6c fc ff ff    	mov    %eax,-0x394(%ebp)
485d65:	8b 85 80 fc ff ff    	mov    -0x380(%ebp),%eax
485d6b:	6a 18                	push   $0x18
485d6d:	89 8d 68 fc ff ff    	mov    %ecx,-0x398(%ebp)
485d73:	8b 40 04             	mov    0x4(%eax),%eax
485d76:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
485d7c:	e8 a4 b4 14 00       	call   0x5d1225
485d81:	83 c4 04             	add    $0x4,%esp
485d84:	89 45 d4             	mov    %eax,-0x2c(%ebp)
485d87:	c7 45 fc 0f 00 00 00 	movl   $0xf,-0x4(%ebp)
485d8e:	85 c0                	test   %eax,%eax
485d90:	74 10                	je     0x485da2
485d92:	50                   	push   %eax
485d93:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
485d99:	e8 62 85 ff ff       	call   0x47e300
485d9e:	8b f0                	mov    %eax,%esi
485da0:	eb 02                	jmp    0x485da4
485da2:	33 f6                	xor    %esi,%esi
485da4:	8b 8d 74 fc ff ff    	mov    -0x38c(%ebp),%ecx
485daa:	81 c1 98 00 00 00    	add    $0x98,%ecx
485db0:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
485db7:	89 b5 88 fc ff ff    	mov    %esi,-0x378(%ebp)
485dbd:	8b 41 04             	mov    0x4(%ecx),%eax
485dc0:	3b 41 08             	cmp    0x8(%ecx),%eax
485dc3:	74 08                	je     0x485dcd
485dc5:	89 30                	mov    %esi,(%eax)
485dc7:	83 41 04 04          	addl   $0x4,0x4(%ecx)
485dcb:	eb 0d                	jmp    0x485dda
485dcd:	8d 95 88 fc ff ff    	lea    -0x378(%ebp),%edx
485dd3:	52                   	push   %edx
485dd4:	50                   	push   %eax
485dd5:	e8 26 30 ff ff       	call   0x478e00
485dda:	8b 85 84 fc ff ff    	mov    -0x37c(%ebp),%eax
485de0:	8b 40 30             	mov    0x30(%eax),%eax
485de3:	89 34 b8             	mov    %esi,(%eax,%edi,4)
485de6:	47                   	inc    %edi
485de7:	3b bd 7c fc ff ff    	cmp    -0x384(%ebp),%edi
485ded:	0f 8c 4d ff ff ff    	jl     0x485d40
485df3:	8b bd 84 fc ff ff    	mov    -0x37c(%ebp),%edi
485df9:	8b b5 8c fc ff ff    	mov    -0x374(%ebp),%esi
485dff:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
485e06:	8b 46 08             	mov    0x8(%esi),%eax
485e09:	d1 e8                	shr    $1,%eax
485e0b:	24 01                	and    $0x1,%al
485e0d:	0f 84 63 01 00 00    	je     0x485f76
485e13:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
485e1a:	6a 20                	push   $0x20
485e1c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
485e23:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
485e2a:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
485e2e:	e8 f2 b3 14 00       	call   0x5d1225
485e33:	0f 10 05 bc 7c 60 00 	movups 0x607cbc,%xmm0
485e3a:	c7 45 e8 1e 00 00 00 	movl   $0x1e,-0x18(%ebp)
485e41:	83 c4 04             	add    $0x4,%esp
485e44:	c7 45 ec 1f 00 00 00 	movl   $0x1f,-0x14(%ebp)
485e4b:	0f 11 00             	movups %xmm0,(%eax)
485e4e:	f3 0f 7e 05 cc 7c 60 	movq   0x607ccc,%xmm0
485e55:	00
485e56:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
485e5b:	8b 0d d4 7c 60 00    	mov    0x607cd4,%ecx
485e61:	89 48 18             	mov    %ecx,0x18(%eax)
485e64:	66 8b 0d d8 7c 60 00 	mov    0x607cd8,%cx
485e6b:	66 89 48 1c          	mov    %cx,0x1c(%eax)
485e6f:	c6 40 1e 00          	movb   $0x0,0x1e(%eax)
485e73:	89 45 d8             	mov    %eax,-0x28(%ebp)
485e76:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
485e7c:	be 34 da 68 00       	mov    $0x68da34,%esi
485e81:	85 c0                	test   %eax,%eax
485e83:	c7 45 fc 11 00 00 00 	movl   $0x11,-0x4(%ebp)
485e8a:	c7 85 74 fc ff ff 07 	movl   $0x7,-0x38c(%ebp)
485e91:	00 00 00
485e94:	0f 45 f0             	cmovne %eax,%esi
485e97:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
485e9e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
485ea5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
485eac:	8d 45 cc             	lea    -0x34(%ebp),%eax
485eaf:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
485eb3:	50                   	push   %eax
485eb4:	8b cf                	mov    %edi,%ecx
485eb6:	e8 25 c0 00 00       	call   0x491ee0
485ebb:	8b 45 d0             	mov    -0x30(%ebp),%eax
485ebe:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
485ec1:	74 0c                	je     0x485ecf
485ec3:	c7 00 07 00 00 00    	movl   $0x7,(%eax)
485ec9:	83 45 d0 04          	addl   $0x4,-0x30(%ebp)
485ecd:	eb 10                	jmp    0x485edf
485ecf:	8d 8d 74 fc ff ff    	lea    -0x38c(%ebp),%ecx
485ed5:	51                   	push   %ecx
485ed6:	50                   	push   %eax
485ed7:	8d 4d cc             	lea    -0x34(%ebp),%ecx
485eda:	e8 b1 bd fd ff       	call   0x461c90
485edf:	8b 47 04             	mov    0x4(%edi),%eax
485ee2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
485ee5:	51                   	push   %ecx
485ee6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
485ee9:	51                   	push   %ecx
485eea:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485ef0:	57                   	push   %edi
485ef1:	56                   	push   %esi
485ef2:	50                   	push   %eax
485ef3:	50                   	push   %eax
485ef4:	e8 e7 09 ff ff       	call   0x4768e0
485ef9:	8b 4d cc             	mov    -0x34(%ebp),%ecx
485efc:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
485f00:	85 c9                	test   %ecx,%ecx
485f02:	74 37                	je     0x485f3b
485f04:	8b 45 d4             	mov    -0x2c(%ebp),%eax
485f07:	2b c1                	sub    %ecx,%eax
485f09:	c1 f8 02             	sar    $0x2,%eax
485f0c:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
485f13:	8b c1                	mov    %ecx,%eax
485f15:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
485f1b:	72 14                	jb     0x485f31
485f1d:	8b 49 fc             	mov    -0x4(%ecx),%ecx
485f20:	83 c2 23             	add    $0x23,%edx
485f23:	2b c1                	sub    %ecx,%eax
485f25:	83 c0 fc             	add    $0xfffffffc,%eax
485f28:	83 f8 1f             	cmp    $0x1f,%eax
485f2b:	0f 87 44 0f 00 00    	ja     0x486e75
485f31:	52                   	push   %edx
485f32:	51                   	push   %ecx
485f33:	e8 1d b3 14 00       	call   0x5d1255
485f38:	83 c4 08             	add    $0x8,%esp
485f3b:	8b 55 ec             	mov    -0x14(%ebp),%edx
485f3e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
485f45:	83 fa 10             	cmp    $0x10,%edx
485f48:	72 2c                	jb     0x485f76
485f4a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
485f4d:	42                   	inc    %edx
485f4e:	8b c1                	mov    %ecx,%eax
485f50:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
485f56:	72 14                	jb     0x485f6c
485f58:	8b 49 fc             	mov    -0x4(%ecx),%ecx
485f5b:	83 c2 23             	add    $0x23,%edx
485f5e:	2b c1                	sub    %ecx,%eax
485f60:	83 c0 fc             	add    $0xfffffffc,%eax
485f63:	83 f8 1f             	cmp    $0x1f,%eax
485f66:	0f 87 0e 0f 00 00    	ja     0x486e7a
485f6c:	52                   	push   %edx
485f6d:	51                   	push   %ecx
485f6e:	e8 e2 b2 14 00       	call   0x5d1255
485f73:	83 c4 08             	add    $0x8,%esp
485f76:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485f7c:	57                   	push   %edi
485f7d:	6a 01                	push   $0x1
485f7f:	ff b5 8c fc ff ff    	push   -0x374(%ebp)
485f85:	ff 37                	push   (%edi)
485f87:	ff b5 78 fc ff ff    	push   -0x388(%ebp)
485f8d:	ff 77 04             	push   0x4(%edi)
485f90:	e8 1b 9d ff ff       	call   0x47fcb0
485f95:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
485f9b:	33 d2                	xor    %edx,%edx
485f9d:	89 95 78 fc ff ff    	mov    %edx,-0x388(%ebp)
485fa3:	8b 48 74             	mov    0x74(%eax),%ecx
485fa6:	85 c9                	test   %ecx,%ecx
485fa8:	0f 8e 89 02 00 00    	jle    0x486237
485fae:	be 01 00 00 00       	mov    $0x1,%esi
485fb3:	89 b5 6c fc ff ff    	mov    %esi,-0x394(%ebp)
485fb9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
485fc0:	8b 40 7c             	mov    0x7c(%eax),%eax
485fc3:	89 b5 88 fc ff ff    	mov    %esi,-0x378(%ebp)
485fc9:	8b 54 90 04          	mov    0x4(%eax,%edx,4),%edx
485fcd:	8b c1                	mov    %ecx,%eax
485fcf:	89 95 7c fc ff ff    	mov    %edx,-0x384(%ebp)
485fd5:	39 8d 6c fc ff ff    	cmp    %ecx,-0x394(%ebp)
485fdb:	0f 8d 2b 02 00 00    	jge    0x48620c
485fe1:	8b 85 8c fc ff ff    	mov    -0x374(%ebp),%eax
485fe7:	8b 4a 14             	mov    0x14(%edx),%ecx
485fea:	8b 40 7c             	mov    0x7c(%eax),%eax
485fed:	8b 74 b0 04          	mov    0x4(%eax,%esi,4),%esi
485ff1:	3b 4e 10             	cmp    0x10(%esi),%ecx
485ff4:	0f 8e f4 01 00 00    	jle    0x4861ee
485ffa:	8b 46 14             	mov    0x14(%esi),%eax
485ffd:	3b 42 10             	cmp    0x10(%edx),%eax
486000:	0f 8e e8 01 00 00    	jle    0x4861ee
486006:	8d 41 ff             	lea    -0x1(%ecx),%eax
486009:	8d 4d b8             	lea    -0x48(%ebp),%ecx
48600c:	51                   	push   %ecx
48600d:	50                   	push   %eax
48600e:	e8 2d 97 01 00       	call   0x49f740
486013:	8b c8                	mov    %eax,%ecx
486015:	83 c4 08             	add    $0x8,%esp
486018:	89 4d b0             	mov    %ecx,-0x50(%ebp)
48601b:	8d 51 01             	lea    0x1(%ecx),%edx
48601e:	66 90                	xchg   %ax,%ax
486020:	8a 01                	mov    (%ecx),%al
486022:	41                   	inc    %ecx
486023:	84 c0                	test   %al,%al
486025:	75 f9                	jne    0x486020
486027:	8d 85 00 fe ff ff    	lea    -0x200(%ebp),%eax
48602d:	2b ca                	sub    %edx,%ecx
48602f:	50                   	push   %eax
486030:	8b 85 7c fc ff ff    	mov    -0x384(%ebp),%eax
486036:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
486039:	ff 70 10             	push   0x10(%eax)
48603c:	e8 ff 96 01 00       	call   0x49f740
486041:	8b c8                	mov    %eax,%ecx
486043:	83 c4 08             	add    $0x8,%esp
486046:	89 8d f8 fd ff ff    	mov    %ecx,-0x208(%ebp)
48604c:	8d 51 01             	lea    0x1(%ecx),%edx
48604f:	90                   	nop
486050:	8a 01                	mov    (%ecx),%al
486052:	41                   	inc    %ecx
486053:	84 c0                	test   %al,%al
486055:	75 f9                	jne    0x486050
486057:	8b 46 14             	mov    0x14(%esi),%eax