46ca41:	68 f4 a7 48 00       	push   $0x48a7f4
46ca46:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
46ca4c:	e8 43 48 f9 ff       	call   0x401294
46ca51:	ff 76 50             	push   0x50(%esi)
46ca54:	8d 8d e4 fe ff ff    	lea    -0x11c(%ebp),%ecx
46ca5a:	89 7d fc             	mov    %edi,-0x4(%ebp)
46ca5d:	e8 8d ef ff ff       	call   0x46b9ef
46ca62:	68 f0 a7 48 00       	push   $0x48a7f0
46ca67:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46ca6d:	50                   	push   %eax
46ca6e:	8d 85 d4 fe ff ff    	lea    -0x12c(%ebp),%eax
46ca74:	50                   	push   %eax
46ca75:	e8 b5 48 f9 ff       	call   0x40132f
46ca7a:	ff 76 64             	push   0x64(%esi)
46ca7d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46ca81:	50                   	push   %eax
46ca82:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
46ca88:	50                   	push   %eax
46ca89:	e8 a1 48 f9 ff       	call   0x40132f
46ca8e:	83 c4 18             	add    $0x18,%esp
46ca91:	8b 8d d4 fe ff ff    	mov    -0x12c(%ebp),%ecx
46ca97:	83 c1 f0             	add    $0xfffffff0,%ecx
46ca9a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46ca9e:	e8 af 48 f9 ff       	call   0x401352
46caa3:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
46caa9:	50                   	push   %eax
46caaa:	be 01 00 00 80       	mov    $0x80000001,%esi
46caaf:	56                   	push   %esi
46cab0:	e8 65 fd ff ff       	call   0x46c81a
46cab5:	8d 85 e0 fe ff ff    	lea    -0x120(%ebp),%eax
46cabb:	50                   	push   %eax
46cabc:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
46cac2:	56                   	push   %esi
46cac3:	ff 15 84 fe 4a 00    	call   *0x4afe84
46cac9:	85 c0                	test   %eax,%eax
46cacb:	75 39                	jne    0x46cb06
46cacd:	68 04 01 00 00       	push   $0x104
46cad2:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46cad8:	50                   	push   %eax
46cad9:	57                   	push   %edi
46cada:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
46cae0:	ff 15 94 fe 4a 00    	call   *0x4afe94
46cae6:	3d 03 01 00 00       	cmp    $0x103,%eax
46caeb:	75 0d                	jne    0x46cafa
46caed:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
46caf3:	50                   	push   %eax
46caf4:	56                   	push   %esi
46caf5:	e8 20 fd ff ff       	call   0x46c81a
46cafa:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
46cb00:	ff 15 ac fe 4a 00    	call   *0x4afeac
46cb06:	8b bd dc fe ff ff    	mov    -0x124(%ebp),%edi
46cb0c:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
46cb12:	50                   	push   %eax
46cb13:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
46cb19:	50                   	push   %eax
46cb1a:	57                   	push   %edi
46cb1b:	56                   	push   %esi
46cb1c:	ff 15 98 fe 4a 00    	call   *0x4afe98
46cb22:	8d 4f f0             	lea    -0x10(%edi),%ecx
46cb25:	e8 28 48 f9 ff       	call   0x401352
46cb2a:	8b 8d e4 fe ff ff    	mov    -0x11c(%ebp),%ecx
46cb30:	83 c1 f0             	add    $0xfffffff0,%ecx
46cb33:	e8 1a 48 f9 ff       	call   0x401352
46cb38:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cb3b:	33 c0                	xor    %eax,%eax
46cb3d:	5f                   	pop    %edi
46cb3e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cb45:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46cb48:	40                   	inc    %eax
46cb49:	5e                   	pop    %esi
46cb4a:	e8 8f b0 fa ff       	call   0x417bde
46cb4f:	c9                   	leave
46cb50:	c3                   	ret
46cb51:	56                   	push   %esi
46cb52:	8b f1                	mov    %ecx,%esi
46cb54:	57                   	push   %edi
46cb55:	33 ff                	xor    %edi,%edi
46cb57:	89 7e 1c             	mov    %edi,0x1c(%esi)
46cb5a:	89 7e 20             	mov    %edi,0x20(%esi)
46cb5d:	89 7e 28             	mov    %edi,0x28(%esi)
46cb60:	89 7e 2c             	mov    %edi,0x2c(%esi)
46cb63:	e8 6e 0d 00 00       	call   0x46d8d6
46cb68:	89 78 34             	mov    %edi,0x34(%eax)
46cb6b:	89 78 54             	mov    %edi,0x54(%eax)
46cb6e:	83 c0 4c             	add    $0x4c,%eax
46cb71:	50                   	push   %eax
46cb72:	ff 15 ac 07 4b 00    	call   *0x4b07ac
46cb78:	89 7e 3c             	mov    %edi,0x3c(%esi)
46cb7b:	89 7e 38             	mov    %edi,0x38(%esi)
46cb7e:	5f                   	pop    %edi
46cb7f:	c7 46 24 01 00 00 00 	movl   $0x1,0x24(%esi)
46cb86:	5e                   	pop    %esi
46cb87:	c3                   	ret
46cb88:	b8 00 a8 48 00       	mov    $0x48a800,%eax
46cb8d:	c3                   	ret
46cb8e:	b8 a0 2a 48 00       	mov    $0x482aa0,%eax
46cb93:	e8 e4 b0 fa ff       	call   0x417c7c
46cb98:	51                   	push   %ecx
46cb99:	56                   	push   %esi
46cb9a:	8b f1                	mov    %ecx,%esi
46cb9c:	89 75 f0             	mov    %esi,-0x10(%ebp)
46cb9f:	e8 60 55 fd ff       	call   0x442104
46cba4:	8b 45 08             	mov    0x8(%ebp),%eax
46cba7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cbab:	89 46 34             	mov    %eax,0x34(%esi)
46cbae:	8b 45 0c             	mov    0xc(%ebp),%eax
46cbb1:	8b ce                	mov    %esi,%ecx
46cbb3:	c7 06 2c a8 48 00    	movl   $0x48a82c,(%esi)
46cbb9:	89 46 30             	mov    %eax,0x30(%esi)
46cbbc:	e8 90 ff ff ff       	call   0x46cb51
46cbc1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cbc4:	8b c6                	mov    %esi,%eax
46cbc6:	5e                   	pop    %esi
46cbc7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cbce:	c9                   	leave
46cbcf:	c2 08 00             	ret    $0x8
46cbd2:	56                   	push   %esi
46cbd3:	8b f1                	mov    %ecx,%esi
46cbd5:	e8 da 42 01 00       	call   0x480eb4
46cbda:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
46cbdf:	74 07                	je     0x46cbe8
46cbe1:	56                   	push   %esi
46cbe2:	e8 99 34 fd ff       	call   0x440080
46cbe7:	59                   	pop    %ecx
46cbe8:	8b c6                	mov    %esi,%eax
46cbea:	5e                   	pop    %esi
46cbeb:	c2 04 00             	ret    $0x4
46cbee:	b8 b2 2a 48 00       	mov    $0x482ab2,%eax
46cbf3:	e8 84 b0 fa ff       	call   0x417c7c
46cbf8:	51                   	push   %ecx
46cbf9:	56                   	push   %esi
46cbfa:	8b f1                	mov    %ecx,%esi
46cbfc:	89 75 f0             	mov    %esi,-0x10(%ebp)
46cbff:	e8 00 55 fd ff       	call   0x442104
46cc04:	33 c0                	xor    %eax,%eax
46cc06:	8b ce                	mov    %esi,%ecx
46cc08:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cc0b:	c7 06 2c a8 48 00    	movl   $0x48a82c,(%esi)
46cc11:	89 46 30             	mov    %eax,0x30(%esi)
46cc14:	89 46 34             	mov    %eax,0x34(%esi)
46cc17:	e8 35 ff ff ff       	call   0x46cb51
46cc1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cc1f:	8b c6                	mov    %esi,%eax
46cc21:	5e                   	pop    %esi
46cc22:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46cc29:	c9                   	leave
46cc2a:	c3                   	ret
46cc2b:	8b 01                	mov    (%ecx),%eax
46cc2d:	c3                   	ret
46cc2e:	55                   	push   %ebp
46cc2f:	8d 6c 24 88          	lea    -0x78(%esp),%ebp
46cc33:	81 ec 94 00 00 00    	sub    $0x94,%esp
46cc39:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
46cc3e:	53                   	push   %ebx
46cc3f:	56                   	push   %esi
46cc40:	57                   	push   %edi
46cc41:	89 45 74             	mov    %eax,0x74(%ebp)
46cc44:	ff 15 80 07 4b 00    	call   *0x4b0780
46cc4a:	0f bf d8             	movswl %ax,%ebx
46cc4d:	c1 e8 10             	shr    $0x10,%eax
46cc50:	83 fb 20             	cmp    $0x20,%ebx
46cc53:	0f bf c8             	movswl %ax,%ecx
46cc56:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46cc59:	7e 03                	jle    0x46cc5e
46cc5b:	6a 20                	push   $0x20
46cc5d:	5b                   	pop    %ebx
46cc5e:	8d 43 fc             	lea    -0x4(%ebx),%eax
46cc61:	99                   	cltd
46cc62:	2b c2                	sub    %edx,%eax
46cc64:	8d 73 0f             	lea    0xf(%ebx),%esi
46cc67:	c1 fe 04             	sar    $0x4,%esi
46cc6a:	8b f8                	mov    %eax,%edi
46cc6c:	d1 ff                	sar    $1,%edi
46cc6e:	8b c6                	mov    %esi,%eax
46cc70:	c1 e0 04             	shl    $0x4,%eax
46cc73:	03 f8                	add    %eax,%edi
46cc75:	2b fb                	sub    %ebx,%edi
46cc77:	83 ff 0c             	cmp    $0xc,%edi
46cc7a:	7e 03                	jle    0x46cc7f
46cc7c:	6a 0c                	push   $0xc
46cc7e:	5f                   	pop    %edi
46cc7f:	6a 20                	push   $0x20
46cc81:	58                   	pop    %eax
46cc82:	3b c8                	cmp    %eax,%ecx
46cc84:	7e 03                	jle    0x46cc89
46cc86:	89 45 e8             	mov    %eax,-0x18(%ebp)
46cc89:	68 80 00 00 00       	push   $0x80
46cc8e:	8d 45 f4             	lea    -0xc(%ebp),%eax
46cc91:	68 ff 00 00 00       	push   $0xff
46cc96:	50                   	push   %eax
46cc97:	e8 a4 b5 fa ff       	call   0x418240
46cc9c:	8b 45 e8             	mov    -0x18(%ebp),%eax
46cc9f:	8d 50 fa             	lea    -0x6(%eax),%edx
46cca2:	d1 fa                	sar    $1,%edx
46cca4:	0f af d6             	imul   %esi,%edx
46cca7:	83 c4 0c             	add    $0xc,%esp
46ccaa:	8d 54 55 f4          	lea    -0xc(%ebp,%edx,2),%edx
46ccae:	c7 45 f0 d0 a8 48 00 	movl   $0x48a8d0,-0x10(%ebp)
46ccb5:	03 f6                	add    %esi,%esi
46ccb7:	c7 45 ec 05 00 00 00 	movl   $0x5,-0x14(%ebp)
46ccbe:	8b 45 f0             	mov    -0x10(%ebp),%eax
46ccc1:	66 0f b6 00          	movzbw (%eax),%ax
46ccc5:	8b cf                	mov    %edi,%ecx
46ccc7:	d3 e0                	shl    %cl,%eax
46ccc9:	ff 45 f0             	incl   -0x10(%ebp)
46cccc:	f7 d0                	not    %eax
46ccce:	88 22                	mov    %ah,(%edx)
46ccd0:	88 42 01             	mov    %al,0x1(%edx)
46ccd3:	03 d6                	add    %esi,%edx
46ccd5:	ff 4d ec             	decl   -0x14(%ebp)
46ccd8:	75 e4                	jne    0x46ccbe
46ccda:	8d 45 f4             	lea    -0xc(%ebp),%eax
46ccdd:	50                   	push   %eax
46ccde:	6a 01                	push   $0x1
46cce0:	6a 01                	push   $0x1
46cce2:	ff 75 e8             	push   -0x18(%ebp)
46cce5:	53                   	push   %ebx
46cce6:	ff 15 a8 00 4b 00    	call   *0x4b00a8
46ccec:	85 c0                	test   %eax,%eax
46ccee:	5f                   	pop    %edi
46ccef:	5e                   	pop    %esi
46ccf0:	a3 28 c4 4a 00       	mov    %eax,0x4ac428
46ccf5:	5b                   	pop    %ebx
46ccf6:	75 11                	jne    0x46cd09
46ccf8:	68 e3 7f 00 00       	push   $0x7fe3
46ccfd:	50                   	push   %eax
46ccfe:	ff 15 84 07 4b 00    	call   *0x4b0784
46cd04:	a3 28 c4 4a 00       	mov    %eax,0x4ac428
46cd09:	8b 4d 74             	mov    0x74(%ebp),%ecx
46cd0c:	e8 cd ae fa ff       	call   0x417bde
46cd11:	83 c5 78             	add    $0x78,%ebp
46cd14:	c9                   	leave
46cd15:	c3                   	ret
46cd16:	b8 a8 a8 48 00       	mov    $0x48a8a8,%eax
46cd1b:	c3                   	ret
46cd1c:	b8 ac a9 48 00       	mov    $0x48a9ac,%eax
46cd21:	c3                   	ret
46cd22:	e9 31 bd fa ff       	jmp    0x418a58
46cd27:	8b 09                	mov    (%ecx),%ecx
46cd29:	ff 74 24 04          	push   0x4(%esp)
46cd2d:	51                   	push   %ecx
46cd2e:	e8 25 bd fa ff       	call   0x418a58
46cd33:	59                   	pop    %ecx
46cd34:	59                   	pop    %ecx
46cd35:	c2 04 00             	ret    $0x4
46cd38:	8b 44 24 04          	mov    0x4(%esp),%eax
46cd3c:	8b 00                	mov    (%eax),%eax
46cd3e:	ff 74 24 08          	push   0x8(%esp)
46cd42:	50                   	push   %eax
46cd43:	e8 10 bd fa ff       	call   0x418a58
46cd48:	f7 d8                	neg    %eax
46cd4a:	59                   	pop    %ecx
46cd4b:	1b c0                	sbb    %eax,%eax
46cd4d:	59                   	pop    %ecx
46cd4e:	40                   	inc    %eax
46cd4f:	c3                   	ret
46cd50:	b8 38 ac 48 00       	mov    $0x48ac38,%eax
46cd55:	c3                   	ret
46cd56:	8b 4c 24 04          	mov    0x4(%esp),%ecx
46cd5a:	8b 01                	mov    (%ecx),%eax
46cd5c:	6a 00                	push   $0x0
46cd5e:	ff 50 04             	call   *0x4(%eax)
46cd61:	c2 04 00             	ret    $0x4
46cd64:	8b 01                	mov    (%ecx),%eax
46cd66:	85 c0                	test   %eax,%eax
46cd68:	74 06                	je     0x46cd70
46cd6a:	8b 08                	mov    (%eax),%ecx
46cd6c:	50                   	push   %eax
46cd6d:	ff 51 08             	call   *0x8(%ecx)
46cd70:	c3                   	ret
46cd71:	8b 01                	mov    (%ecx),%eax
46cd73:	c3                   	ret
46cd74:	8b c1                	mov    %ecx,%eax
46cd76:	c3                   	ret
46cd77:	8b 01                	mov    (%ecx),%eax
46cd79:	c3                   	ret
46cd7a:	8b c1                	mov    %ecx,%eax
46cd7c:	c3                   	ret
46cd7d:	8b c1                	mov    %ecx,%eax
46cd7f:	c3                   	ret
46cd80:	53                   	push   %ebx
46cd81:	55                   	push   %ebp
46cd82:	56                   	push   %esi
46cd83:	57                   	push   %edi
46cd84:	33 ed                	xor    %ebp,%ebp
46cd86:	55                   	push   %ebp
46cd87:	55                   	push   %ebp
46cd88:	ff 74 24 20          	push   0x20(%esp)
46cd8c:	ff 74 24 20          	push   0x20(%esp)
46cd90:	55                   	push   %ebp
46cd91:	ff 15 fc 70 4a 00    	call   *0x4a70fc
46cd97:	8b 35 a4 03 4b 00    	mov    0x4b03a4,%esi
46cd9d:	50                   	push   %eax
46cd9e:	ff d6                	call   *%esi
46cda0:	8b d8                	mov    %eax,%ebx
46cda2:	53                   	push   %ebx
46cda3:	55                   	push   %ebp
46cda4:	ff 15 f8 04 4b 00    	call   *0x4b04f8
46cdaa:	8b f8                	mov    %eax,%edi
46cdac:	3b fd                	cmp    %ebp,%edi
46cdae:	74 14                	je     0x46cdc4
46cdb0:	53                   	push   %ebx
46cdb1:	57                   	push   %edi
46cdb2:	ff 74 24 20          	push   0x20(%esp)
46cdb6:	ff 74 24 20          	push   0x20(%esp)
46cdba:	55                   	push   %ebp
46cdbb:	ff 15 fc 70 4a 00    	call   *0x4a70fc
46cdc1:	50                   	push   %eax
46cdc2:	ff d6                	call   *%esi
46cdc4:	8b c7                	mov    %edi,%eax
46cdc6:	5f                   	pop    %edi
46cdc7:	5e                   	pop    %esi
46cdc8:	5d                   	pop    %ebp
46cdc9:	5b                   	pop    %ebx
46cdca:	c3                   	ret
46cdcb:	8b c1                	mov    %ecx,%eax
46cdcd:	83 20 00             	andl   $0x0,(%eax)
46cdd0:	c3                   	ret
46cdd1:	ff 74 24 08          	push   0x8(%esp)
46cdd5:	8b 44 24 08          	mov    0x8(%esp),%eax
46cdd9:	8b 08                	mov    (%eax),%ecx
46cddb:	68 30 b4 48 00       	push   $0x48b430
46cde0:	50                   	push   %eax
46cde1:	ff 11                	call   *(%ecx)
46cde3:	c2 08 00             	ret    $0x8
46cde6:	b8 93 2b 48 00       	mov    $0x482b93,%eax
46cdeb:	e8 8c ae fa ff       	call   0x417c7c
46cdf0:	51                   	push   %ecx
46cdf1:	6a 50                	push   $0x50
46cdf3:	e8 5d 32 fd ff       	call   0x440055
46cdf8:	59                   	pop    %ecx
46cdf9:	8b c8                	mov    %eax,%ecx
46cdfb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46cdfe:	33 c0                	xor    %eax,%eax
46ce00:	3b c8                	cmp    %eax,%ecx
46ce02:	89 45 fc             	mov    %eax,-0x4(%ebp)
46ce05:	74 05                	je     0x46ce0c
46ce07:	e8 2d 70 fd ff       	call   0x443e39
46ce0c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46ce0f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46ce16:	c9                   	leave
46ce17:	c3                   	ret
46ce18:	b8 a9 2b 48 00       	mov    $0x482ba9,%eax
46ce1d:	e8 5a ae fa ff       	call   0x417c7c
46ce22:	51                   	push   %ecx
46ce23:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ce26:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46ce29:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46ce2d:	85 c9                	test   %ecx,%ecx
46ce2f:	74 05                	je     0x46ce36