50fa0c:	33 c5                	xor    %ebp,%eax
50fa0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
50fa11:	53                   	push   %ebx
50fa12:	56                   	push   %esi
50fa13:	57                   	push   %edi
50fa14:	50                   	push   %eax
50fa15:	8d 45 f4             	lea    -0xc(%ebp),%eax
50fa18:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
50fa1e:	89 8d f8 f7 ff ff    	mov    %ecx,-0x808(%ebp)
50fa24:	8b 45 10             	mov    0x10(%ebp),%eax
50fa27:	8b 5d 08             	mov    0x8(%ebp),%ebx
50fa2a:	8b 7d 0c             	mov    0xc(%ebp),%edi
50fa2d:	89 85 f4 f7 ff ff    	mov    %eax,-0x80c(%ebp)
50fa33:	8d 85 84 fe ff ff    	lea    -0x17c(%ebp),%eax
50fa39:	89 9d fc f7 ff ff    	mov    %ebx,-0x804(%ebp)
50fa3f:	89 bd 00 f8 ff ff    	mov    %edi,-0x800(%ebp)
50fa45:	89 45 88             	mov    %eax,-0x78(%ebp)
50fa48:	c7 45 8c 04 01 00 00 	movl   $0x104,-0x74(%ebp)
50fa4f:	c6 85 84 fe ff ff 00 	movb   $0x0,-0x17c(%ebp)
50fa56:	c7 85 80 fe ff ff 04 	movl   $0xbd1d04,-0x180(%ebp)
50fa5d:	1d bd 00
50fa60:	8b 01                	mov    (%ecx),%eax
50fa62:	8d 95 80 fe ff ff    	lea    -0x180(%ebp),%edx
50fa68:	52                   	push   %edx
50fa69:	68 5c c8 bd 00       	push   $0xbdc85c
50fa6e:	68 68 c9 bd 00       	push   $0xbdc968
50fa73:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
50fa79:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
50fa80:	ff d0                	call   *%eax
50fa82:	84 c0                	test   %al,%al
50fa84:	0f 85 0d 01 00 00    	jne    0x50fb97
50fa8a:	6a 56                	push   $0x56
50fa8c:	68 80 c8 bd 00       	push   $0xbdc880
50fa91:	8d 4d c0             	lea    -0x40(%ebp),%ecx
50fa94:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
50fa9b:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
50faa2:	88 45 c0             	mov    %al,-0x40(%ebp)
50faa5:	e8 e7 4b f0 ff       	call   0x414691
50faaa:	6a 10                	push   $0x10
50faac:	68 78 c9 bd 00       	push   $0xbdc978
50fab1:	8d 4d a8             	lea    -0x58(%ebp),%ecx
50fab4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
50fab8:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
50fabf:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
50fac6:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
50faca:	e8 c2 4b f0 ff       	call   0x414691
50facf:	6a 25                	push   $0x25
50fad1:	68 08 2b bd 00       	push   $0xbd2b08
50fad6:	8d 4d 90             	lea    -0x70(%ebp),%ecx
50fad9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
50fadd:	c7 45 a4 0f 00 00 00 	movl   $0xf,-0x5c(%ebp)
50fae4:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
50faeb:	c6 45 90 00          	movb   $0x0,-0x70(%ebp)
50faef:	e8 9d 4b f0 ff       	call   0x414691
50faf4:	68 92 00 00 00       	push   $0x92
50faf9:	8d 45 c0             	lea    -0x40(%ebp),%eax
50fafc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
50fb00:	50                   	push   %eax
50fb01:	8d 45 a8             	lea    -0x58(%ebp),%eax
50fb04:	50                   	push   %eax
50fb05:	8d 8d 1c fc ff ff    	lea    -0x3e4(%ebp),%ecx
50fb0b:	e8 8d cf f1 ff       	call   0x42ca9d
50fb10:	8b f0                	mov    %eax,%esi
50fb12:	6a 00                	push   $0x0
50fb14:	6a 00                	push   $0x0
50fb16:	8d 8d d8 f7 ff ff    	lea    -0x828(%ebp),%ecx
50fb1c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
50fb20:	c7 85 d4 f7 ff ff 00 	movl   $0x0,-0x82c(%ebp)
50fb27:	00 00 00
50fb2a:	c7 85 d8 f7 ff ff 00 	movl   $0x0,-0x828(%ebp)
50fb31:	00 00 00
50fb34:	c7 85 dc f7 ff ff 00 	movl   $0x0,-0x824(%ebp)
50fb3b:	00 00 00
50fb3e:	e8 3f f5 f0 ff       	call   0x41f082
50fb43:	89 85 d8 f7 ff ff    	mov    %eax,-0x828(%ebp)
50fb49:	c7 85 e0 f7 ff ff 00 	movl   $0x0,-0x820(%ebp)
50fb50:	00 00 00
50fb53:	c7 85 e4 f7 ff ff 00 	movl   $0x0,-0x81c(%ebp)
50fb5a:	00 00 00
50fb5d:	c7 85 e8 f7 ff ff 00 	movl   $0x0,-0x818(%ebp)
50fb64:	00 00 00
50fb67:	6a 08                	push   $0x8
50fb69:	8d 8d d4 f7 ff ff    	lea    -0x82c(%ebp),%ecx
50fb6f:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
50fb73:	c7 85 d4 f7 ff ff 00 	movl   $0x3f800000,-0x82c(%ebp)
50fb7a:	00 80 3f
50fb7d:	e8 cd 8c f0 ff       	call   0x41884f
50fb82:	56                   	push   %esi
50fb83:	8d 85 d4 f7 ff ff    	lea    -0x82c(%ebp),%eax
50fb89:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
50fb8d:	50                   	push   %eax
50fb8e:	8d 45 90             	lea    -0x70(%ebp),%eax
50fb91:	50                   	push   %eax
50fb92:	e8 0d 75 ef ff       	call   0x4070a4
50fb97:	8d 85 80 fe ff ff    	lea    -0x180(%ebp),%eax
50fb9d:	50                   	push   %eax
50fb9e:	8d 8d c8 f7 ff ff    	lea    -0x838(%ebp),%ecx
50fba4:	e8 c3 cd f1 ff       	call   0x42c96c
50fba9:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
50fbb0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
50fbb7:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
50fbbb:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
50fbbf:	90                   	nop
50fbc0:	8d 45 d8             	lea    -0x28(%ebp),%eax
50fbc3:	50                   	push   %eax
50fbc4:	8d 8d c8 f7 ff ff    	lea    -0x838(%ebp),%ecx
50fbca:	e8 4f db f0 ff       	call   0x41d71e
50fbcf:	84 c0                	test   %al,%al
50fbd1:	0f 84 fe 02 00 00    	je     0x50fed5
50fbd7:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
50fbdb:	8d 45 d8             	lea    -0x28(%ebp),%eax
50fbde:	ff 35 c0 d0 d5 00    	push   0xd5d0c0
50fbe4:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
50fbe8:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fbee:	50                   	push   %eax
50fbef:	e8 5f 2d f1 ff       	call   0x422953
50fbf4:	8b b5 74 fe ff ff    	mov    -0x18c(%ebp),%esi
50fbfa:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
50fbfe:	85 f6                	test   %esi,%esi
50fc00:	0f 84 eb 01 00 00    	je     0x50fdf1
50fc06:	80 3e 00             	cmpb   $0x0,(%esi)
50fc09:	0f 84 e2 01 00 00    	je     0x50fdf1
50fc0f:	8b cb                	mov    %ebx,%ecx
50fc11:	8b c6                	mov    %esi,%eax
50fc13:	8a 10                	mov    (%eax),%dl
50fc15:	3a 11                	cmp    (%ecx),%dl
50fc17:	75 1a                	jne    0x50fc33
50fc19:	84 d2                	test   %dl,%dl
50fc1b:	74 12                	je     0x50fc2f
50fc1d:	8a 50 01             	mov    0x1(%eax),%dl
50fc20:	3a 51 01             	cmp    0x1(%ecx),%dl
50fc23:	75 0e                	jne    0x50fc33
50fc25:	83 c0 02             	add    $0x2,%eax
50fc28:	83 c1 02             	add    $0x2,%ecx
50fc2b:	84 d2                	test   %dl,%dl
50fc2d:	75 e4                	jne    0x50fc13
50fc2f:	33 c0                	xor    %eax,%eax
50fc31:	eb 05                	jmp    0x50fc38
50fc33:	1b c0                	sbb    %eax,%eax
50fc35:	83 c8 01             	or     $0x1,%eax
50fc38:	85 c0                	test   %eax,%eax
50fc3a:	0f 84 21 01 00 00    	je     0x50fd61
50fc40:	53                   	push   %ebx
50fc41:	56                   	push   %esi
50fc42:	e8 1f 41 f2 ff       	call   0x433d66
50fc47:	83 c4 08             	add    $0x8,%esp
50fc4a:	85 c0                	test   %eax,%eax
50fc4c:	0f 84 9f 01 00 00    	je     0x50fdf1
50fc52:	8b cb                	mov    %ebx,%ecx
50fc54:	8d 51 01             	lea    0x1(%ecx),%edx
50fc57:	8a 01                	mov    (%ecx),%al
50fc59:	41                   	inc    %ecx
50fc5a:	84 c0                	test   %al,%al
50fc5c:	75 f9                	jne    0x50fc57
50fc5e:	2b ca                	sub    %edx,%ecx
50fc60:	83 f9 02             	cmp    $0x2,%ecx
50fc63:	73 04                	jae    0x50fc69
50fc65:	33 db                	xor    %ebx,%ebx
50fc67:	eb 05                	jmp    0x50fc6e
50fc69:	0f be 5c 0b ff       	movsbl -0x1(%ebx,%ecx,1),%ebx
50fc6e:	8d 85 c0 f7 ff ff    	lea    -0x840(%ebp),%eax
50fc74:	50                   	push   %eax
50fc75:	e8 fe b3 ef ff       	call   0x40b078
50fc7a:	8b b5 c4 f7 ff ff    	mov    -0x83c(%ebp),%esi
50fc80:	83 c4 04             	add    $0x4,%esp
50fc83:	8b 38                	mov    (%eax),%edi
50fc85:	83 c7 44             	add    $0x44,%edi
50fc88:	85 f6                	test   %esi,%esi
50fc8a:	74 21                	je     0x50fcad
50fc8c:	83 c8 ff             	or     $0xffffffff,%eax
50fc8f:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
50fc94:	75 17                	jne    0x50fcad
50fc96:	8b 06                	mov    (%esi),%eax
50fc98:	8b ce                	mov    %esi,%ecx
50fc9a:	ff 10                	call   *(%eax)
50fc9c:	83 c8 ff             	or     $0xffffffff,%eax
50fc9f:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
50fca4:	75 07                	jne    0x50fcad
50fca6:	8b 06                	mov    (%esi),%eax
50fca8:	8b ce                	mov    %esi,%ecx
50fcaa:	ff 50 04             	call   *0x4(%eax)
50fcad:	57                   	push   %edi
50fcae:	e8 36 13 f2 ff       	call   0x430fe9
50fcb3:	0f b6 cb             	movzbl %bl,%ecx
50fcb6:	83 c4 04             	add    $0x4,%esp
50fcb9:	8b 40 0c             	mov    0xc(%eax),%eax
50fcbc:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
50fcc0:	c1 e8 02             	shr    $0x2,%eax
50fcc3:	a8 01                	test   $0x1,%al
50fcc5:	0f 84 1a 01 00 00    	je     0x50fde5
50fccb:	8b 95 74 fe ff ff    	mov    -0x18c(%ebp),%edx
50fcd1:	85 d2                	test   %edx,%edx
50fcd3:	74 05                	je     0x50fcda
50fcd5:	80 3a 00             	cmpb   $0x0,(%edx)
50fcd8:	75 02                	jne    0x50fcdc
50fcda:	33 d2                	xor    %edx,%edx
50fcdc:	8b ca                	mov    %edx,%ecx
50fcde:	8d 71 01             	lea    0x1(%ecx),%esi
50fce1:	8a 01                	mov    (%ecx),%al
50fce3:	41                   	inc    %ecx
50fce4:	84 c0                	test   %al,%al
50fce6:	75 f9                	jne    0x50fce1
50fce8:	2b ce                	sub    %esi,%ecx
50fcea:	83 f9 02             	cmp    $0x2,%ecx
50fced:	73 04                	jae    0x50fcf3
50fcef:	33 db                	xor    %ebx,%ebx
50fcf1:	eb 05                	jmp    0x50fcf8
50fcf3:	0f be 5c 0a ff       	movsbl -0x1(%edx,%ecx,1),%ebx
50fcf8:	8d 85 b8 f7 ff ff    	lea    -0x848(%ebp),%eax
50fcfe:	50                   	push   %eax
50fcff:	e8 74 b3 ef ff       	call   0x40b078
50fd04:	8b b5 bc f7 ff ff    	mov    -0x844(%ebp),%esi
50fd0a:	83 c4 04             	add    $0x4,%esp
50fd0d:	8b 38                	mov    (%eax),%edi
50fd0f:	83 c7 44             	add    $0x44,%edi
50fd12:	85 f6                	test   %esi,%esi
50fd14:	74 21                	je     0x50fd37
50fd16:	83 c8 ff             	or     $0xffffffff,%eax
50fd19:	f0 0f c1 46 04       	lock xadd %eax,0x4(%esi)
50fd1e:	75 17                	jne    0x50fd37
50fd20:	8b 06                	mov    (%esi),%eax
50fd22:	8b ce                	mov    %esi,%ecx
50fd24:	ff 10                	call   *(%eax)
50fd26:	83 c8 ff             	or     $0xffffffff,%eax
50fd29:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
50fd2e:	75 07                	jne    0x50fd37
50fd30:	8b 06                	mov    (%esi),%eax
50fd32:	8b ce                	mov    %esi,%ecx
50fd34:	ff 50 04             	call   *0x4(%eax)
50fd37:	57                   	push   %edi
50fd38:	e8 ac 12 f2 ff       	call   0x430fe9
50fd3d:	8b bd 00 f8 ff ff    	mov    -0x800(%ebp),%edi
50fd43:	83 c4 04             	add    $0x4,%esp
50fd46:	0f b6 cb             	movzbl %bl,%ecx
50fd49:	8b 9d fc f7 ff ff    	mov    -0x804(%ebp),%ebx
50fd4f:	8b 40 0c             	mov    0xc(%eax),%eax
50fd52:	0f bf 04 48          	movswl (%eax,%ecx,2),%eax
50fd56:	c1 e8 02             	shr    $0x2,%eax
50fd59:	a8 01                	test   $0x1,%al
50fd5b:	0f 85 90 00 00 00    	jne    0x50fdf1
50fd61:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fd67:	e8 33 9f f0 ff       	call   0x419c9f
50fd6c:	8b 95 74 fe ff ff    	mov    -0x18c(%ebp),%edx
50fd72:	85 d2                	test   %edx,%edx
50fd74:	74 5b                	je     0x50fdd1
50fd76:	80 3a 00             	cmpb   $0x0,(%edx)
50fd79:	74 56                	je     0x50fdd1
50fd7b:	8b ca                	mov    %edx,%ecx
50fd7d:	8d 71 01             	lea    0x1(%ecx),%esi
50fd80:	8a 01                	mov    (%ecx),%al
50fd82:	41                   	inc    %ecx
50fd83:	84 c0                	test   %al,%al
50fd85:	75 f9                	jne    0x50fd80
50fd87:	2b ce                	sub    %esi,%ecx
50fd89:	81 f9 04 01 00 00    	cmp    $0x104,%ecx
50fd8f:	73 40                	jae    0x50fdd1
50fd91:	52                   	push   %edx
50fd92:	68 04 01 00 00       	push   $0x104
50fd97:	57                   	push   %edi
50fd98:	e8 f4 fa f2 ff       	call   0x43f891
50fd9d:	83 c4 0c             	add    $0xc,%esp
50fda0:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fda6:	e8 f4 9e f0 ff       	call   0x419c9f
50fdab:	8b 95 74 fe ff ff    	mov    -0x18c(%ebp),%edx
50fdb1:	85 d2                	test   %edx,%edx
50fdb3:	74 1c                	je     0x50fdd1
50fdb5:	80 3a 00             	cmpb   $0x0,(%edx)
50fdb8:	74 17                	je     0x50fdd1
50fdba:	8b ca                	mov    %edx,%ecx
50fdbc:	8d 71 01             	lea    0x1(%ecx),%esi
50fdbf:	90                   	nop
50fdc0:	8a 01                	mov    (%ecx),%al
50fdc2:	41                   	inc    %ecx
50fdc3:	84 c0                	test   %al,%al
50fdc5:	75 f9                	jne    0x50fdc0
50fdc7:	2b ce                	sub    %esi,%ecx
50fdc9:	81 f9 04 01 00 00    	cmp    $0x104,%ecx
50fdcf:	72 34                	jb     0x50fe05
50fdd1:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fdd7:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
50fddb:	e8 ce 4a ef ff       	call   0x4048ae
50fde0:	e9 db fd ff ff       	jmp    0x50fbc0
50fde5:	8b 9d fc f7 ff ff    	mov    -0x804(%ebp),%ebx
50fdeb:	8b bd 00 f8 ff ff    	mov    -0x800(%ebp),%edi
50fdf1:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fdf7:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
50fdfb:	e8 ae 4a ef ff       	call   0x4048ae
50fe00:	e9 bb fd ff ff       	jmp    0x50fbc0
50fe05:	8b b5 f4 f7 ff ff    	mov    -0x80c(%ebp),%esi
50fe0b:	33 c0                	xor    %eax,%eax
50fe0d:	38 02                	cmp    %al,(%edx)
50fe0f:	0f 45 c2             	cmovne %edx,%eax
50fe12:	50                   	push   %eax
50fe13:	68 04 01 00 00       	push   $0x104
50fe18:	56                   	push   %esi
50fe19:	e8 73 fa f2 ff       	call   0x43f891
50fe1e:	8b bd f8 f7 ff ff    	mov    -0x808(%ebp),%edi
50fe24:	8d 8d 04 f8 ff ff    	lea    -0x7fc(%ebp),%ecx
50fe2a:	83 c4 0c             	add    $0xc,%esp
50fe2d:	8b 7f 24             	mov    0x24(%edi),%edi
50fe30:	56                   	push   %esi
50fe31:	e8 b7 5a f0 ff       	call   0x4158ed
50fe36:	8b f0                	mov    %eax,%esi
50fe38:	ff b5 00 f8 ff ff    	push   -0x800(%ebp)
50fe3e:	8d 8d 10 fa ff ff    	lea    -0x5f0(%ebp),%ecx
50fe44:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
50fe48:	e8 a0 5a f0 ff       	call   0x4158ed
50fe4d:	ff b6 04 02 00 00    	push   0x204(%esi)
50fe53:	8b 0f                	mov    (%edi),%ecx
50fe55:	ff b0 04 02 00 00    	push   0x204(%eax)
50fe5b:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
50fe5f:	68 8c c9 bd 00       	push   $0xbdc98c
50fe64:	68 ec 5f bd 00       	push   $0xbd5fec
50fe69:	57                   	push   %edi
50fe6a:	ff 51 18             	call   *0x18(%ecx)
50fe6d:	83 c4 14             	add    $0x14,%esp
50fe70:	8d 8d 10 fa ff ff    	lea    -0x5f0(%ebp),%ecx
50fe76:	e8 71 46 f1 ff       	call   0x4244ec
50fe7b:	8d 8d 04 f8 ff ff    	lea    -0x7fc(%ebp),%ecx
50fe81:	e8 66 46 f1 ff       	call   0x4244ec
50fe86:	8d 8d 68 fc ff ff    	lea    -0x398(%ebp),%ecx
50fe8c:	e8 1d 4a ef ff       	call   0x4048ae
50fe91:	8b 45 ec             	mov    -0x14(%ebp),%eax
50fe94:	83 f8 10             	cmp    $0x10,%eax
50fe97:	72 0d                	jb     0x50fea6
50fe99:	40                   	inc    %eax
50fe9a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
50fe9d:	50                   	push   %eax
50fe9e:	ff 75 d8             	push   -0x28(%ebp)
50fea1:	e8 76 47 f2 ff       	call   0x43461c
50fea6:	8d 8d c8 f7 ff ff    	lea    -0x838(%ebp),%ecx
50feac:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
50feb3:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
50feba:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
50febe:	e8 d1 81 ef ff       	call   0x408094
50fec3:	8d 8d 80 fe ff ff    	lea    -0x180(%ebp),%ecx
50fec9:	e8 2a e6 ef ff       	call   0x40e4f8
50fece:	b0 01                	mov    $0x1,%al
50fed0:	e9 74 00 00 00       	jmp    0x50ff49
50fed5:	8b 45 ec             	mov    -0x14(%ebp),%eax
50fed8:	83 f8 10             	cmp    $0x10,%eax
50fedb:	72 42                	jb     0x50ff1f
50fedd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50fee0:	40                   	inc    %eax
50fee1:	3d 00 10 00 00       	cmp    $0x1000,%eax
50fee6:	72 2e                	jb     0x50ff16
50fee8:	f6 c1 1f             	test   $0x1f,%cl
50feeb:	74 05                	je     0x50fef2
50feed:	e8 9b da f2 ff       	call   0x43d98d
50fef2:	8b 41 fc             	mov    -0x4(%ecx),%eax