47f89b:	e8 03 72 fd ff       	call   0x456aa3
47f8a0:	8b 75 14             	mov    0x14(%ebp),%esi
47f8a3:	8b ce                	mov    %esi,%ecx
47f8a5:	e8 76 a1 f8 ff       	call   0x409a20
47f8aa:	89 7e 0c             	mov    %edi,0xc(%esi)
47f8ad:	89 1e                	mov    %ebx,(%esi)
47f8af:	eb 65                	jmp    0x47f916
47f8b1:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
47f8b5:	74 0e                	je     0x47f8c5
47f8b7:	8b 55 f0             	mov    -0x10(%ebp),%edx
47f8ba:	8b 45 d8             	mov    -0x28(%ebp),%eax
47f8bd:	89 82 44 04 00 00    	mov    %eax,0x444(%edx)
47f8c3:	eb 51                	jmp    0x47f916
47f8c5:	8b 75 14             	mov    0x14(%ebp),%esi
47f8c8:	8b ce                	mov    %esi,%ecx
47f8ca:	e8 51 a1 f8 ff       	call   0x409a20
47f8cf:	83 0e ff             	orl    $0xffffffff,(%esi)
47f8d2:	33 ff                	xor    %edi,%edi
47f8d4:	47                   	inc    %edi
47f8d5:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
47f8d9:	89 7e 0c             	mov    %edi,0xc(%esi)
47f8dc:	74 38                	je     0x47f916
47f8de:	ff 75 d8             	push   -0x28(%ebp)
47f8e1:	ff 15 20 f3 48 00    	call   *0x48f320
47f8e7:	89 45 08             	mov    %eax,0x8(%ebp)
47f8ea:	db 45 08             	fildl  0x8(%ebp)
47f8ed:	85 c0                	test   %eax,%eax
47f8ef:	79 06                	jns    0x47f8f7
47f8f1:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
47f8f7:	8b ce                	mov    %esi,%ecx
47f8f9:	dd 5d ec             	fstpl  -0x14(%ebp)
47f8fc:	e8 1f a1 f8 ff       	call   0x409a20
47f901:	dd 45 ec             	fldl   -0x14(%ebp)
47f904:	ff 75 d8             	push   -0x28(%ebp)
47f907:	dd 1e                	fstpl  (%esi)
47f909:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
47f910:	ff 15 5c f3 48 00    	call   *0x48f35c
47f916:	8d 4d dc             	lea    -0x24(%ebp),%ecx
47f919:	e8 46 61 f8 ff       	call   0x405a64
47f91e:	5f                   	pop    %edi
47f91f:	5e                   	pop    %esi
47f920:	33 c0                	xor    %eax,%eax
47f922:	5b                   	pop    %ebx
47f923:	8b e5                	mov    %ebp,%esp
47f925:	5d                   	pop    %ebp
47f926:	c2 10 00             	ret    $0x10
47f929:	55                   	push   %ebp
47f92a:	8b ec                	mov    %esp,%ebp
47f92c:	53                   	push   %ebx
47f92d:	8b 5d 08             	mov    0x8(%ebp),%ebx
47f930:	56                   	push   %esi
47f931:	57                   	push   %edi
47f932:	8b f9                	mov    %ecx,%edi
47f934:	8b 43 04             	mov    0x4(%ebx),%eax
47f937:	8b 30                	mov    (%eax),%esi
47f939:	8b ce                	mov    %esi,%ecx
47f93b:	e8 ba 6c fd ff       	call   0x4565fa
47f940:	84 c0                	test   %al,%al
47f942:	74 0f                	je     0x47f953
47f944:	8b ce                	mov    %esi,%ecx
47f946:	e8 51 a3 f8 ff       	call   0x409c9c
47f94b:	85 c0                	test   %eax,%eax
47f94d:	75 04                	jne    0x47f953
47f94f:	32 c0                	xor    %al,%al
47f951:	eb 4e                	jmp    0x47f9a1
47f953:	8b 43 04             	mov    0x4(%ebx),%eax
47f956:	8b 30                	mov    (%eax),%esi
47f958:	8b ce                	mov    %esi,%ecx
47f95a:	e8 38 a0 f8 ff       	call   0x409997
47f95f:	ff 76 08             	push   0x8(%esi)
47f962:	8d 8f 2c 04 00 00    	lea    0x42c(%edi),%ecx
47f968:	e8 3a 88 f8 ff       	call   0x4081a7
47f96d:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
47f971:	75 19                	jne    0x47f98c
47f973:	8b 43 04             	mov    0x4(%ebx),%eax
47f976:	8b 48 04             	mov    0x4(%eax),%ecx
47f979:	e8 1e a3 f8 ff       	call   0x409c9c
47f97e:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
47f984:	89 87 3c 04 00 00    	mov    %eax,0x43c(%edi)
47f98a:	eb 07                	jmp    0x47f993
47f98c:	83 a7 3c 04 00 00 00 	andl   $0x0,0x43c(%edi)
47f993:	ff 15 b8 f7 48 00    	call   *0x48f7b8
47f999:	89 87 40 04 00 00    	mov    %eax,0x440(%edi)
47f99f:	b0 01                	mov    $0x1,%al
47f9a1:	5f                   	pop    %edi
47f9a2:	5e                   	pop    %esi
47f9a3:	5b                   	pop    %ebx
47f9a4:	5d                   	pop    %ebp
47f9a5:	c2 08 00             	ret    $0x8
47f9a8:	55                   	push   %ebp
47f9a9:	8b ec                	mov    %esp,%ebp
47f9ab:	83 e4 f8             	and    $0xfffffff8,%esp
47f9ae:	81 ec ac 00 00 00    	sub    $0xac,%esp
47f9b4:	53                   	push   %ebx
47f9b5:	56                   	push   %esi
47f9b6:	57                   	push   %edi
47f9b7:	6a 44                	push   $0x44
47f9b9:	5e                   	pop    %esi
47f9ba:	56                   	push   %esi
47f9bb:	33 db                	xor    %ebx,%ebx
47f9bd:	8d 44 24 74          	lea    0x74(%esp),%eax
47f9c1:	8b f9                	mov    %ecx,%edi
47f9c3:	53                   	push   %ebx
47f9c4:	50                   	push   %eax
47f9c5:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
47f9c9:	e8 52 36 fa ff       	call   0x423020
47f9ce:	33 c0                	xor    %eax,%eax
47f9d0:	89 74 24 7c          	mov    %esi,0x7c(%esp)
47f9d4:	40                   	inc    %eax
47f9d5:	89 5c 24 20          	mov    %ebx,0x20(%esp)
47f9d9:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
47f9e0:	83 c4 0c             	add    $0xc,%esp
47f9e3:	66 89 84 24 a0 00 00 	mov    %ax,0xa0(%esp)
47f9ea:	00
47f9eb:	8b f3                	mov    %ebx,%esi
47f9ed:	8a 45 0c             	mov    0xc(%ebp),%al
47f9f0:	89 5c 24 18          	mov    %ebx,0x18(%esp)
47f9f4:	89 5c 24 10          	mov    %ebx,0x10(%esp)
47f9f8:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
47f9fc:	89 5c 24 28          	mov    %ebx,0x28(%esp)
47fa00:	89 5c 24 20          	mov    %ebx,0x20(%esp)
47fa04:	8b 5d 10             	mov    0x10(%ebp),%ebx
47fa07:	84 c0                	test   %al,%al
47fa09:	74 2a                	je     0x47fa35
47fa0b:	8b 43 04             	mov    0x4(%ebx),%eax
47fa0e:	8b 48 0c             	mov    0xc(%eax),%ecx
47fa11:	e8 86 a2 f8 ff       	call   0x409c9c
47fa16:	83 7b 08 07          	cmpl   $0x7,0x8(%ebx)
47fa1a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
47fa1e:	76 4b                	jbe    0x47fa6b
47fa20:	8b 43 04             	mov    0x4(%ebx),%eax
47fa23:	8b 48 1c             	mov    0x1c(%eax),%ecx
47fa26:	e8 71 a2 f8 ff       	call   0x409c9c
47fa2b:	8b f0                	mov    %eax,%esi
47fa2d:	8b 43 04             	mov    0x4(%ebx),%eax
47fa30:	8b 48 1c             	mov    0x1c(%eax),%ecx
47fa33:	eb 19                	jmp    0x47fa4e
47fa35:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
47fa39:	76 45                	jbe    0x47fa80
47fa3b:	8b 43 04             	mov    0x4(%ebx),%eax
47fa3e:	8b 48 0c             	mov    0xc(%eax),%ecx
47fa41:	e8 56 a2 f8 ff       	call   0x409c9c
47fa46:	8b f0                	mov    %eax,%esi
47fa48:	8b 43 04             	mov    0x4(%ebx),%eax
47fa4b:	8b 48 0c             	mov    0xc(%eax),%ecx
47fa4e:	81 e6 00 00 ff ff    	and    $0xffff0000,%esi
47fa54:	e8 43 a2 f8 ff       	call   0x409c9c
47fa59:	25 ff ff 00 00       	and    $0xffff,%eax
47fa5e:	89 44 24 28          	mov    %eax,0x28(%esp)
47fa62:	8a 45 0c             	mov    0xc(%ebp),%al
47fa65:	84 c0                	test   %al,%al
47fa67:	74 17                	je     0x47fa80
47fa69:	eb 03                	jmp    0x47fa6e
47fa6b:	8a 45 0c             	mov    0xc(%ebp),%al
47fa6e:	83 7b 08 06          	cmpl   $0x6,0x8(%ebx)
47fa72:	76 08                	jbe    0x47fa7c
47fa74:	8b 43 04             	mov    0x4(%ebx),%eax
47fa77:	8b 48 18             	mov    0x18(%eax),%ecx
47fa7a:	eb 12                	jmp    0x47fa8e
47fa7c:	84 c0                	test   %al,%al
47fa7e:	75 1b                	jne    0x47fa9b
47fa80:	6a 02                	push   $0x2
47fa82:	58                   	pop    %eax
47fa83:	39 43 08             	cmp    %eax,0x8(%ebx)
47fa86:	76 13                	jbe    0x47fa9b
47fa88:	8b 43 04             	mov    0x4(%ebx),%eax
47fa8b:	8b 48 08             	mov    0x8(%eax),%ecx
47fa8e:	e8 09 a2 f8 ff       	call   0x409c9c
47fa93:	66 89 84 24 a0 00 00 	mov    %ax,0xa0(%esp)
47fa9a:	00
47fa9b:	f7 c6 00 00 01 00    	test   $0x10000,%esi
47faa1:	74 08                	je     0x47faab
47faa3:	c7 44 24 20 10 00 00 	movl   $0x10,0x20(%esp)
47faaa:	00
47faab:	8b 43 04             	mov    0x4(%ebx),%eax
47faae:	8b 30                	mov    (%eax),%esi
47fab0:	8b ce                	mov    %esi,%ecx
47fab2:	e8 e0 9e f8 ff       	call   0x409997
47fab7:	8b 46 08             	mov    0x8(%esi),%eax
47faba:	8b 08                	mov    (%eax),%ecx
47fabc:	e8 05 04 fa ff       	call   0x41fec6
47fac1:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
47fac5:	0f 84 b9 00 00 00    	je     0x47fb84
47facb:	8b 4b 04             	mov    0x4(%ebx),%ecx
47face:	89 44 24 14          	mov    %eax,0x14(%esp)
47fad2:	8b 71 04             	mov    0x4(%ecx),%esi
47fad5:	8b ce                	mov    %esi,%ecx
47fad7:	e8 bb 9e f8 ff       	call   0x409997
47fadc:	8b 4e 08             	mov    0x8(%esi),%ecx
47fadf:	8b 09                	mov    (%ecx),%ecx
47fae1:	e8 e0 03 fa ff       	call   0x41fec6
47fae6:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fae9:	89 44 24 18          	mov    %eax,0x18(%esp)
47faed:	8b 71 08             	mov    0x8(%ecx),%esi
47faf0:	8b ce                	mov    %esi,%ecx
47faf2:	e8 a0 9e f8 ff       	call   0x409997
47faf7:	8b 4e 08             	mov    0x8(%esi),%ecx
47fafa:	8b 09                	mov    (%ecx),%ecx
47fafc:	e8 c5 03 fa ff       	call   0x41fec6
47fb01:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fb04:	89 44 24 10          	mov    %eax,0x10(%esp)
47fb08:	8b 71 10             	mov    0x10(%ecx),%esi
47fb0b:	8b ce                	mov    %esi,%ecx
47fb0d:	e8 85 9e f8 ff       	call   0x409997
47fb12:	8b 4e 08             	mov    0x8(%esi),%ecx
47fb15:	8b 09                	mov    (%ecx),%ecx
47fb17:	e8 aa 03 fa ff       	call   0x41fec6
47fb1c:	83 7b 08 05          	cmpl   $0x5,0x8(%ebx)
47fb20:	89 44 24 1c          	mov    %eax,0x1c(%esp)
47fb24:	76 2c                	jbe    0x47fb52
47fb26:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fb29:	8b 71 14             	mov    0x14(%ecx),%esi
47fb2c:	8b ce                	mov    %esi,%ecx
47fb2e:	e8 64 9e f8 ff       	call   0x409997
47fb33:	8b 4e 08             	mov    0x8(%esi),%ecx
47fb36:	8b 09                	mov    (%ecx),%ecx
47fb38:	e8 89 03 fa ff       	call   0x41fec6
47fb3d:	8b f0                	mov    %eax,%esi
47fb3f:	85 f6                	test   %esi,%esi
47fb41:	74 0f                	je     0x47fb52
47fb43:	56                   	push   %esi
47fb44:	e8 f3 32 fa ff       	call   0x422e3c
47fb49:	59                   	pop    %ecx
47fb4a:	85 c0                	test   %eax,%eax
47fb4c:	0f 85 9a 00 00 00    	jne    0x47fbec
47fb52:	8b 3d 00 f3 48 00    	mov    0x48f300,%edi
47fb58:	6a 00                	push   $0x0
47fb5a:	6a 00                	push   $0x0
47fb5c:	ff d7                	call   *%edi
47fb5e:	8b f0                	mov    %eax,%esi
47fb60:	33 c9                	xor    %ecx,%ecx
47fb62:	6a 02                	push   $0x2
47fb64:	5a                   	pop    %edx
47fb65:	8d 46 01             	lea    0x1(%esi),%eax
47fb68:	f7 e2                	mul    %edx
47fb6a:	0f 90 c1             	seto   %cl
47fb6d:	f7 d9                	neg    %ecx
47fb6f:	0b c8                	or     %eax,%ecx
47fb71:	51                   	push   %ecx
47fb72:	e8 7f 14 fa ff       	call   0x420ff6
47fb77:	59                   	pop    %ecx
47fb78:	56                   	push   %esi
47fb79:	8b f0                	mov    %eax,%esi
47fb7b:	89 44 24 28          	mov    %eax,0x28(%esp)
47fb7f:	56                   	push   %esi
47fb80:	ff d7                	call   *%edi
47fb82:	eb 64                	jmp    0x47fbe8
47fb84:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
47fb88:	89 44 24 1c          	mov    %eax,0x1c(%esp)
47fb8c:	76 28                	jbe    0x47fbb6
47fb8e:	8b 43 04             	mov    0x4(%ebx),%eax
47fb91:	8b 70 04             	mov    0x4(%eax),%esi
47fb94:	8b ce                	mov    %esi,%ecx
47fb96:	e8 fc 9d f8 ff       	call   0x409997
47fb9b:	8b 46 08             	mov    0x8(%esi),%eax
47fb9e:	8b 08                	mov    (%eax),%ecx
47fba0:	e8 21 03 fa ff       	call   0x41fec6
47fba5:	8b f0                	mov    %eax,%esi
47fba7:	85 f6                	test   %esi,%esi
47fba9:	74 0b                	je     0x47fbb6
47fbab:	56                   	push   %esi
47fbac:	e8 8b 32 fa ff       	call   0x422e3c
47fbb1:	59                   	pop    %ecx
47fbb2:	85 c0                	test   %eax,%eax
47fbb4:	75 6b                	jne    0x47fc21
47fbb6:	8b 3d 34 f3 48 00    	mov    0x48f334,%edi
47fbbc:	6a 00                	push   $0x0
47fbbe:	6a 00                	push   $0x0
47fbc0:	ff d7                	call   *%edi
47fbc2:	8b f0                	mov    %eax,%esi
47fbc4:	33 c9                	xor    %ecx,%ecx
47fbc6:	6a 02                	push   $0x2
47fbc8:	5a                   	pop    %edx
47fbc9:	8d 46 01             	lea    0x1(%esi),%eax
47fbcc:	f7 e2                	mul    %edx
47fbce:	0f 90 c1             	seto   %cl
47fbd1:	f7 d9                	neg    %ecx
47fbd3:	0b c8                	or     %eax,%ecx
47fbd5:	51                   	push   %ecx
47fbd6:	e8 1b 14 fa ff       	call   0x420ff6
47fbdb:	59                   	pop    %ecx
47fbdc:	50                   	push   %eax
47fbdd:	56                   	push   %esi
47fbde:	89 44 24 2c          	mov    %eax,0x2c(%esp)
47fbe2:	ff d7                	call   *%edi
47fbe4:	8b 74 24 24          	mov    0x24(%esp),%esi
47fbe8:	8b 7c 24 30          	mov    0x30(%esp),%edi
47fbec:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
47fbf0:	74 2f                	je     0x47fc21
47fbf2:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fbf5:	68 10 f9 48 00       	push   $0x48f910
47fbfa:	8b 09                	mov    (%ecx),%ecx
47fbfc:	e8 f7 9f f8 ff       	call   0x409bf8
47fc01:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fc04:	68 10 f9 48 00       	push   $0x48f910
47fc09:	8b 49 04             	mov    0x4(%ecx),%ecx
47fc0c:	e8 e7 9f f8 ff       	call   0x409bf8
47fc11:	8b 4b 04             	mov    0x4(%ebx),%ecx
47fc14:	68 10 f9 48 00       	push   $0x48f910
47fc19:	8b 49 08             	mov    0x8(%ecx),%ecx
47fc1c:	e8 d7 9f f8 ff       	call   0x409bf8
47fc21:	8b 54 24 28          	mov    0x28(%esp),%edx
47fc25:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fc29:	52                   	push   %edx
47fc2a:	e8 4d 70 fe ff       	call   0x466c7c
47fc2f:	85 d2                	test   %edx,%edx
47fc31:	74 5a                	je     0x47fc8d
47fc33:	e8 01 77 fe ff       	call   0x467339
47fc38:	83 f8 ff             	cmp    $0xffffffff,%eax
47fc3b:	89 84 24 ac 00 00 00 	mov    %eax,0xac(%esp)
47fc42:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fc46:	0f 94 c3             	sete   %bl
47fc49:	fe cb                	dec    %bl
47fc4b:	80 e3 01             	and    $0x1,%bl
47fc4e:	e8 f5 75 fe ff       	call   0x467248
47fc53:	83 f8 ff             	cmp    $0xffffffff,%eax
47fc56:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
47fc5d:	8d 4c 24 48          	lea    0x48(%esp),%ecx
47fc61:	0f 94 c7             	sete   %bh
47fc64:	fe cf                	dec    %bh
47fc66:	22 fb                	and    %bl,%bh
47fc68:	e8 54 76 fe ff       	call   0x4672c1
47fc6d:	83 f8 ff             	cmp    $0xffffffff,%eax
47fc70:	89 84 24 a8 00 00 00 	mov    %eax,0xa8(%esp)
47fc77:	0f 94 c3             	sete   %bl
47fc7a:	fe cb                	dec    %bl
47fc7c:	22 df                	and    %bh,%bl
47fc7e:	74 0f                	je     0x47fc8f
47fc80:	81 8c 24 9c 00 00 00 	orl    $0x100,0x9c(%esp)
47fc87:	00 01 00 00
47fc8b:	eb 02                	jmp    0x47fc8f
47fc8d:	32 db                	xor    %bl,%bl
47fc8f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
47fc93:	0f 84 a6 00 00 00    	je     0x47fd3f
47fc99:	e8 7f 8b fd ff       	call   0x45881d
47fc9e:	84 c0                	test   %al,%al
47fca0:	8d 44 24 38          	lea    0x38(%esp),%eax
47fca4:	50                   	push   %eax
47fca5:	8d 44 24 74          	lea    0x74(%esp),%eax
47fca9:	50                   	push   %eax
47fcaa:	56                   	push   %esi
47fcab:	ff 74 24 2c          	push   0x2c(%esp)
47fcaf:	ff 74 24 2c          	push   0x2c(%esp)
47fcb3:	51                   	push   %ecx
47fcb4:	ff 74 24 44          	push   0x44(%esp)
47fcb8:	ff 74 24 2c          	push   0x2c(%esp)
47fcbc:	ff 74 24 38          	push   0x38(%esp)
47fcc0:	ff 74 24 38          	push   0x38(%esp)
47fcc4:	74 07                	je     0x47fccd
47fcc6:	e8 8d 8b fd ff       	call   0x458858