41c7aa:	83 c4 10             	add    $0x10,%esp
41c7ad:	89 45 d0             	mov    %eax,-0x30(%ebp)
41c7b0:	8b 45 d0             	mov    -0x30(%ebp),%eax
41c7b3:	50                   	push   %eax
41c7b4:	8b 5d dc             	mov    -0x24(%ebp),%ebx
41c7b7:	85 db                	test   %ebx,%ebx
41c7b9:	74 09                	je     0x41c7c4
41c7bb:	53                   	push   %ebx
41c7bc:	e8 e3 3d 08 00       	call   0x4a05a4
41c7c1:	83 c4 04             	add    $0x4,%esp
41c7c4:	58                   	pop    %eax
41c7c5:	89 45 dc             	mov    %eax,-0x24(%ebp)
41c7c8:	89 65 d0             	mov    %esp,-0x30(%ebp)
41c7cb:	8d 45 e0             	lea    -0x20(%ebp),%eax
41c7ce:	50                   	push   %eax
41c7cf:	68 00 04 00 00       	push   $0x400
41c7d4:	8b 45 dc             	mov    -0x24(%ebp),%eax
41c7d7:	85 c0                	test   %eax,%eax
41c7d9:	74 03                	je     0x41c7de
41c7db:	83 c0 08             	add    $0x8,%eax
41c7de:	50                   	push   %eax
41c7df:	ff 75 e4             	push   -0x1c(%ebp)
41c7e2:	33 c0                	xor    %eax,%eax
41c7e4:	ff 15 78 33 4b 00    	call   *0x4b3378
41c7ea:	90                   	nop
41c7eb:	90                   	nop
41c7ec:	39 65 d0             	cmp    %esp,-0x30(%ebp)
41c7ef:	74 17                	je     0x41c808
41c7f1:	68 18 15 00 00       	push   $0x1518
41c7f6:	68 74 ff 03 04       	push   $0x403ff74
41c7fb:	68 06 00 00 00       	push   $0x6
41c800:	e8 a5 3d 08 00       	call   0x4a05aa
41c805:	83 c4 0c             	add    $0xc,%esp
41c808:	68 01 03 00 80       	push   $0x80000301
41c80d:	6a 00                	push   $0x0
41c80f:	ff 75 e0             	push   -0x20(%ebp)
41c812:	68 05 00 00 80       	push   $0x80000005
41c817:	6a 00                	push   $0x0
41c819:	8b 45 dc             	mov    -0x24(%ebp),%eax
41c81c:	85 c0                	test   %eax,%eax
41c81e:	75 05                	jne    0x41c825
41c820:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
41c825:	50                   	push   %eax
41c826:	68 02 00 00 00       	push   $0x2
41c82b:	bb a0 01 00 00       	mov    $0x1a0,%ebx
41c830:	e8 9b 57 08 00       	call   0x4a1fd0
41c835:	83 c4 1c             	add    $0x1c,%esp
41c838:	89 45 d0             	mov    %eax,-0x30(%ebp)
41c83b:	ff 75 d0             	push   -0x30(%ebp)
41c83e:	ff 75 d8             	push   -0x28(%ebp)
41c841:	b9 02 00 00 00       	mov    $0x2,%ecx
41c846:	e8 ee 0f ff ff       	call   0x40d839
41c84b:	83 c4 08             	add    $0x8,%esp
41c84e:	89 45 cc             	mov    %eax,-0x34(%ebp)
41c851:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41c854:	85 db                	test   %ebx,%ebx
41c856:	74 09                	je     0x41c861
41c858:	53                   	push   %ebx
41c859:	e8 46 3d 08 00       	call   0x4a05a4
41c85e:	83 c4 04             	add    $0x4,%esp
41c861:	8b 45 cc             	mov    -0x34(%ebp),%eax
41c864:	50                   	push   %eax
41c865:	8b 5d d8             	mov    -0x28(%ebp),%ebx
41c868:	85 db                	test   %ebx,%ebx
41c86a:	74 09                	je     0x41c875
41c86c:	53                   	push   %ebx
41c86d:	e8 32 3d 08 00       	call   0x4a05a4
41c872:	83 c4 04             	add    $0x4,%esp
41c875:	58                   	pop    %eax
41c876:	89 45 d8             	mov    %eax,-0x28(%ebp)
41c879:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
41c87d:	0f 85 45 ff ff ff    	jne    0x41c7c8
41c883:	68 01 03 00 80       	push   $0x80000301
41c888:	6a 00                	push   $0x0
41c88a:	68 88 13 00 00       	push   $0x1388
41c88f:	68 01 00 00 00       	push   $0x1
41c894:	bb 84 01 00 00       	mov    $0x184,%ebx
41c899:	e8 82 4c 08 00       	call   0x4a1520
41c89e:	83 c4 10             	add    $0x10,%esp
41c8a1:	89 45 d0             	mov    %eax,-0x30(%ebp)
41c8a4:	8b 45 d0             	mov    -0x30(%ebp),%eax
41c8a7:	50                   	push   %eax
41c8a8:	8b 5d 34             	mov    0x34(%ebp),%ebx
41c8ab:	8b 1b                	mov    (%ebx),%ebx
41c8ad:	85 db                	test   %ebx,%ebx
41c8af:	74 09                	je     0x41c8ba
41c8b1:	53                   	push   %ebx
41c8b2:	e8 ed 3c 08 00       	call   0x4a05a4
41c8b7:	83 c4 04             	add    $0x4,%esp
41c8ba:	58                   	pop    %eax
41c8bb:	8b 5d 34             	mov    0x34(%ebp),%ebx
41c8be:	89 03                	mov    %eax,(%ebx)
41c8c0:	89 65 d0             	mov    %esp,-0x30(%ebp)
41c8c3:	68 00 00 00 00       	push   $0x0
41c8c8:	b8 88 13 00 00       	mov    $0x1388,%eax
41c8cd:	89 45 cc             	mov    %eax,-0x34(%ebp)
41c8d0:	8d 45 cc             	lea    -0x34(%ebp),%eax
41c8d3:	50                   	push   %eax
41c8d4:	8b 5d 34             	mov    0x34(%ebp),%ebx
41c8d7:	ff 33                	push   (%ebx)
41c8d9:	68 16 00 00 00       	push   $0x16
41c8de:	ff 75 e4             	push   -0x1c(%ebp)
41c8e1:	33 c0                	xor    %eax,%eax
41c8e3:	ff 15 7c 33 4b 00    	call   *0x4b337c
41c8e9:	90                   	nop
41c8ea:	90                   	nop
41c8eb:	39 65 d0             	cmp    %esp,-0x30(%ebp)
41c8ee:	74 17                	je     0x41c907
41c8f0:	68 0b 16 00 00       	push   $0x160b
41c8f5:	68 74 ff 03 04       	push   $0x403ff74
41c8fa:	68 06 00 00 00       	push   $0x6
41c8ff:	e8 a6 3c 08 00       	call   0x4a05aa
41c904:	83 c4 0c             	add    $0xc,%esp
41c907:	89 65 d0             	mov    %esp,-0x30(%ebp)
41c90a:	ff 75 e4             	push   -0x1c(%ebp)
41c90d:	33 c0                	xor    %eax,%eax
41c90f:	ff 15 68 33 4b 00    	call   *0x4b3368
41c915:	90                   	nop
41c916:	90                   	nop
41c917:	39 65 d0             	cmp    %esp,-0x30(%ebp)
41c91a:	74 17                	je     0x41c933
41c91c:	68 a8 16 00 00       	push   $0x16a8
41c921:	68 74 ff 03 04       	push   $0x403ff74
41c926:	68 06 00 00 00       	push   $0x6
41c92b:	e8 7a 3c 08 00       	call   0x4a05aa
41c930:	83 c4 0c             	add    $0xc,%esp
41c933:	89 65 d0             	mov    %esp,-0x30(%ebp)
41c936:	ff 75 ec             	push   -0x14(%ebp)
41c939:	33 c0                	xor    %eax,%eax
41c93b:	ff 15 68 33 4b 00    	call   *0x4b3368
41c941:	90                   	nop
41c942:	90                   	nop
41c943:	39 65 d0             	cmp    %esp,-0x30(%ebp)
41c946:	74 17                	je     0x41c95f
41c948:	68 c2 16 00 00       	push   $0x16c2
41c94d:	68 74 ff 03 04       	push   $0x403ff74
41c952:	68 06 00 00 00       	push   $0x6
41c957:	e8 4e 3c 08 00       	call   0x4a05aa
41c95c:	83 c4 0c             	add    $0xc,%esp
41c95f:	89 65 d0             	mov    %esp,-0x30(%ebp)
41c962:	ff 75 f0             	push   -0x10(%ebp)
41c965:	33 c0                	xor    %eax,%eax
41c967:	ff 15 68 33 4b 00    	call   *0x4b3368
41c96d:	90                   	nop
41c96e:	90                   	nop
41c96f:	39 65 d0             	cmp    %esp,-0x30(%ebp)
41c972:	74 17                	je     0x41c98b
41c974:	68 dc 16 00 00       	push   $0x16dc
41c979:	68 74 ff 03 04       	push   $0x403ff74
41c97e:	68 06 00 00 00       	push   $0x6
41c983:	e8 22 3c 08 00       	call   0x4a05aa
41c988:	83 c4 0c             	add    $0xc,%esp
41c98b:	6a 00                	push   $0x0
41c98d:	6a 00                	push   $0x0
41c98f:	6a 00                	push   $0x0
41c991:	68 04 00 00 80       	push   $0x80000004
41c996:	6a 00                	push   $0x0
41c998:	68 d3 40 4e 00       	push   $0x4e40d3
41c99d:	68 04 00 00 80       	push   $0x80000004
41c9a2:	6a 00                	push   $0x0
41c9a4:	8b 5d 34             	mov    0x34(%ebp),%ebx
41c9a7:	8b 03                	mov    (%ebx),%eax
41c9a9:	85 c0                	test   %eax,%eax
41c9ab:	75 05                	jne    0x41c9b2
41c9ad:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
41c9b2:	50                   	push   %eax
41c9b3:	68 03 00 00 00       	push   $0x3
41c9b8:	bb 90 01 00 00       	mov    $0x190,%ebx
41c9bd:	e8 ae 56 08 00       	call   0x4a2070
41c9c2:	83 c4 28             	add    $0x28,%esp
41c9c5:	89 45 d0             	mov    %eax,-0x30(%ebp)
41c9c8:	8b 45 d0             	mov    -0x30(%ebp),%eax
41c9cb:	50                   	push   %eax
41c9cc:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41c9cf:	53                   	push   %ebx
41c9d0:	8b 0b                	mov    (%ebx),%ecx
41c9d2:	83 c3 04             	add    $0x4,%ebx
41c9d5:	85 c9                	test   %ecx,%ecx
41c9d7:	74 11                	je     0x41c9ea
41c9d9:	8b 03                	mov    (%ebx),%eax
41c9db:	83 c3 04             	add    $0x4,%ebx
41c9de:	49                   	dec    %ecx
41c9df:	74 05                	je     0x41c9e6
41c9e1:	0f af 03             	imul   (%ebx),%eax
41c9e4:	eb f5                	jmp    0x41c9db
41c9e6:	8b c8                	mov    %eax,%ecx
41c9e8:	85 c9                	test   %ecx,%ecx
41c9ea:	0f 84 19 00 00 00    	je     0x41ca09
41c9f0:	51                   	push   %ecx
41c9f1:	8b 03                	mov    (%ebx),%eax
41c9f3:	85 c0                	test   %eax,%eax
41c9f5:	74 0b                	je     0x41ca02
41c9f7:	53                   	push   %ebx
41c9f8:	50                   	push   %eax
41c9f9:	e8 a6 3b 08 00       	call   0x4a05a4
41c9fe:	83 c4 04             	add    $0x4,%esp
41ca01:	5b                   	pop    %ebx
41ca02:	83 c3 04             	add    $0x4,%ebx
41ca05:	59                   	pop    %ecx
41ca06:	49                   	dec    %ecx
41ca07:	75 e7                	jne    0x41c9f0
41ca09:	e8 96 3b 08 00       	call   0x4a05a4
41ca0e:	83 c4 04             	add    $0x4,%esp
41ca11:	58                   	pop    %eax
41ca12:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41ca15:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
41ca1a:	50                   	push   %eax
41ca1b:	8b 5d 24             	mov    0x24(%ebp),%ebx
41ca1e:	8b 1b                	mov    (%ebx),%ebx
41ca20:	85 db                	test   %ebx,%ebx
41ca22:	74 09                	je     0x41ca2d
41ca24:	53                   	push   %ebx
41ca25:	e8 7a 3b 08 00       	call   0x4a05a4
41ca2a:	83 c4 04             	add    $0x4,%esp
41ca2d:	58                   	pop    %eax
41ca2e:	8b 5d 24             	mov    0x24(%ebp),%ebx
41ca31:	89 03                	mov    %eax,(%ebx)
41ca33:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41ca36:	e8 0f 1a ff ff       	call   0x40e44a
41ca3b:	33 c9                	xor    %ecx,%ecx
41ca3d:	50                   	push   %eax
41ca3e:	8d 45 e0             	lea    -0x20(%ebp),%eax
41ca41:	8b d8                	mov    %eax,%ebx
41ca43:	58                   	pop    %eax
41ca44:	41                   	inc    %ecx
41ca45:	51                   	push   %ecx
41ca46:	53                   	push   %ebx
41ca47:	89 0b                	mov    %ecx,(%ebx)
41ca49:	50                   	push   %eax
41ca4a:	3b c8                	cmp    %eax,%ecx
41ca4c:	0f 8f b3 03 00 00    	jg     0x41ce05
41ca52:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41ca55:	e8 99 6c fe ff       	call   0x4036f3
41ca5a:	53                   	push   %ebx
41ca5b:	51                   	push   %ecx
41ca5c:	8b 45 e0             	mov    -0x20(%ebp),%eax
41ca5f:	48                   	dec    %eax
41ca60:	79 17                	jns    0x41ca79
41ca62:	68 a8 17 00 00       	push   $0x17a8
41ca67:	68 74 ff 03 04       	push   $0x403ff74
41ca6c:	68 04 00 00 00       	push   $0x4
41ca71:	e8 34 3b 08 00       	call   0x4a05aa
41ca76:	83 c4 0c             	add    $0xc,%esp
41ca79:	59                   	pop    %ecx
41ca7a:	5b                   	pop    %ebx
41ca7b:	3b c1                	cmp    %ecx,%eax
41ca7d:	7c 17                	jl     0x41ca96
41ca7f:	68 a8 17 00 00       	push   $0x17a8
41ca84:	68 74 ff 03 04       	push   $0x403ff74
41ca89:	68 01 00 00 00       	push   $0x1
41ca8e:	e8 17 3b 08 00       	call   0x4a05aa
41ca93:	83 c4 0c             	add    $0xc,%esp
41ca96:	c1 e0 02             	shl    $0x2,%eax
41ca99:	03 d8                	add    %eax,%ebx
41ca9b:	89 5d d0             	mov    %ebx,-0x30(%ebp)
41ca9e:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
41caa5:	6a 00                	push   $0x0
41caa7:	ff 75 cc             	push   -0x34(%ebp)
41caaa:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
41cab1:	6a 00                	push   $0x0
41cab3:	ff 75 c8             	push   -0x38(%ebp)
41cab6:	b8 93 42 4e 00       	mov    $0x4e4293,%eax
41cabb:	89 45 c4             	mov    %eax,-0x3c(%ebp)
41cabe:	8d 45 c4             	lea    -0x3c(%ebp),%eax
41cac1:	50                   	push   %eax
41cac2:	ff 75 d0             	push   -0x30(%ebp)
41cac5:	e8 58 5f ff ff       	call   0x412a22
41caca:	89 45 c0             	mov    %eax,-0x40(%ebp)
41cacd:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
41cad0:	85 db                	test   %ebx,%ebx
41cad2:	74 09                	je     0x41cadd
41cad4:	53                   	push   %ebx
41cad5:	e8 ca 3a 08 00       	call   0x4a05a4
41cada:	83 c4 04             	add    $0x4,%esp
41cadd:	68 96 42 4e 00       	push   $0x4e4296
41cae2:	ff 75 c0             	push   -0x40(%ebp)
41cae5:	e8 5e 04 ff ff       	call   0x40cf48
41caea:	83 c4 08             	add    $0x8,%esp
41caed:	83 f8 00             	cmp    $0x0,%eax
41caf0:	b8 00 00 00 00       	mov    $0x0,%eax
41caf5:	0f 94 c0             	sete   %al
41caf8:	89 45 bc             	mov    %eax,-0x44(%ebp)
41cafb:	8b 5d c0             	mov    -0x40(%ebp),%ebx
41cafe:	85 db                	test   %ebx,%ebx
41cb00:	74 09                	je     0x41cb0b
41cb02:	53                   	push   %ebx
41cb03:	e8 9c 3a 08 00       	call   0x4a05a4
41cb08:	83 c4 04             	add    $0x4,%esp
41cb0b:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
41cb0f:	0f 84 e8 02 00 00    	je     0x41cdfd
41cb15:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41cb18:	e8 d6 6b fe ff       	call   0x4036f3
41cb1d:	53                   	push   %ebx
41cb1e:	51                   	push   %ecx
41cb1f:	8b 45 e0             	mov    -0x20(%ebp),%eax
41cb22:	48                   	dec    %eax
41cb23:	79 17                	jns    0x41cb3c
41cb25:	68 08 18 00 00       	push   $0x1808
41cb2a:	68 74 ff 03 04       	push   $0x403ff74
41cb2f:	68 04 00 00 00       	push   $0x4
41cb34:	e8 71 3a 08 00       	call   0x4a05aa
41cb39:	83 c4 0c             	add    $0xc,%esp
41cb3c:	59                   	pop    %ecx
41cb3d:	5b                   	pop    %ebx
41cb3e:	3b c1                	cmp    %ecx,%eax
41cb40:	7c 17                	jl     0x41cb59
41cb42:	68 08 18 00 00       	push   $0x1808
41cb47:	68 74 ff 03 04       	push   $0x403ff74
41cb4c:	68 01 00 00 00       	push   $0x1
41cb51:	e8 54 3a 08 00       	call   0x4a05aa
41cb56:	83 c4 0c             	add    $0xc,%esp
41cb59:	c1 e0 02             	shl    $0x2,%eax
41cb5c:	03 d8                	add    %eax,%ebx
41cb5e:	89 5d d0             	mov    %ebx,-0x30(%ebp)
41cb61:	68 02 00 00 80       	push   $0x80000002
41cb66:	6a 00                	push   $0x0
41cb68:	68 00 00 00 00       	push   $0x0
41cb6d:	6a 00                	push   $0x0
41cb6f:	6a 00                	push   $0x0
41cb71:	6a 00                	push   $0x0
41cb73:	68 04 00 00 80       	push   $0x80000004
41cb78:	6a 00                	push   $0x0
41cb7a:	68 a1 42 4e 00       	push   $0x4e42a1
41cb7f:	68 04 00 00 80       	push   $0x80000004
41cb84:	6a 00                	push   $0x0
41cb86:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41cb89:	8b 03                	mov    (%ebx),%eax
41cb8b:	85 c0                	test   %eax,%eax
41cb8d:	75 05                	jne    0x41cb94
41cb8f:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
41cb94:	50                   	push   %eax
41cb95:	68 04 00 00 00       	push   $0x4
41cb9a:	bb 48 01 00 00       	mov    $0x148,%ebx
41cb9f:	e8 9c 50 08 00       	call   0x4a1c40
41cba4:	83 c4 34             	add    $0x34,%esp
41cba7:	89 45 c8             	mov    %eax,-0x38(%ebp)
41cbaa:	83 7d c8 ff          	cmpl   $0xffffffff,-0x38(%ebp)
41cbae:	0f 84 2e 01 00 00    	je     0x41cce2
41cbb4:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
41cbb7:	e8 37 6b fe ff       	call   0x4036f3
41cbbc:	53                   	push   %ebx
41cbbd:	51                   	push   %ecx
41cbbe:	8b 45 e0             	mov    -0x20(%ebp),%eax
41cbc1:	48                   	dec    %eax
41cbc2:	79 17                	jns    0x41cbdb
41cbc4:	68 83 18 00 00       	push   $0x1883
41cbc9:	68 74 ff 03 04       	push   $0x403ff74
41cbce:	68 04 00 00 00       	push   $0x4
41cbd3:	e8 d2 39 08 00       	call   0x4a05aa
41cbd8:	83 c4 0c             	add    $0xc,%esp