4858c7:	89 85 60 fc ff ff    	mov    %eax,-0x3a0(%ebp)
4858cd:	e8 2e 0a ff ff       	call   0x476300
4858d2:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
4858d8:	33 f6                	xor    %esi,%esi
4858da:	39 72 14             	cmp    %esi,0x14(%edx)
4858dd:	7e 3c                	jle    0x48591b
4858df:	33 ff                	xor    %edi,%edi
4858e1:	8b 85 60 fc ff ff    	mov    -0x3a0(%ebp),%eax
4858e7:	6a 00                	push   $0x0
4858e9:	8b 08                	mov    (%eax),%ecx
4858eb:	8b 42 1c             	mov    0x1c(%edx),%eax
4858ee:	03 cf                	add    %edi,%ecx
4858f0:	51                   	push   %ecx
4858f1:	ff b5 84 fc ff ff    	push   -0x37c(%ebp)
4858f7:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
4858fd:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
485901:	e8 6a ce ff ff       	call   0x482770
485906:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
48590c:	46                   	inc    %esi
48590d:	83 c7 58             	add    $0x58,%edi
485910:	3b 72 14             	cmp    0x14(%edx),%esi
485913:	7c cc                	jl     0x4858e1
485915:	8b bd 84 fc ff ff    	mov    -0x37c(%ebp),%edi
48591b:	8b 42 24             	mov    0x24(%edx),%eax
48591e:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485924:	89 47 40             	mov    %eax,0x40(%edi)
485927:	8d 47 1c             	lea    0x1c(%edi),%eax
48592a:	50                   	push   %eax
48592b:	ff 72 24             	push   0x24(%edx)
48592e:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
485934:	e8 67 08 ff ff       	call   0x4761a0
485939:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
48593f:	33 f6                	xor    %esi,%esi
485941:	39 72 24             	cmp    %esi,0x24(%edx)
485944:	7e 3c                	jle    0x485982
485946:	33 ff                	xor    %edi,%edi
485948:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
48594f:	00
485950:	8b 85 74 fc ff ff    	mov    -0x38c(%ebp),%eax
485956:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
48595c:	8b 00                	mov    (%eax),%eax
48595e:	03 c7                	add    %edi,%eax
485960:	50                   	push   %eax
485961:	8b 42 2c             	mov    0x2c(%edx),%eax
485964:	ff b5 84 fc ff ff    	push   -0x37c(%ebp)
48596a:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
48596e:	e8 1d fd ff ff       	call   0x485690
485973:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485979:	46                   	inc    %esi
48597a:	83 c7 5c             	add    $0x5c,%edi
48597d:	3b 72 24             	cmp    0x24(%edx),%esi
485980:	7c ce                	jl     0x485950
485982:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
485988:	8b 42 34             	mov    0x34(%edx),%eax
48598b:	8b bd 80 fc ff ff    	mov    -0x380(%ebp),%edi
485991:	89 41 44             	mov    %eax,0x44(%ecx)
485994:	8b 42 34             	mov    0x34(%edx),%eax
485997:	8b 7f 04             	mov    0x4(%edi),%edi
48599a:	8d 04 40             	lea    (%eax,%eax,2),%eax
48599d:	c1 e0 04             	shl    $0x4,%eax
4859a0:	89 85 88 fc ff ff    	mov    %eax,-0x378(%ebp)
4859a6:	85 c0                	test   %eax,%eax
4859a8:	74 44                	je     0x4859ee
4859aa:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4859b0:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
4859b6:	8d 8d 88 fc ff ff    	lea    -0x378(%ebp),%ecx
4859bc:	51                   	push   %ecx
4859bd:	50                   	push   %eax
4859be:	3b 46 08             	cmp    0x8(%esi),%eax
4859c1:	74 0f                	je     0x4859d2
4859c3:	56                   	push   %esi
4859c4:	e8 c7 4f ff ff       	call   0x47a990
4859c9:	83 c4 0c             	add    $0xc,%esp
4859cc:	83 46 04 0c          	addl   $0xc,0x4(%esi)
4859d0:	eb 07                	jmp    0x4859d9
4859d2:	8b ce                	mov    %esi,%ecx
4859d4:	e8 c7 31 ff ff       	call   0x478ba0
4859d9:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4859df:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
4859e5:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
4859eb:	8b 40 f4             	mov    -0xc(%eax),%eax
4859ee:	33 f6                	xor    %esi,%esi
4859f0:	89 41 20             	mov    %eax,0x20(%ecx)
4859f3:	39 72 34             	cmp    %esi,0x34(%edx)
4859f6:	7e 36                	jle    0x485a2e
4859f8:	33 ff                	xor    %edi,%edi
4859fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
485a00:	8b 41 20             	mov    0x20(%ecx),%eax
485a03:	03 c7                	add    %edi,%eax
485a05:	50                   	push   %eax
485a06:	8b 42 3c             	mov    0x3c(%edx),%eax
485a09:	51                   	push   %ecx
485a0a:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485a10:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
485a14:	e8 87 b1 ff ff       	call   0x480ba0
485a19:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485a1f:	46                   	inc    %esi
485a20:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
485a26:	83 c7 30             	add    $0x30,%edi
485a29:	3b 72 34             	cmp    0x34(%edx),%esi
485a2c:	7c d2                	jl     0x485a00
485a2e:	8b 42 44             	mov    0x44(%edx),%eax
485a31:	8b b5 80 fc ff ff    	mov    -0x380(%ebp),%esi
485a37:	89 41 48             	mov    %eax,0x48(%ecx)
485a3a:	8b 42 44             	mov    0x44(%edx),%eax
485a3d:	8b 7e 04             	mov    0x4(%esi),%edi
485a40:	8d 04 40             	lea    (%eax,%eax,2),%eax
485a43:	c1 e0 02             	shl    $0x2,%eax
485a46:	89 85 88 fc ff ff    	mov    %eax,-0x378(%ebp)
485a4c:	85 c0                	test   %eax,%eax
485a4e:	74 44                	je     0x485a94
485a50:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
485a56:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
485a5c:	8d 8d 88 fc ff ff    	lea    -0x378(%ebp),%ecx
485a62:	51                   	push   %ecx
485a63:	50                   	push   %eax
485a64:	3b 46 08             	cmp    0x8(%esi),%eax
485a67:	74 0f                	je     0x485a78
485a69:	56                   	push   %esi
485a6a:	e8 21 4f ff ff       	call   0x47a990
485a6f:	83 c4 0c             	add    $0xc,%esp
485a72:	83 46 04 0c          	addl   $0xc,0x4(%esi)
485a76:	eb 07                	jmp    0x485a7f
485a78:	8b ce                	mov    %esi,%ecx
485a7a:	e8 21 31 ff ff       	call   0x478ba0
485a7f:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
485a85:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
485a8b:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485a91:	8b 40 f4             	mov    -0xc(%eax),%eax
485a94:	33 f6                	xor    %esi,%esi
485a96:	89 41 24             	mov    %eax,0x24(%ecx)
485a99:	39 72 44             	cmp    %esi,0x44(%edx)
485a9c:	7e 30                	jle    0x485ace
485a9e:	33 ff                	xor    %edi,%edi
485aa0:	8b 41 24             	mov    0x24(%ecx),%eax
485aa3:	03 c7                	add    %edi,%eax
485aa5:	50                   	push   %eax
485aa6:	8b 42 4c             	mov    0x4c(%edx),%eax
485aa9:	51                   	push   %ecx
485aaa:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485ab0:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
485ab4:	e8 37 ca ff ff       	call   0x4824f0
485ab9:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485abf:	46                   	inc    %esi
485ac0:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
485ac6:	83 c7 0c             	add    $0xc,%edi
485ac9:	3b 72 44             	cmp    0x44(%edx),%esi
485acc:	7c d2                	jl     0x485aa0
485ace:	8b 42 54             	mov    0x54(%edx),%eax
485ad1:	89 41 4c             	mov    %eax,0x4c(%ecx)
485ad4:	8d 41 28             	lea    0x28(%ecx),%eax
485ad7:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485add:	50                   	push   %eax
485ade:	ff 72 54             	push   0x54(%edx)
485ae1:	89 85 74 fc ff ff    	mov    %eax,-0x38c(%ebp)
485ae7:	e8 14 08 ff ff       	call   0x476300
485aec:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485af2:	33 f6                	xor    %esi,%esi
485af4:	39 72 54             	cmp    %esi,0x54(%edx)
485af7:	7e 3b                	jle    0x485b34
485af9:	33 ff                	xor    %edi,%edi
485afb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
485b00:	8b 85 74 fc ff ff    	mov    -0x38c(%ebp),%eax
485b06:	6a 01                	push   $0x1
485b08:	8b 08                	mov    (%eax),%ecx
485b0a:	8b 42 5c             	mov    0x5c(%edx),%eax
485b0d:	03 cf                	add    %edi,%ecx
485b0f:	51                   	push   %ecx
485b10:	ff b5 84 fc ff ff    	push   -0x37c(%ebp)
485b16:	8b 8d 80 fc ff ff    	mov    -0x380(%ebp),%ecx
485b1c:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
485b20:	e8 4b cc ff ff       	call   0x482770
485b25:	8b 95 8c fc ff ff    	mov    -0x374(%ebp),%edx
485b2b:	46                   	inc    %esi
485b2c:	83 c7 58             	add    $0x58,%edi
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