47fccb:	eb 05                	jmp    0x47fcd2
47fccd:	e8 27 8e fd ff       	call   0x458af9
47fcd2:	ff 74 24 14          	push   0x14(%esp)
47fcd6:	8a f8                	mov    %al,%bh
47fcd8:	e8 5f 31 fa ff       	call   0x422e3c
47fcdd:	59                   	pop    %ecx
47fcde:	8b 4c 24 14          	mov    0x14(%esp),%ecx
47fce2:	85 c0                	test   %eax,%eax
47fce4:	74 07                	je     0x47fced
47fce6:	c6 01 00             	movb   $0x0,(%ecx)
47fce9:	41                   	inc    %ecx
47fcea:	48                   	dec    %eax
47fceb:	75 f9                	jne    0x47fce6
47fced:	ff 74 24 18          	push   0x18(%esp)
47fcf1:	e8 46 31 fa ff       	call   0x422e3c
47fcf6:	59                   	pop    %ecx
47fcf7:	8b 4c 24 18          	mov    0x18(%esp),%ecx
47fcfb:	85 c0                	test   %eax,%eax
47fcfd:	74 07                	je     0x47fd06
47fcff:	c6 01 00             	movb   $0x0,(%ecx)
47fd02:	41                   	inc    %ecx
47fd03:	48                   	dec    %eax
47fd04:	75 f9                	jne    0x47fcff
47fd06:	ff 74 24 10          	push   0x10(%esp)
47fd0a:	e8 2d 31 fa ff       	call   0x422e3c
47fd0f:	59                   	pop    %ecx
47fd10:	8b 4c 24 10          	mov    0x10(%esp),%ecx
47fd14:	85 c0                	test   %eax,%eax
47fd16:	74 07                	je     0x47fd1f
47fd18:	c6 01 00             	movb   $0x0,(%ecx)
47fd1b:	41                   	inc    %ecx
47fd1c:	48                   	dec    %eax
47fd1d:	75 f9                	jne    0x47fd18
47fd1f:	ff 74 24 14          	push   0x14(%esp)
47fd23:	e8 44 13 fa ff       	call   0x42106c
47fd28:	59                   	pop    %ecx
47fd29:	ff 74 24 18          	push   0x18(%esp)
47fd2d:	e8 3a 13 fa ff       	call   0x42106c
47fd32:	59                   	pop    %ecx
47fd33:	ff 74 24 10          	push   0x10(%esp)
47fd37:	e8 30 13 fa ff       	call   0x42106c
47fd3c:	59                   	pop    %ecx
47fd3d:	eb 2a                	jmp    0x47fd69
47fd3f:	8d 44 24 38          	lea    0x38(%esp),%eax
47fd43:	50                   	push   %eax
47fd44:	8d 44 24 74          	lea    0x74(%esp),%eax
47fd48:	50                   	push   %eax
47fd49:	56                   	push   %esi
47fd4a:	6a 00                	push   $0x0
47fd4c:	ff 74 24 30          	push   0x30(%esp)
47fd50:	0f b6 c3             	movzbl %bl,%eax
47fd53:	50                   	push   %eax
47fd54:	6a 00                	push   $0x0
47fd56:	6a 00                	push   $0x0
47fd58:	ff 74 24 3c          	push   0x3c(%esp)
47fd5c:	6a 00                	push   $0x0
47fd5e:	ff 15 1c f3 48 00    	call   *0x48f31c
47fd64:	85 c0                	test   %eax,%eax
47fd66:	0f 95 c7             	setne  %bh
47fd69:	ff 74 24 1c          	push   0x1c(%esp)
47fd6d:	e8 fa 12 fa ff       	call   0x42106c
47fd72:	59                   	pop    %ecx
47fd73:	56                   	push   %esi
47fd74:	e8 f3 12 fa ff       	call   0x42106c
47fd79:	59                   	pop    %ecx
47fd7a:	84 ff                	test   %bh,%bh
47fd7c:	75 3d                	jne    0x47fdbb
47fd7e:	8b 07                	mov    (%edi),%eax
47fd80:	33 db                	xor    %ebx,%ebx
47fd82:	53                   	push   %ebx
47fd83:	6a 01                	push   $0x1
47fd85:	8b 48 04             	mov    0x4(%eax),%ecx
47fd88:	03 cf                	add    %edi,%ecx
47fd8a:	e8 14 6d fd ff       	call   0x456aa3
47fd8f:	53                   	push   %ebx
47fd90:	ff 15 40 f3 48 00    	call   *0x48f340
47fd96:	50                   	push   %eax
47fd97:	8b 07                	mov    (%edi),%eax
47fd99:	8b 48 04             	mov    0x4(%eax),%ecx
47fd9c:	03 cf                	add    %edi,%ecx
47fd9e:	e8 be 01 fa ff       	call   0x41ff61
47fda3:	8b 75 14             	mov    0x14(%ebp),%esi
47fda6:	8b ce                	mov    %esi,%ecx
47fda8:	e8 73 9c f8 ff       	call   0x409a20
47fdad:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47fdb4:	89 1e                	mov    %ebx,(%esi)
47fdb6:	e9 81 00 00 00       	jmp    0x47fe3c
47fdbb:	ff 74 24 3c          	push   0x3c(%esp)
47fdbf:	ff 15 5c f3 48 00    	call   *0x48f35c
47fdc5:	84 db                	test   %bl,%bl
47fdc7:	74 2a                	je     0x47fdf3
47fdc9:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fdcd:	e8 1a 71 fe ff       	call   0x466eec
47fdd2:	8b 44 24 40          	mov    0x40(%esp),%eax
47fdd6:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fdda:	89 44 24 4c          	mov    %eax,0x4c(%esp)
47fdde:	e8 51 77 fe ff       	call   0x467534
47fde3:	8d 44 24 48          	lea    0x48(%esp),%eax
47fde7:	50                   	push   %eax
47fde8:	8d 8f 5c 04 00 00    	lea    0x45c(%edi),%ecx
47fdee:	e8 97 00 00 00       	call   0x47fe8a
47fdf3:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
47fdf7:	74 0c                	je     0x47fe05
47fdf9:	8b 44 24 38          	mov    0x38(%esp),%eax
47fdfd:	89 87 44 04 00 00    	mov    %eax,0x444(%edi)
47fe03:	eb 37                	jmp    0x47fe3c
47fe05:	8b 44 24 40          	mov    0x40(%esp),%eax
47fe09:	db 44 24 40          	fildl  0x40(%esp)
47fe0d:	85 c0                	test   %eax,%eax
47fe0f:	79 06                	jns    0x47fe17
47fe11:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
47fe17:	8b 75 14             	mov    0x14(%ebp),%esi
47fe1a:	8b ce                	mov    %esi,%ecx
47fe1c:	dd 5c 24 30          	fstpl  0x30(%esp)
47fe20:	e8 fb 9b f8 ff       	call   0x409a20
47fe25:	dd 44 24 30          	fldl   0x30(%esp)
47fe29:	ff 74 24 38          	push   0x38(%esp)
47fe2d:	dd 1e                	fstpl  (%esi)
47fe2f:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
47fe36:	ff 15 5c f3 48 00    	call   *0x48f35c
47fe3c:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fe40:	e8 d1 6e fe ff       	call   0x466d16
47fe45:	5f                   	pop    %edi
47fe46:	5e                   	pop    %esi
47fe47:	33 c0                	xor    %eax,%eax
47fe49:	5b                   	pop    %ebx
47fe4a:	8b e5                	mov    %ebp,%esp
47fe4c:	5d                   	pop    %ebp
47fe4d:	c2 10 00             	ret    $0x10
47fe50:	56                   	push   %esi
47fe51:	8b f1                	mov    %ecx,%esi
47fe53:	57                   	push   %edi
47fe54:	33 ff                	xor    %edi,%edi
47fe56:	39 7e 08             	cmp    %edi,0x8(%esi)
47fe59:	76 28                	jbe    0x47fe83
47fe5b:	53                   	push   %ebx
47fe5c:	8b 46 04             	mov    0x4(%esi),%eax
47fe5f:	8b 1c b8             	mov    (%eax,%edi,4),%ebx
47fe62:	85 db                	test   %ebx,%ebx
47fe64:	74 0f                	je     0x47fe75
47fe66:	8d 4b 04             	lea    0x4(%ebx),%ecx
47fe69:	e8 f6 5b f8 ff       	call   0x405a64
47fe6e:	53                   	push   %ebx
47fe6f:	e8 f8 11 fa ff       	call   0x42106c
47fe74:	59                   	pop    %ecx
47fe75:	8b 46 04             	mov    0x4(%esi),%eax
47fe78:	83 24 b8 00          	andl   $0x0,(%eax,%edi,4)
47fe7c:	47                   	inc    %edi
47fe7d:	3b 7e 08             	cmp    0x8(%esi),%edi
47fe80:	72 da                	jb     0x47fe5c
47fe82:	5b                   	pop    %ebx
47fe83:	83 66 08 00          	andl   $0x0,0x8(%esi)
47fe87:	5f                   	pop    %edi
47fe88:	5e                   	pop    %esi
47fe89:	c3                   	ret
47fe8a:	55                   	push   %ebp
47fe8b:	8b ec                	mov    %esp,%ebp
47fe8d:	56                   	push   %esi
47fe8e:	8b f1                	mov    %ecx,%esi
47fe90:	57                   	push   %edi
47fe91:	33 ff                	xor    %edi,%edi
47fe93:	6a 0c                	push   $0xc
47fe95:	39 7e 04             	cmp    %edi,0x4(%esi)
47fe98:	75 1a                	jne    0x47feb4
47fe9a:	e8 57 11 fa ff       	call   0x420ff6
47fe9f:	59                   	pop    %ecx
47fea0:	85 c0                	test   %eax,%eax
47fea2:	74 0c                	je     0x47feb0
47fea4:	ff 75 08             	push   0x8(%ebp)
47fea7:	8b c8                	mov    %eax,%ecx
47fea9:	e8 57 ce ff ff       	call   0x47cd05
47feae:	8b f8                	mov    %eax,%edi
47feb0:	89 3e                	mov    %edi,(%esi)
47feb2:	eb 22                	jmp    0x47fed6
47feb4:	e8 3d 11 fa ff       	call   0x420ff6
47feb9:	59                   	pop    %ecx
47feba:	85 c0                	test   %eax,%eax
47febc:	74 0c                	je     0x47feca
47febe:	ff 75 08             	push   0x8(%ebp)
47fec1:	8b c8                	mov    %eax,%ecx
47fec3:	e8 3d ce ff ff       	call   0x47cd05
47fec8:	8b f8                	mov    %eax,%edi
47feca:	8b 46 04             	mov    0x4(%esi),%eax
47fecd:	89 47 08             	mov    %eax,0x8(%edi)
47fed0:	8b 46 04             	mov    0x4(%esi),%eax
47fed3:	89 78 04             	mov    %edi,0x4(%eax)
47fed6:	ff 46 08             	incl   0x8(%esi)
47fed9:	89 7e 04             	mov    %edi,0x4(%esi)
47fedc:	5f                   	pop    %edi
47fedd:	5e                   	pop    %esi
47fede:	5d                   	pop    %ebp
47fedf:	c2 04 00             	ret    $0x4
47fee2:	55                   	push   %ebp
47fee3:	8b ec                	mov    %esp,%ebp
47fee5:	56                   	push   %esi
47fee6:	8b f1                	mov    %ecx,%esi
47fee8:	57                   	push   %edi
47fee9:	8b 46 0c             	mov    0xc(%esi),%eax
47feec:	39 46 08             	cmp    %eax,0x8(%esi)
47feef:	75 4e                	jne    0x47ff3f
47fef1:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
47fef4:	6a 08                	push   $0x8
47fef6:	58                   	pop    %eax
47fef7:	3b c8                	cmp    %eax,%ecx
47fef9:	72 02                	jb     0x47fefd
47fefb:	8b c1                	mov    %ecx,%eax
47fefd:	33 c9                	xor    %ecx,%ecx
47feff:	89 46 0c             	mov    %eax,0xc(%esi)
47ff02:	6a 04                	push   $0x4
47ff04:	5a                   	pop    %edx
47ff05:	f7 e2                	mul    %edx
47ff07:	0f 90 c1             	seto   %cl
47ff0a:	f7 d9                	neg    %ecx
47ff0c:	0b c8                	or     %eax,%ecx
47ff0e:	51                   	push   %ecx
47ff0f:	e8 e2 10 fa ff       	call   0x420ff6
47ff14:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
47ff18:	8b f8                	mov    %eax,%edi
47ff1a:	59                   	pop    %ecx
47ff1b:	74 1f                	je     0x47ff3c
47ff1d:	8b 46 08             	mov    0x8(%esi),%eax
47ff20:	85 c0                	test   %eax,%eax
47ff22:	74 18                	je     0x47ff3c
47ff24:	c1 e0 02             	shl    $0x2,%eax
47ff27:	50                   	push   %eax
47ff28:	ff 76 04             	push   0x4(%esi)
47ff2b:	57                   	push   %edi
47ff2c:	e8 4f 11 fa ff       	call   0x421080
47ff31:	ff 76 04             	push   0x4(%esi)
47ff34:	e8 33 11 fa ff       	call   0x42106c
47ff39:	83 c4 10             	add    $0x10,%esp
47ff3c:	89 7e 04             	mov    %edi,0x4(%esi)
47ff3f:	6a 14                	push   $0x14
47ff41:	e8 b0 10 fa ff       	call   0x420ff6
47ff46:	8b f8                	mov    %eax,%edi
47ff48:	59                   	pop    %ecx
47ff49:	85 ff                	test   %edi,%edi
47ff4b:	74 23                	je     0x47ff70
47ff4d:	8b 55 08             	mov    0x8(%ebp),%edx
47ff50:	8b 0a                	mov    (%edx),%ecx
47ff52:	89 0f                	mov    %ecx,(%edi)
47ff54:	8b 42 04             	mov    0x4(%edx),%eax
47ff57:	89 47 04             	mov    %eax,0x4(%edi)
47ff5a:	8b 42 08             	mov    0x8(%edx),%eax
47ff5d:	89 47 08             	mov    %eax,0x8(%edi)
47ff60:	8b 42 0c             	mov    0xc(%edx),%eax
47ff63:	89 47 0c             	mov    %eax,0xc(%edi)
47ff66:	8b 42 10             	mov    0x10(%edx),%eax
47ff69:	89 47 10             	mov    %eax,0x10(%edi)
47ff6c:	ff 00                	incl   (%eax)
47ff6e:	eb 02                	jmp    0x47ff72
47ff70:	33 ff                	xor    %edi,%edi
47ff72:	8b 4e 08             	mov    0x8(%esi),%ecx
47ff75:	8b 46 04             	mov    0x4(%esi),%eax
47ff78:	89 3c 88             	mov    %edi,(%eax,%ecx,4)
47ff7b:	ff 46 08             	incl   0x8(%esi)
47ff7e:	5f                   	pop    %edi
47ff7f:	5e                   	pop    %esi
47ff80:	5d                   	pop    %ebp
47ff81:	c2 04 00             	ret    $0x4
47ff84:	56                   	push   %esi
47ff85:	8b f1                	mov    %ecx,%esi
47ff87:	e8 e6 10 00 00       	call   0x481072
47ff8c:	84 c0                	test   %al,%al
47ff8e:	74 05                	je     0x47ff95
47ff90:	8b 46 08             	mov    0x8(%esi),%eax
47ff93:	5e                   	pop    %esi
47ff94:	c3                   	ret
47ff95:	b8 a4 b7 43 00       	mov    $0x43b7a4,%eax
47ff9a:	5e                   	pop    %esi
47ff9b:	c3                   	ret
47ff9c:	55                   	push   %ebp
47ff9d:	8b ec                	mov    %esp,%ebp
47ff9f:	83 e4 f8             	and    $0xfffffff8,%esp
47ffa2:	83 ec 5c             	sub    $0x5c,%esp
47ffa5:	83 24 24 00          	andl   $0x0,(%esp)
47ffa9:	53                   	push   %ebx
47ffaa:	56                   	push   %esi
47ffab:	8b 75 08             	mov    0x8(%ebp),%esi
47ffae:	57                   	push   %edi
47ffaf:	8b f9                	mov    %ecx,%edi
47ffb1:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47ffb5:	8b 5e 08             	mov    0x8(%esi),%ebx
47ffb8:	e8 0a 78 f8 ff       	call   0x4077c7
47ffbd:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47ffc1:	e8 01 78 f8 ff       	call   0x4077c7
47ffc6:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47ffca:	e8 f8 77 f8 ff       	call   0x4077c7
47ffcf:	8d 4c 24 58          	lea    0x58(%esp),%ecx
47ffd3:	e8 ef 77 f8 ff       	call   0x4077c7
47ffd8:	8b 46 04             	mov    0x4(%esi),%eax
47ffdb:	8b 30                	mov    (%eax),%esi
47ffdd:	8b ce                	mov    %esi,%ecx
47ffdf:	e8 b3 99 f8 ff       	call   0x409997
47ffe4:	8b 46 08             	mov    0x8(%esi),%eax
47ffe7:	83 ec 10             	sub    $0x10,%esp
47ffea:	8b cc                	mov    %esp,%ecx
47ffec:	ff 30                	push   (%eax)
47ffee:	e8 4e 7f f8 ff       	call   0x407f41
47fff3:	8d 44 24 48          	lea    0x48(%esp),%eax
47fff7:	50                   	push   %eax
47fff8:	8d 44 24 3c          	lea    0x3c(%esp),%eax
47fffc:	50                   	push   %eax
47fffd:	8d 44 24 60          	lea    0x60(%esp),%eax
480001:	50                   	push   %eax
480002:	e8 40 13 00 00       	call   0x481347
480007:	8b 44 24 28          	mov    0x28(%esp),%eax
48000b:	83 ec 10             	sub    $0x10,%esp
48000e:	8b cc                	mov    %esp,%ecx
480010:	89 01                	mov    %eax,(%ecx)
480012:	8b 44 24 3c          	mov    0x3c(%esp),%eax
480016:	89 41 04             	mov    %eax,0x4(%ecx)
480019:	8b 44 24 40          	mov    0x40(%esp),%eax
48001d:	89 41 08             	mov    %eax,0x8(%ecx)
480020:	8b 44 24 44          	mov    0x44(%esp),%eax
480024:	89 41 0c             	mov    %eax,0xc(%ecx)
480027:	ff 00                	incl   (%eax)
480029:	8d 44 24 24          	lea    0x24(%esp),%eax
48002d:	50                   	push   %eax
48002e:	8d 44 24 2c          	lea    0x2c(%esp),%eax
480032:	50                   	push   %eax
480033:	e8 6d 10 00 00       	call   0x4810a5
480038:	84 c0                	test   %al,%al
48003a:	75 29                	jne    0x480065
48003c:	8b 07                	mov    (%edi),%eax
48003e:	6a 00                	push   $0x0
480040:	6a 02                	push   $0x2
480042:	8b 48 04             	mov    0x4(%eax),%ecx
480045:	03 cf                	add    %edi,%ecx
480047:	e8 57 6a fd ff       	call   0x456aa3
48004c:	8b 75 0c             	mov    0xc(%ebp),%esi
48004f:	8b ce                	mov    %esi,%ecx
480051:	e8 ca 99 f8 ff       	call   0x409a20
480056:	83 26 00             	andl   $0x0,(%esi)
480059:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
480060:	e9 2e 02 00 00       	jmp    0x480293
480065:	83 7c 24 4c 00       	cmpl   $0x0,0x4c(%esp)
48006a:	74 54                	je     0x4800c0
48006c:	8d 44 24 0c          	lea    0xc(%esp),%eax
480070:	50                   	push   %eax
480071:	ff 74 24 1c          	push   0x1c(%esp)
480075:	ff 74 24 50          	push   0x50(%esp)
480079:	ff 15 24 f0 48 00    	call   *0x48f024
48007f:	85 c0                	test   %eax,%eax
480081:	74 37                	je     0x4800ba
480083:	33 db                	xor    %ebx,%ebx
480085:	53                   	push   %ebx
480086:	50                   	push   %eax
480087:	8b 07                	mov    (%edi),%eax
480089:	8b 48 04             	mov    0x4(%eax),%ecx