480c5d:	e8 ae fe ff ff       	call   0x480b10
480c62:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480c68:	8b 95 88 fc ff ff    	mov    -0x378(%ebp),%edx
480c6e:	89 01                	mov    %eax,(%ecx)
480c70:	89 71 04             	mov    %esi,0x4(%ecx)
480c73:	8b 42 34             	mov    0x34(%edx),%eax
480c76:	89 79 0c             	mov    %edi,0xc(%ecx)
480c79:	8b bd 80 fc ff ff    	mov    -0x380(%ebp),%edi
480c7f:	89 41 08             	mov    %eax,0x8(%ecx)
480c82:	66 c7 41 14 00 00    	movw   $0x0,0x14(%ecx)
480c88:	8b 47 14             	mov    0x14(%edi),%eax
480c8b:	85 c0                	test   %eax,%eax
480c8d:	75 1e                	jne    0x480cad
480c8f:	68 d8 8d 60 00       	push   $0x608dd8
480c94:	50                   	push   %eax
480c95:	57                   	push   %edi
480c96:	56                   	push   %esi
480c97:	8b ca                	mov    %edx,%ecx
480c99:	e8 42 dc ff ff       	call   0x47e8e0
480c9e:	8b 47 14             	mov    0x14(%edi),%eax
480ca1:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480ca7:	8b 95 88 fc ff ff    	mov    -0x378(%ebp),%edx
480cad:	89 41 18             	mov    %eax,0x18(%ecx)
480cb0:	ff 77 14             	push   0x14(%edi)
480cb3:	8b 4a 04             	mov    0x4(%edx),%ecx
480cb6:	e8 d5 55 ff ff       	call   0x476290
480cbb:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480cc1:	8b d7                	mov    %edi,%edx
480cc3:	33 f6                	xor    %esi,%esi
480cc5:	89 41 1c             	mov    %eax,0x1c(%ecx)
480cc8:	39 72 14             	cmp    %esi,0x14(%edx)
480ccb:	7e 31                	jle    0x480cfe
480ccd:	33 ff                	xor    %edi,%edi
480ccf:	90                   	nop
480cd0:	8b 41 1c             	mov    0x1c(%ecx),%eax
480cd3:	03 c7                	add    %edi,%eax
480cd5:	50                   	push   %eax
480cd6:	8b 42 1c             	mov    0x1c(%edx),%eax
480cd9:	51                   	push   %ecx
480cda:	8b 8d 88 fc ff ff    	mov    -0x378(%ebp),%ecx
480ce0:	ff 74 b0 04          	push   0x4(%eax,%esi,4)
480ce4:	e8 c7 0e 00 00       	call   0x481bb0
480ce9:	8b 95 80 fc ff ff    	mov    -0x380(%ebp),%edx
480cef:	46                   	inc    %esi
480cf0:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480cf6:	83 c7 14             	add    $0x14,%edi
480cf9:	3b 72 14             	cmp    0x14(%edx),%esi
480cfc:	7c d2                	jl     0x480cd0
480cfe:	8b 42 24             	mov    0x24(%edx),%eax
480d01:	8b b5 88 fc ff ff    	mov    -0x378(%ebp),%esi
480d07:	89 41 20             	mov    %eax,0x20(%ecx)
480d0a:	8b 42 24             	mov    0x24(%edx),%eax
480d0d:	c1 e0 03             	shl    $0x3,%eax
480d10:	8b 7e 04             	mov    0x4(%esi),%edi
480d13:	89 85 7c fc ff ff    	mov    %eax,-0x384(%ebp)
480d19:	85 c0                	test   %eax,%eax
480d1b:	74 44                	je     0x480d61
480d1d:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
480d23:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
480d29:	8d 8d 7c fc ff ff    	lea    -0x384(%ebp),%ecx
480d2f:	51                   	push   %ecx
480d30:	50                   	push   %eax
480d31:	3b 46 08             	cmp    0x8(%esi),%eax
480d34:	74 0f                	je     0x480d45
480d36:	56                   	push   %esi
480d37:	e8 54 9c ff ff       	call   0x47a990
480d3c:	83 c4 0c             	add    $0xc,%esp
480d3f:	83 46 04 0c          	addl   $0xc,0x4(%esi)
480d43:	eb 07                	jmp    0x480d4c
480d45:	8b ce                	mov    %esi,%ecx
480d47:	e8 54 7e ff ff       	call   0x478ba0
480d4c:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
480d52:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480d58:	8b b5 88 fc ff ff    	mov    -0x378(%ebp),%esi
480d5e:	8b 40 f4             	mov    -0xc(%eax),%eax
480d61:	89 41 28             	mov    %eax,0x28(%ecx)
480d64:	33 ff                	xor    %edi,%edi
480d66:	8b 85 80 fc ff ff    	mov    -0x380(%ebp),%eax
480d6c:	39 78 24             	cmp    %edi,0x24(%eax)
480d6f:	0f 8e 10 01 00 00    	jle    0x480e85
480d75:	8b 40 2c             	mov    0x2c(%eax),%eax
480d78:	8b 51 28             	mov    0x28(%ecx),%edx
480d7b:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
480d7f:	89 85 7c fc ff ff    	mov    %eax,-0x384(%ebp)
480d85:	8b 48 10             	mov    0x10(%eax),%ecx
480d88:	89 0c fa             	mov    %ecx,(%edx,%edi,8)
480d8b:	8b 40 14             	mov    0x14(%eax),%eax
480d8e:	89 44 fa 04          	mov    %eax,0x4(%edx,%edi,8)
480d92:	3b c8                	cmp    %eax,%ecx
480d94:	0f 8e d4 00 00 00    	jle    0x480e6e
480d9a:	8b 85 84 fc ff ff    	mov    -0x37c(%ebp),%eax
480da0:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
480da7:	6a 40                	push   $0x40
480da9:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
480db0:	8b 70 04             	mov    0x4(%eax),%esi
480db3:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
480dba:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
480dbe:	e8 62 04 15 00       	call   0x5d1225
480dc3:	0f 10 05 90 8c 60 00 	movups 0x608c90,%xmm0
480dca:	8b c8                	mov    %eax,%ecx
480dcc:	c7 45 d0 3c 00 00 00 	movl   $0x3c,-0x30(%ebp)
480dd3:	c7 45 d4 3f 00 00 00 	movl   $0x3f,-0x2c(%ebp)
480dda:	83 c4 04             	add    $0x4,%esp
480ddd:	0f 11 01             	movups %xmm0,(%ecx)
480de0:	0f 10 05 a0 8c 60 00 	movups 0x608ca0,%xmm0
480de7:	0f 11 41 10          	movups %xmm0,0x10(%ecx)
480deb:	0f 10 05 b0 8c 60 00 	movups 0x608cb0,%xmm0
480df2:	0f 11 41 20          	movups %xmm0,0x20(%ecx)
480df6:	f3 0f 7e 05 c0 8c 60 	movq   0x608cc0,%xmm0
480dfd:	00
480dfe:	66 0f d6 41 30       	movq   %xmm0,0x30(%ecx)
480e03:	a1 c8 8c 60 00       	mov    0x608cc8,%eax
480e08:	89 41 38             	mov    %eax,0x38(%ecx)
480e0b:	c6 41 3c 00          	movb   $0x0,0x3c(%ecx)
480e0f:	89 4d c0             	mov    %ecx,-0x40(%ebp)
480e12:	8d 45 c0             	lea    -0x40(%ebp),%eax
480e15:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
480e1c:	50                   	push   %eax
480e1d:	6a 01                	push   $0x1
480e1f:	ff b5 7c fc ff ff    	push   -0x384(%ebp)
480e25:	56                   	push   %esi
480e26:	8b b5 88 fc ff ff    	mov    -0x378(%ebp),%esi
480e2c:	8b ce                	mov    %esi,%ecx
480e2e:	e8 7d d9 ff ff       	call   0x47e7b0
480e33:	8b 55 d4             	mov    -0x2c(%ebp),%edx
480e36:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
480e3d:	83 fa 10             	cmp    $0x10,%edx
480e40:	72 2c                	jb     0x480e6e
480e42:	8b 4d c0             	mov    -0x40(%ebp),%ecx
480e45:	42                   	inc    %edx
480e46:	8b c1                	mov    %ecx,%eax
480e48:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
480e4e:	72 14                	jb     0x480e64
480e50:	8b 49 fc             	mov    -0x4(%ecx),%ecx
480e53:	83 c2 23             	add    $0x23,%edx
480e56:	2b c1                	sub    %ecx,%eax
480e58:	83 c0 fc             	add    $0xfffffffc,%eax
480e5b:	83 f8 1f             	cmp    $0x1f,%eax
480e5e:	0f 87 3b 0d 00 00    	ja     0x481b9f
480e64:	52                   	push   %edx
480e65:	51                   	push   %ecx
480e66:	e8 ea 03 15 00       	call   0x5d1255
480e6b:	83 c4 08             	add    $0x8,%esp
480e6e:	8b 85 80 fc ff ff    	mov    -0x380(%ebp),%eax
480e74:	47                   	inc    %edi
480e75:	3b 78 24             	cmp    0x24(%eax),%edi
480e78:	7d 0b                	jge    0x480e85
480e7a:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480e80:	e9 f0 fe ff ff       	jmp    0x480d75
480e85:	83 c0 30             	add    $0x30,%eax
480e88:	8b c8                	mov    %eax,%ecx
480e8a:	89 85 7c fc ff ff    	mov    %eax,-0x384(%ebp)
480e90:	e8 2b d1 fd ff       	call   0x45dfc0
480e95:	8b 8d 84 fc ff ff    	mov    -0x37c(%ebp),%ecx
480e9b:	89 85 78 fc ff ff    	mov    %eax,-0x388(%ebp)
480ea1:	89 41 24             	mov    %eax,0x24(%ecx)
480ea4:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
480eab:	8b 7e 04             	mov    0x4(%esi),%edi
480eae:	89 8d 8c fc ff ff    	mov    %ecx,-0x374(%ebp)
480eb4:	85 c9                	test   %ecx,%ecx
480eb6:	74 44                	je     0x480efc
480eb8:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
480ebe:	8d b7 8c 00 00 00    	lea    0x8c(%edi),%esi
480ec4:	8d 8d 8c fc ff ff    	lea    -0x374(%ebp),%ecx
480eca:	51                   	push   %ecx
480ecb:	50                   	push   %eax
480ecc:	3b 46 08             	cmp    0x8(%esi),%eax
480ecf:	74 0f                	je     0x480ee0
480ed1:	56                   	push   %esi
480ed2:	e8 b9 9a ff ff       	call   0x47a990
480ed7:	83 c4 0c             	add    $0xc,%esp
480eda:	83 46 04 0c          	addl   $0xc,0x4(%esi)
480ede:	eb 07                	jmp    0x480ee7
480ee0:	8b ce                	mov    %esi,%ecx
480ee2:	e8 b9 7c ff ff       	call   0x478ba0
480ee7:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
480eed:	8b b5 88 fc ff ff    	mov    -0x378(%ebp),%esi
480ef3:	8b 48 f4             	mov    -0xc(%eax),%ecx
480ef6:	8b 85 78 fc ff ff    	mov    -0x388(%ebp),%eax
480efc:	8b 95 84 fc ff ff    	mov    -0x37c(%ebp),%edx
480f02:	33 ff                	xor    %edi,%edi
480f04:	89 4a 2c             	mov    %ecx,0x2c(%edx)
480f07:	85 c0                	test   %eax,%eax
480f09:	0f 8e b1 00 00 00    	jle    0x480fc0
480f0f:	90                   	nop
480f10:	8b 8d 7c fc ff ff    	mov    -0x384(%ebp),%ecx
480f16:	57                   	push   %edi
480f17:	e8 c4 c3 fd ff       	call   0x45d2e0
480f1c:	8b c8                	mov    %eax,%ecx
480f1e:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
480f22:	72 02                	jb     0x480f26
480f24:	8b 08                	mov    (%eax),%ecx
480f26:	8b 40 10             	mov    0x10(%eax),%eax
480f29:	89 85 68 fc ff ff    	mov    %eax,-0x398(%ebp)
480f2f:	8b 46 04             	mov    0x4(%esi),%eax
480f32:	6a 18                	push   $0x18
480f34:	89 8d 64 fc ff ff    	mov    %ecx,-0x39c(%ebp)
480f3a:	89 85 8c fc ff ff    	mov    %eax,-0x374(%ebp)
480f40:	e8 e0 02 15 00       	call   0x5d1225
480f45:	83 c4 04             	add    $0x4,%esp
480f48:	89 85 60 fc ff ff    	mov    %eax,-0x3a0(%ebp)
480f4e:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
480f55:	85 c0                	test   %eax,%eax
480f57:	74 10                	je     0x480f69
480f59:	50                   	push   %eax
480f5a:	8d 8d 64 fc ff ff    	lea    -0x39c(%ebp),%ecx
480f60:	e8 9b d3 ff ff       	call   0x47e300
480f65:	8b f0                	mov    %eax,%esi
480f67:	eb 02                	jmp    0x480f6b
480f69:	33 f6                	xor    %esi,%esi
480f6b:	8b 8d 8c fc ff ff    	mov    -0x374(%ebp),%ecx
480f71:	81 c1 98 00 00 00    	add    $0x98,%ecx
480f77:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
480f7e:	89 b5 74 fc ff ff    	mov    %esi,-0x38c(%ebp)
480f84:	8b 41 04             	mov    0x4(%ecx),%eax
480f87:	3b 41 08             	cmp    0x8(%ecx),%eax
480f8a:	74 08                	je     0x480f94
480f8c:	89 30                	mov    %esi,(%eax)
480f8e:	83 41 04 04          	addl   $0x4,0x4(%ecx)
480f92:	eb 0d                	jmp    0x480fa1
480f94:	8d 95 74 fc ff ff    	lea    -0x38c(%ebp),%edx
480f9a:	52                   	push   %edx
480f9b:	50                   	push   %eax
480f9c:	e8 5f 7e ff ff       	call   0x478e00
480fa1:	8b 85 84 fc ff ff    	mov    -0x37c(%ebp),%eax
480fa7:	8b 40 2c             	mov    0x2c(%eax),%eax
480faa:	89 34 b8             	mov    %esi,(%eax,%edi,4)
480fad:	47                   	inc    %edi
480fae:	8b b5 88 fc ff ff    	mov    -0x378(%ebp),%esi
480fb4:	3b bd 78 fc ff ff    	cmp    -0x388(%ebp),%edi
480fba:	0f 8c 50 ff ff ff    	jl     0x480f10
480fc0:	8b bd 84 fc ff ff    	mov    -0x37c(%ebp),%edi
480fc6:	8b b5 80 fc ff ff    	mov    -0x380(%ebp),%esi
480fcc:	8b 8d 88 fc ff ff    	mov    -0x378(%ebp),%ecx
480fd2:	57                   	push   %edi
480fd3:	56                   	push   %esi
480fd4:	e8 c7 66 00 00       	call   0x4876a0
480fd9:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
480fe0:	8b 46 08             	mov    0x8(%esi),%eax
480fe3:	d1 e8                	shr    $1,%eax
480fe5:	24 01                	and    $0x1,%al
480fe7:	0f 84 66 01 00 00    	je     0x481153
480fed:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
480ff4:	6a 20                	push   $0x20
480ff6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
480ffd:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
481004:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
481008:	e8 18 02 15 00       	call   0x5d1225
48100d:	0f 10 05 1c 7d 60 00 	movups 0x607d1c,%xmm0
481014:	c7 45 e8 1b 00 00 00 	movl   $0x1b,-0x18(%ebp)
48101b:	83 c4 04             	add    $0x4,%esp
48101e:	c7 45 ec 1f 00 00 00 	movl   $0x1f,-0x14(%ebp)
481025:	0f 11 00             	movups %xmm0,(%eax)
481028:	f3 0f 7e 05 2c 7d 60 	movq   0x607d2c,%xmm0
48102f:	00
481030:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
481035:	66 8b 0d 34 7d 60 00 	mov    0x607d34,%cx
48103c:	66 89 48 18          	mov    %cx,0x18(%eax)
481040:	8a 0d 36 7d 60 00    	mov    0x607d36,%cl
481046:	88 48 1a             	mov    %cl,0x1a(%eax)
481049:	c6 40 1b 00          	movb   $0x0,0x1b(%eax)
48104d:	89 45 d8             	mov    %eax,-0x28(%ebp)
481050:	8b 46 44             	mov    0x44(%esi),%eax
481053:	be b4 d7 68 00       	mov    $0x68d7b4,%esi
481058:	85 c0                	test   %eax,%eax
48105a:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
481061:	c7 85 8c fc ff ff 03 	movl   $0x3,-0x374(%ebp)
481068:	00 00 00
48106b:	0f 45 f0             	cmovne %eax,%esi
48106e:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
481075:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
48107c:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
481083:	8d 45 cc             	lea    -0x34(%ebp),%eax
481086:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
48108a:	50                   	push   %eax
48108b:	8b cf                	mov    %edi,%ecx
48108d:	e8 fe 0e 01 00       	call   0x491f90
481092:	8b 45 d0             	mov    -0x30(%ebp),%eax
481095:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
481098:	74 0c                	je     0x4810a6
48109a:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
4810a0:	83 45 d0 04          	addl   $0x4,-0x30(%ebp)
4810a4:	eb 10                	jmp    0x4810b6
4810a6:	8d 8d 8c fc ff ff    	lea    -0x374(%ebp),%ecx
4810ac:	51                   	push   %ecx
4810ad:	50                   	push   %eax
4810ae:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4810b1:	e8 da 0b fe ff       	call   0x461c90
4810b6:	8b 47 04             	mov    0x4(%edi),%eax
4810b9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4810bc:	51                   	push   %ecx
4810bd:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4810c0:	51                   	push   %ecx
4810c1:	8b 8d 88 fc ff ff    	mov    -0x378(%ebp),%ecx
4810c7:	57                   	push   %edi
4810c8:	56                   	push   %esi
4810c9:	50                   	push   %eax
4810ca:	50                   	push   %eax
4810cb:	e8 e0 5b ff ff       	call   0x476cb0
4810d0:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4810d3:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
4810d7:	85 c9                	test   %ecx,%ecx
4810d9:	74 37                	je     0x481112
4810db:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4810de:	2b c1                	sub    %ecx,%eax
4810e0:	c1 f8 02             	sar    $0x2,%eax
4810e3:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
4810ea:	8b c1                	mov    %ecx,%eax
4810ec:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4810f2:	72 14                	jb     0x481108
4810f4:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4810f7:	83 c2 23             	add    $0x23,%edx
4810fa:	2b c1                	sub    %ecx,%eax
4810fc:	83 c0 fc             	add    $0xfffffffc,%eax
4810ff:	83 f8 1f             	cmp    $0x1f,%eax
481102:	0f 87 97 0a 00 00    	ja     0x481b9f
481108:	52                   	push   %edx
481109:	51                   	push   %ecx
48110a:	e8 46 01 15 00       	call   0x5d1255
48110f:	83 c4 08             	add    $0x8,%esp
481112:	8b 55 ec             	mov    -0x14(%ebp),%edx
481115:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
48111c:	83 fa 10             	cmp    $0x10,%edx
48111f:	72 2c                	jb     0x48114d
481121:	8b 4d d8             	mov    -0x28(%ebp),%ecx
481124:	42                   	inc    %edx
481125:	8b c1                	mov    %ecx,%eax
481127:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
48112d:	72 14                	jb     0x481143
48112f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
481132:	83 c2 23             	add    $0x23,%edx
481135:	2b c1                	sub    %ecx,%eax
481137:	83 c0 fc             	add    $0xfffffffc,%eax
48113a:	83 f8 1f             	cmp    $0x1f,%eax
48113d:	0f 87 61 0a 00 00    	ja     0x481ba4
481143:	52                   	push   %edx
481144:	51                   	push   %ecx
481145:	e8 0b 01 15 00       	call   0x5d1255
48114a:	83 c4 08             	add    $0x8,%esp
48114d:	8b b5 80 fc ff ff    	mov    -0x380(%ebp),%esi
481153:	8b 8d 88 fc ff ff    	mov    -0x378(%ebp),%ecx
481159:	57                   	push   %edi
48115a:	6a 04                	push   $0x4
48115c:	56                   	push   %esi
48115d:	ff 37                	push   (%edi)
48115f:	ff b5 70 fc ff ff    	push   -0x390(%ebp)
481165:	ff 77 04             	push   0x4(%edi)
481168:	e8 43 eb ff ff       	call   0x47fcb0
48116d:	8b 4e 24             	mov    0x24(%esi),%ecx
481170:	33 d2                	xor    %edx,%edx