56473b:	85 c0                	test   %eax,%eax
56473d:	74 52                	je     0x564791
56473f:	ff 75 50             	push   0x50(%ebp)
564742:	56                   	push   %esi
564743:	ff 75 28             	push   0x28(%ebp)
564746:	53                   	push   %ebx
564747:	ff 74 24 30          	push   0x30(%esp)
56474b:	8b 5c 24 30          	mov    0x30(%esp),%ebx
56474f:	53                   	push   %ebx
564750:	e8 fb 94 f9 ff       	call   0x4fdc50
564755:	83 c4 18             	add    $0x18,%esp
564758:	85 c0                	test   %eax,%eax
56475a:	74 35                	je     0x564791
56475c:	53                   	push   %ebx
56475d:	e8 fe 55 f7 ff       	call   0x4d9d60
564762:	83 c4 04             	add    $0x4,%esp
564765:	85 c0                	test   %eax,%eax
564767:	74 20                	je     0x564789
564769:	68 f6 00 00 00       	push   $0xf6
56476e:	68 a4 7d 65 00       	push   $0x657da4
564773:	68 a5 00 00 00       	push   $0xa5
564778:	68 29 01 00 00       	push   $0x129
56477d:	6a 10                	push   $0x10
56477f:	e8 fc 47 f7 ff       	call   0x4d8f80
564784:	83 c4 14             	add    $0x14,%esp
564787:	eb 08                	jmp    0x564791
564789:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
564790:	00
564791:	56                   	push   %esi
564792:	e8 39 33 f8 ff       	call   0x4e7ad0
564797:	57                   	push   %edi
564798:	e8 a3 33 f8 ff       	call   0x4e7b40
56479d:	8b 44 24 18          	mov    0x18(%esp),%eax
5647a1:	83 c4 08             	add    $0x8,%esp
5647a4:	5b                   	pop    %ebx
5647a5:	5f                   	pop    %edi
5647a6:	5e                   	pop    %esi
5647a7:	5d                   	pop    %ebp
5647a8:	59                   	pop    %ecx
5647a9:	c3                   	ret
5647aa:	5f                   	pop    %edi
5647ab:	5e                   	pop    %esi
5647ac:	33 c0                	xor    %eax,%eax
5647ae:	5d                   	pop    %ebp
5647af:	59                   	pop    %ecx
5647b0:	c3                   	ret
5647b1:	cc                   	int3
5647b2:	cc                   	int3
5647b3:	cc                   	int3
5647b4:	cc                   	int3
5647b5:	cc                   	int3
5647b6:	cc                   	int3
5647b7:	cc                   	int3
5647b8:	cc                   	int3
5647b9:	cc                   	int3
5647ba:	cc                   	int3
5647bb:	cc                   	int3
5647bc:	cc                   	int3
5647bd:	cc                   	int3
5647be:	cc                   	int3
5647bf:	cc                   	int3
5647c0:	8b 44 24 04          	mov    0x4(%esp),%eax
5647c4:	8b 40 50             	mov    0x50(%eax),%eax
5647c7:	85 c0                	test   %eax,%eax
5647c9:	75 1e                	jne    0x5647e9
5647cb:	68 06 01 00 00       	push   $0x106
5647d0:	68 a4 7d 65 00       	push   $0x657da4
5647d5:	6a 6f                	push   $0x6f
5647d7:	68 86 00 00 00       	push   $0x86
5647dc:	6a 10                	push   $0x10
5647de:	e8 9d 47 f7 ff       	call   0x4d8f80
5647e3:	83 c4 14             	add    $0x14,%esp
5647e6:	33 c0                	xor    %eax,%eax
5647e8:	c3                   	ret
5647e9:	ff 74 24 10          	push   0x10(%esp)
5647ed:	50                   	push   %eax
5647ee:	ff 74 24 14          	push   0x14(%esp)
5647f2:	ff 74 24 14          	push   0x14(%esp)
5647f6:	e8 25 59 f7 ff       	call   0x4da120
5647fb:	83 c4 10             	add    $0x10,%esp
5647fe:	c3                   	ret
5647ff:	cc                   	int3
564800:	8b 44 24 04          	mov    0x4(%esp),%eax
564804:	8b 40 50             	mov    0x50(%eax),%eax
564807:	85 c0                	test   %eax,%eax
564809:	75 1e                	jne    0x564829
56480b:	68 11 01 00 00       	push   $0x111
564810:	68 a4 7d 65 00       	push   $0x657da4
564815:	6a 6f                	push   $0x6f
564817:	68 85 00 00 00       	push   $0x85
56481c:	6a 10                	push   $0x10
56481e:	e8 5d 47 f7 ff       	call   0x4d8f80
564823:	83 c4 14             	add    $0x14,%esp
564826:	33 c0                	xor    %eax,%eax
564828:	c3                   	ret
564829:	ff 74 24 10          	push   0x10(%esp)
56482d:	50                   	push   %eax
56482e:	ff 74 24 14          	push   0x14(%esp)
564832:	ff 74 24 14          	push   0x14(%esp)
564836:	e8 35 fe f7 ff       	call   0x4e4670
56483b:	83 c4 10             	add    $0x10,%esp
56483e:	c3                   	ret
56483f:	cc                   	int3
564840:	8b 44 24 04          	mov    0x4(%esp),%eax
564844:	8b 40 54             	mov    0x54(%eax),%eax
564847:	85 c0                	test   %eax,%eax
564849:	75 1e                	jne    0x564869
56484b:	68 1c 01 00 00       	push   $0x11c
564850:	68 a4 7d 65 00       	push   $0x657da4
564855:	6a 6f                	push   $0x6f
564857:	68 d1 00 00 00       	push   $0xd1
56485c:	6a 10                	push   $0x10
56485e:	e8 1d 47 f7 ff       	call   0x4d8f80
564863:	83 c4 14             	add    $0x14,%esp
564866:	33 c0                	xor    %eax,%eax
564868:	c3                   	ret
564869:	50                   	push   %eax
56486a:	ff 74 24 0c          	push   0xc(%esp)
56486e:	e8 6d 52 f7 ff       	call   0x4d9ae0
564873:	83 c4 08             	add    $0x8,%esp
564876:	f7 d8                	neg    %eax
564878:	1b c0                	sbb    %eax,%eax
56487a:	f7 d8                	neg    %eax
56487c:	c3                   	ret
56487d:	cc                   	int3
56487e:	cc                   	int3
56487f:	cc                   	int3
564880:	b8 c8 7c 65 00       	mov    $0x657cc8,%eax
564885:	c3                   	ret
564886:	cc                   	int3
564887:	cc                   	int3
564888:	cc                   	int3
564889:	cc                   	int3
56488a:	cc                   	int3
56488b:	cc                   	int3
56488c:	cc                   	int3
56488d:	cc                   	int3
56488e:	cc                   	int3
56488f:	cc                   	int3
564890:	56                   	push   %esi
564891:	8b 74 24 08          	mov    0x8(%esp),%esi
564895:	e8 46 55 f7 ff       	call   0x4d9de0
56489a:	89 46 28             	mov    %eax,0x28(%esi)
56489d:	e8 3e 55 f7 ff       	call   0x4d9de0
5648a2:	89 46 44             	mov    %eax,0x44(%esi)
5648a5:	e8 36 55 f7 ff       	call   0x4d9de0
5648aa:	8b 4e 28             	mov    0x28(%esi),%ecx
5648ad:	89 46 48             	mov    %eax,0x48(%esi)
5648b0:	85 c9                	test   %ecx,%ecx
5648b2:	74 11                	je     0x5648c5
5648b4:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
5648b8:	74 0b                	je     0x5648c5
5648ba:	85 c0                	test   %eax,%eax
5648bc:	74 07                	je     0x5648c5
5648be:	b8 01 00 00 00       	mov    $0x1,%eax
5648c3:	5e                   	pop    %esi
5648c4:	c3                   	ret
5648c5:	51                   	push   %ecx
5648c6:	e8 55 53 f7 ff       	call   0x4d9c20
5648cb:	ff 76 44             	push   0x44(%esi)
5648ce:	e8 4d 53 f7 ff       	call   0x4d9c20
5648d3:	ff 76 48             	push   0x48(%esi)
5648d6:	e8 45 53 f7 ff       	call   0x4d9c20
5648db:	83 c4 0c             	add    $0xc,%esp
5648de:	33 c0                	xor    %eax,%eax
5648e0:	5e                   	pop    %esi
5648e1:	c3                   	ret
5648e2:	cc                   	int3
5648e3:	cc                   	int3
5648e4:	cc                   	int3
5648e5:	cc                   	int3
5648e6:	cc                   	int3
5648e7:	cc                   	int3
5648e8:	cc                   	int3
5648e9:	cc                   	int3
5648ea:	cc                   	int3
5648eb:	cc                   	int3
5648ec:	cc                   	int3
5648ed:	cc                   	int3
5648ee:	cc                   	int3
5648ef:	cc                   	int3
5648f0:	56                   	push   %esi
5648f1:	8b 74 24 08          	mov    0x8(%esp),%esi
5648f5:	ff 76 28             	push   0x28(%esi)
5648f8:	e8 a3 4f f7 ff       	call   0x4d98a0
5648fd:	ff 76 44             	push   0x44(%esi)
564900:	e8 9b 4f f7 ff       	call   0x4d98a0
564905:	ff 76 48             	push   0x48(%esi)
564908:	e8 93 4f f7 ff       	call   0x4d98a0
56490d:	83 c4 0c             	add    $0xc,%esp
564910:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
564917:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
56491e:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
564925:	c7 46 38 00 00 00 00 	movl   $0x0,0x38(%esi)
56492c:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
564933:	c7 46 40 ff ff ff ff 	movl   $0xffffffff,0x40(%esi)
56493a:	5e                   	pop    %esi
56493b:	c3                   	ret
56493c:	cc                   	int3
56493d:	cc                   	int3
56493e:	cc                   	int3
56493f:	cc                   	int3
564940:	56                   	push   %esi
564941:	8b 74 24 08          	mov    0x8(%esp),%esi
564945:	57                   	push   %edi
564946:	8b 7c 24 10          	mov    0x10(%esp),%edi
56494a:	ff 77 28             	push   0x28(%edi)
56494d:	ff 76 28             	push   0x28(%esi)
564950:	e8 8b 51 f7 ff       	call   0x4d9ae0
564955:	83 c4 08             	add    $0x8,%esp
564958:	85 c0                	test   %eax,%eax
56495a:	0f 84 a2 00 00 00    	je     0x564a02
564960:	ff 77 44             	push   0x44(%edi)
564963:	ff 76 44             	push   0x44(%esi)
564966:	e8 75 51 f7 ff       	call   0x4d9ae0
56496b:	83 c4 08             	add    $0x8,%esp
56496e:	85 c0                	test   %eax,%eax
564970:	0f 84 8c 00 00 00    	je     0x564a02
564976:	ff 77 48             	push   0x48(%edi)
564979:	ff 76 48             	push   0x48(%esi)
56497c:	e8 5f 51 f7 ff       	call   0x4d9ae0
564981:	83 c4 08             	add    $0x8,%esp
564984:	85 c0                	test   %eax,%eax
564986:	74 7a                	je     0x564a02
564988:	8b 4f 2c             	mov    0x2c(%edi),%ecx
56498b:	89 4e 2c             	mov    %ecx,0x2c(%esi)
56498e:	8b 47 30             	mov    0x30(%edi),%eax
564991:	89 46 30             	mov    %eax,0x30(%esi)
564994:	8b 47 34             	mov    0x34(%edi),%eax
564997:	89 46 34             	mov    %eax,0x34(%esi)
56499a:	8b 47 38             	mov    0x38(%edi),%eax
56499d:	89 46 38             	mov    %eax,0x38(%esi)
5649a0:	8b 47 3c             	mov    0x3c(%edi),%eax
5649a3:	89 46 3c             	mov    %eax,0x3c(%esi)
5649a6:	8b 47 40             	mov    0x40(%edi),%eax
5649a9:	89 46 40             	mov    %eax,0x40(%esi)
5649ac:	8d 41 1f             	lea    0x1f(%ecx),%eax
5649af:	99                   	cltd
5649b0:	83 e2 1f             	and    $0x1f,%edx
5649b3:	03 c2                	add    %edx,%eax
5649b5:	c1 f8 05             	sar    $0x5,%eax
5649b8:	50                   	push   %eax
5649b9:	ff 76 44             	push   0x44(%esi)
5649bc:	e8 df 5b f7 ff       	call   0x4da5a0
5649c1:	83 c4 08             	add    $0x8,%esp
5649c4:	85 c0                	test   %eax,%eax
5649c6:	74 3a                	je     0x564a02
5649c8:	8b 46 2c             	mov    0x2c(%esi),%eax
5649cb:	83 c0 1f             	add    $0x1f,%eax
5649ce:	99                   	cltd
5649cf:	83 e2 1f             	and    $0x1f,%edx
5649d2:	03 c2                	add    %edx,%eax
5649d4:	c1 f8 05             	sar    $0x5,%eax
5649d7:	50                   	push   %eax
5649d8:	ff 76 48             	push   0x48(%esi)
5649db:	e8 c0 5b f7 ff       	call   0x4da5a0
5649e0:	83 c4 08             	add    $0x8,%esp
5649e3:	85 c0                	test   %eax,%eax
5649e5:	74 1b                	je     0x564a02
5649e7:	ff 76 44             	push   0x44(%esi)
5649ea:	e8 d1 aa f9 ff       	call   0x4ff4c0
5649ef:	ff 76 48             	push   0x48(%esi)
5649f2:	e8 c9 aa f9 ff       	call   0x4ff4c0
5649f7:	83 c4 08             	add    $0x8,%esp
5649fa:	b8 01 00 00 00       	mov    $0x1,%eax
5649ff:	5f                   	pop    %edi
564a00:	5e                   	pop    %esi
564a01:	c3                   	ret
564a02:	5f                   	pop    %edi
564a03:	33 c0                	xor    %eax,%eax
564a05:	5e                   	pop    %esi
564a06:	c3                   	ret
564a07:	cc                   	int3
564a08:	cc                   	int3
564a09:	cc                   	int3
564a0a:	cc                   	int3
564a0b:	cc                   	int3
564a0c:	cc                   	int3
564a0d:	cc                   	int3
564a0e:	cc                   	int3
564a0f:	cc                   	int3
564a10:	56                   	push   %esi
564a11:	8b 74 24 08          	mov    0x8(%esp),%esi
564a15:	ff 74 24 0c          	push   0xc(%esp)
564a19:	ff 76 28             	push   0x28(%esi)
564a1c:	e8 bf 50 f7 ff       	call   0x4d9ae0
564a21:	83 c4 08             	add    $0x8,%esp
564a24:	85 c0                	test   %eax,%eax
564a26:	0f 84 bc 00 00 00    	je     0x564ae8
564a2c:	57                   	push   %edi
564a2d:	6a 06                	push   $0x6
564a2f:	8d 7e 2c             	lea    0x2c(%esi),%edi
564a32:	57                   	push   %edi
564a33:	ff 76 28             	push   0x28(%esi)
564a36:	e8 a5 30 00 00       	call   0x567ae0
564a3b:	48                   	dec    %eax
564a3c:	83 c4 0c             	add    $0xc,%esp
564a3f:	83 f8 05             	cmp    $0x5,%eax
564a42:	74 25                	je     0x564a69
564a44:	83 f8 03             	cmp    $0x3,%eax
564a47:	74 20                	je     0x564a69
564a49:	6a 6a                	push   $0x6a
564a4b:	68 9c 7e 65 00       	push   $0x657e9c
564a50:	68 83 00 00 00       	push   $0x83
564a55:	68 c3 00 00 00       	push   $0xc3
564a5a:	6a 10                	push   $0x10
564a5c:	e8 1f 45 f7 ff       	call   0x4d8f80
564a61:	83 c4 14             	add    $0x14,%esp
564a64:	33 c0                	xor    %eax,%eax
564a66:	5f                   	pop    %edi
564a67:	5e                   	pop    %esi
564a68:	c3                   	ret
564a69:	57                   	push   %edi
564a6a:	ff 74 24 18          	push   0x18(%esp)
564a6e:	ff 76 44             	push   0x44(%esi)
564a71:	e8 4a 1e 00 00       	call   0x5668c0
564a76:	83 c4 0c             	add    $0xc,%esp
564a79:	85 c0                	test   %eax,%eax
564a7b:	74 e7                	je     0x564a64
564a7d:	8b 07                	mov    (%edi),%eax
564a7f:	83 c0 1f             	add    $0x1f,%eax
564a82:	99                   	cltd
564a83:	83 e2 1f             	and    $0x1f,%edx
564a86:	03 c2                	add    %edx,%eax
564a88:	c1 f8 05             	sar    $0x5,%eax
564a8b:	50                   	push   %eax
564a8c:	ff 76 44             	push   0x44(%esi)
564a8f:	e8 0c 5b f7 ff       	call   0x4da5a0
564a94:	83 c4 08             	add    $0x8,%esp
564a97:	85 c0                	test   %eax,%eax
564a99:	74 c9                	je     0x564a64
564a9b:	ff 76 44             	push   0x44(%esi)
564a9e:	e8 1d aa f9 ff       	call   0x4ff4c0
564aa3:	57                   	push   %edi
564aa4:	ff 74 24 20          	push   0x20(%esp)
564aa8:	ff 76 48             	push   0x48(%esi)
564aab:	e8 10 1e 00 00       	call   0x5668c0
564ab0:	83 c4 10             	add    $0x10,%esp
564ab3:	85 c0                	test   %eax,%eax
564ab5:	74 ad                	je     0x564a64
564ab7:	8b 07                	mov    (%edi),%eax
564ab9:	83 c0 1f             	add    $0x1f,%eax
564abc:	99                   	cltd
564abd:	83 e2 1f             	and    $0x1f,%edx
564ac0:	03 c2                	add    %edx,%eax
564ac2:	c1 f8 05             	sar    $0x5,%eax
564ac5:	50                   	push   %eax
564ac6:	ff 76 48             	push   0x48(%esi)
564ac9:	e8 d2 5a f7 ff       	call   0x4da5a0
564ace:	83 c4 08             	add    $0x8,%esp