4194be:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4194c1:	56                   	push   %esi
4194c2:	50                   	push   %eax
4194c3:	e8 f5 ea ff ff       	call   0x417fbd
4194c8:	33 c0                	xor    %eax,%eax
4194ca:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4194d0:	83 c4 0c             	add    $0xc,%esp
4194d3:	38 45 e8             	cmp    %al,-0x18(%ebp)
4194d6:	0f 94 c0             	sete   %al
4194d9:	48                   	dec    %eax
4194da:	25 e3 7e 00 00       	and    $0x7ee3,%eax
4194df:	05 04 01 00 00       	add    $0x104,%eax
4194e4:	50                   	push   %eax
4194e5:	e8 06 4f ff ff       	call   0x40e3f0
4194ea:	85 c0                	test   %eax,%eax
4194ec:	0f 88 e5 00 00 00    	js     0x4195d7
4194f2:	53                   	push   %ebx
4194f3:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4194f9:	e8 43 11 ff ff       	call   0x40a641
4194fe:	8b 55 e4             	mov    -0x1c(%ebp),%edx
419501:	8b ca                	mov    %edx,%ecx
419503:	85 d2                	test   %edx,%edx
419505:	75 06                	jne    0x41950d
419507:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
41950d:	8d 71 02             	lea    0x2(%ecx),%esi
419510:	66 8b 01             	mov    (%ecx),%ax
419513:	83 c1 02             	add    $0x2,%ecx
419516:	66 3b 85 88 fb ff ff 	cmp    -0x478(%ebp),%ax
41951d:	75 f1                	jne    0x419510
41951f:	2b ce                	sub    %esi,%ecx
419521:	d1 f9                	sar    $1,%ecx
419523:	85 d2                	test   %edx,%edx
419525:	75 06                	jne    0x41952d
419527:	8d 95 dc fd ff ff    	lea    -0x224(%ebp),%edx
41952d:	33 c0                	xor    %eax,%eax
41952f:	66 89 44 4a fe       	mov    %ax,-0x2(%edx,%ecx,2)
419534:	8d 85 b8 fb ff ff    	lea    -0x448(%ebp),%eax
41953a:	50                   	push   %eax
41953b:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
419541:	e8 e6 8d ff ff       	call   0x41232c
419546:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
419549:	85 c9                	test   %ecx,%ecx
41954b:	75 06                	jne    0x419553
41954d:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
419553:	8b 55 ec             	mov    -0x14(%ebp),%edx
419556:	8d 85 7c fb ff ff    	lea    -0x484(%ebp),%eax
41955c:	50                   	push   %eax
41955d:	e8 cc bd fe ff       	call   0x40532e
419562:	85 c0                	test   %eax,%eax
419564:	74 5b                	je     0x4195c1
419566:	8b b5 84 fb ff ff    	mov    -0x47c(%ebp),%esi
41956c:	8b 8d 78 fb ff ff    	mov    -0x488(%ebp),%ecx
419572:	03 8d 7c fb ff ff    	add    -0x484(%ebp),%ecx
419578:	8b 06                	mov    (%esi),%eax
41957a:	3b c1                	cmp    %ecx,%eax
41957c:	7f 02                	jg     0x419580
41957e:	8b c1                	mov    %ecx,%eax
419580:	89 06                	mov    %eax,(%esi)
419582:	33 c9                	xor    %ecx,%ecx
419584:	8b 45 e4             	mov    -0x1c(%ebp),%eax
419587:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41958a:	85 c0                	test   %eax,%eax
41958c:	74 14                	je     0x4195a2
41958e:	50                   	push   %eax
41958f:	ff 15 e0 a3 44 00    	call   *0x44a3e0
419595:	59                   	pop    %ecx
419596:	eb 0a                	jmp    0x4195a2
419598:	8b 06                	mov    (%esi),%eax
41959a:	3b c1                	cmp    %ecx,%eax
41959c:	7f 02                	jg     0x4195a0
41959e:	8b c1                	mov    %ecx,%eax
4195a0:	89 06                	mov    %eax,(%esi)
4195a2:	8d 85 8c fb ff ff    	lea    -0x474(%ebp),%eax
4195a8:	50                   	push   %eax
4195a9:	ff b5 80 fb ff ff    	push   -0x480(%ebp)
4195af:	ff 15 d4 a0 44 00    	call   *0x44a0d4
4195b5:	8b f8                	mov    %eax,%edi
4195b7:	85 ff                	test   %edi,%edi
4195b9:	0f 85 3f fe ff ff    	jne    0x4193fe
4195bf:	eb 30                	jmp    0x4195f1
4195c1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4195c4:	33 db                	xor    %ebx,%ebx
4195c6:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4195c9:	85 c0                	test   %eax,%eax
4195cb:	74 26                	je     0x4195f3
4195cd:	50                   	push   %eax
4195ce:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4195d4:	59                   	pop    %ecx
4195d5:	eb 1c                	jmp    0x4195f3
4195d7:	6a 08                	push   $0x8
4195d9:	ff 15 7c a0 44 00    	call   *0x44a07c
4195df:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4195e2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4195e5:	85 c0                	test   %eax,%eax
4195e7:	74 08                	je     0x4195f1
4195e9:	50                   	push   %eax
4195ea:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4195f0:	59                   	pop    %ecx
4195f1:	33 db                	xor    %ebx,%ebx
4195f3:	ff 15 80 a0 44 00    	call   *0x44a080
4195f9:	ff b5 80 fb ff ff    	push   -0x480(%ebp)
4195ff:	8b f0                	mov    %eax,%esi
419601:	ff 15 d8 a0 44 00    	call   *0x44a0d8
419607:	85 ff                	test   %edi,%edi
419609:	0f 85 b8 bd fe ff    	jne    0x4053c7
41960f:	83 fe 12             	cmp    $0x12,%esi
419612:	0f 84 9b bd fe ff    	je     0x4053b3
419618:	53                   	push   %ebx
419619:	e9 5a fd ff ff       	jmp    0x419378
41961e:	ff 15 80 a0 44 00    	call   *0x44a080
419624:	3d b7 00 00 00       	cmp    $0xb7,%eax
419629:	75 3d                	jne    0x419668
41962b:	68 d4 23 00 40       	push   $0x400023d4
419630:	ba d3 23 00 40       	mov    $0x400023d3,%edx
419635:	8b cb                	mov    %ebx,%ecx
419637:	e8 f2 05 01 00       	call   0x429c2e
41963c:	83 e8 00             	sub    $0x0,%eax
41963f:	74 1f                	je     0x419660
419641:	48                   	dec    %eax
419642:	83 e8 01             	sub    $0x1,%eax
419645:	75 06                	jne    0x41964d
419647:	8b 45 08             	mov    0x8(%ebp),%eax
41964a:	83 20 00             	andl   $0x0,(%eax)
41964d:	83 ce 01             	or     $0x1,%esi
419650:	56                   	push   %esi
419651:	53                   	push   %ebx
419652:	ff 75 fc             	push   -0x4(%ebp)
419655:	ff 15 0c a1 44 00    	call   *0x44a10c
41965b:	e9 a1 bd fe ff       	jmp    0x405401
419660:	33 c0                	xor    %eax,%eax
419662:	40                   	inc    %eax
419663:	e9 9b bd fe ff       	jmp    0x405403
419668:	33 c0                	xor    %eax,%eax
41966a:	e9 94 bd fe ff       	jmp    0x405403
41966f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
419673:	0f 84 d8 be fe ff    	je     0x405551
419679:	8b 54 24 28          	mov    0x28(%esp),%edx
41967d:	8d 44 24 30          	lea    0x30(%esp),%eax
419681:	50                   	push   %eax
419682:	8d 45 08             	lea    0x8(%ebp),%eax
419685:	8b cf                	mov    %edi,%ecx
419687:	50                   	push   %eax
419688:	e8 3e bd fe ff       	call   0x4053cb
41968d:	85 c0                	test   %eax,%eax
41968f:	75 2c                	jne    0x4196bd
419691:	ff 15 80 a0 44 00    	call   *0x44a080
419697:	3d b7 00 00 00       	cmp    $0xb7,%eax
41969c:	75 07                	jne    0x4196a5
41969e:	b8 4d 23 00 00       	mov    $0x234d,%eax
4196a3:	eb 0a                	jmp    0x4196af
4196a5:	83 f8 01             	cmp    $0x1,%eax
4196a8:	75 05                	jne    0x4196af
4196aa:	b8 30 27 00 40       	mov    $0x40002730,%eax
4196af:	8b c8                	mov    %eax,%ecx
4196b1:	eb 05                	jmp    0x4196b8
4196b3:	b9 74 23 00 00       	mov    $0x2374,%ecx
4196b8:	e8 7d d2 00 00       	call   0x42693a
4196bd:	e8 a6 cd fe ff       	call   0x406468
4196c2:	6a 01                	push   $0x1
4196c4:	68 94 1f 40 00       	push   $0x401f94
4196c9:	68 04 01 00 00       	push   $0x104
4196ce:	be 30 8e 44 00       	mov    $0x448e30,%esi
4196d3:	56                   	push   %esi
4196d4:	e8 e6 03 ff ff       	call   0x409abf
4196d9:	56                   	push   %esi
4196da:	6a 01                	push   $0x1
4196dc:	68 6d 23 00 00       	push   $0x236d
4196e1:	e8 d7 cc fe ff       	call   0x4063bd
4196e6:	8b 84 24 64 02 00 00 	mov    0x264(%esp),%eax
4196ed:	33 db                	xor    %ebx,%ebx
4196ef:	83 c4 1c             	add    $0x1c,%esp
4196f2:	89 9c 24 48 02 00 00 	mov    %ebx,0x248(%esp)
4196f9:	85 c0                	test   %eax,%eax
4196fb:	74 08                	je     0x419705
4196fd:	50                   	push   %eax
4196fe:	ff 15 e0 a3 44 00    	call   *0x44a3e0
419704:	59                   	pop    %ecx
419705:	8b 84 24 60 04 00 00 	mov    0x460(%esp),%eax
41970c:	89 9c 24 60 04 00 00 	mov    %ebx,0x460(%esp)
419713:	85 c0                	test   %eax,%eax
419715:	74 08                	je     0x41971f
419717:	50                   	push   %eax
419718:	ff 15 e0 a3 44 00    	call   *0x44a3e0
41971e:	59                   	pop    %ecx
41971f:	33 c0                	xor    %eax,%eax
419721:	e9 3e c1 fe ff       	jmp    0x405864
419726:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
41972a:	74 13                	je     0x41973f
41972c:	33 c0                	xor    %eax,%eax
41972e:	c6 44 24 12 01       	movb   $0x1,0x12(%esp)
419733:	6a 02                	push   $0x2
419735:	88 44 24 17          	mov    %al,0x17(%esp)
419739:	5b                   	pop    %ebx
41973a:	e9 1e be fe ff       	jmp    0x40555d
41973f:	b9 20 27 00 40       	mov    $0x40002720,%ecx
419744:	e9 6f ff ff ff       	jmp    0x4196b8
419749:	6a 10                	push   $0x10
41974b:	59                   	pop    %ecx
41974c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
419750:	89 4c 24 38          	mov    %ecx,0x38(%esp)
419754:	50                   	push   %eax
419755:	8b 44 24 1c          	mov    0x1c(%esp),%eax
419759:	8b d7                	mov    %edi,%edx
41975b:	ff 70 18             	push   0x18(%eax)
41975e:	33 c0                	xor    %eax,%eax
419760:	50                   	push   %eax
419761:	51                   	push   %ecx
419762:	b9 d0 59 41 00       	mov    $0x4159d0,%ecx
419767:	e8 2e c1 ff ff       	call   0x41589a
41976c:	84 c0                	test   %al,%al
41976e:	0f 85 14 be fe ff    	jne    0x405588
419774:	a1 a8 67 43 00       	mov    0x4367a8,%eax
419779:	83 f8 12             	cmp    $0x12,%eax
41977c:	75 05                	jne    0x419783
41977e:	6a 02                	push   $0x2
419780:	5a                   	pop    %edx
419781:	eb 0b                	jmp    0x41978e
419783:	ba 4d 23 00 00       	mov    $0x234d,%edx
419788:	85 f6                	test   %esi,%esi
41978a:	75 02                	jne    0x41978e
41978c:	8b d0                	mov    %eax,%edx
41978e:	8b ca                	mov    %edx,%ecx
419790:	e9 23 ff ff ff       	jmp    0x4196b8
419795:	8d 8c 24 58 02 00 00 	lea    0x258(%esp),%ecx
41979c:	e9 0d be fe ff       	jmp    0x4055ae
4197a1:	8d 8c 24 58 02 00 00 	lea    0x258(%esp),%ecx
4197a8:	e9 2c be fe ff       	jmp    0x4055d9
4197ad:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4197b1:	e9 d4 c0 fe ff       	jmp    0x40588a
4197b6:	8d 4c 24 40          	lea    0x40(%esp),%ecx
4197ba:	e9 e5 c0 fe ff       	jmp    0x4058a4
4197bf:	8b 84 24 78 06 00 00 	mov    0x678(%esp),%eax
4197c6:	33 c9                	xor    %ecx,%ecx
4197c8:	89 8c 24 78 06 00 00 	mov    %ecx,0x678(%esp)
4197cf:	6a 08                	push   $0x8
4197d1:	5e                   	pop    %esi
4197d2:	89 74 24 14          	mov    %esi,0x14(%esp)
4197d6:	85 c0                	test   %eax,%eax
4197d8:	0f 84 01 01 00 00    	je     0x4198df
4197de:	50                   	push   %eax
4197df:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4197e5:	59                   	pop    %ecx
4197e6:	e9 f4 00 00 00       	jmp    0x4198df
4197eb:	8d 8c 24 70 04 00 00 	lea    0x470(%esp),%ecx
4197f2:	e9 82 be fe ff       	jmp    0x405679
4197f7:	8d 44 24 40          	lea    0x40(%esp),%eax
4197fb:	e9 88 be fe ff       	jmp    0x405688
419800:	8d bc 24 70 04 00 00 	lea    0x470(%esp),%edi
419807:	e9 b2 be fe ff       	jmp    0x4056be
41980c:	8d 8c 24 70 04 00 00 	lea    0x470(%esp),%ecx
419813:	e9 bf be fe ff       	jmp    0x4056d7
419818:	8d 84 24 58 02 00 00 	lea    0x258(%esp),%eax
41981f:	e9 c2 be fe ff       	jmp    0x4056e6
419824:	8d 8c 24 70 04 00 00 	lea    0x470(%esp),%ecx
41982b:	e9 e8 be fe ff       	jmp    0x405718
419830:	8b 84 24 78 06 00 00 	mov    0x678(%esp),%eax
419837:	89 b4 24 78 06 00 00 	mov    %esi,0x678(%esp)
41983e:	85 c0                	test   %eax,%eax
419840:	74 08                	je     0x41984a
419842:	50                   	push   %eax
419843:	ff 15 e0 a3 44 00    	call   *0x44a3e0
419849:	59                   	pop    %ecx
41984a:	8b 44 24 18          	mov    0x18(%esp),%eax
41984e:	b9 d0 59 41 00       	mov    $0x4159d0,%ecx
419853:	ff 74 24 1c          	push   0x1c(%esp)
419857:	ff 74 24 3c          	push   0x3c(%esp)
41985b:	8b 50 18             	mov    0x18(%eax),%edx
41985e:	e8 ee bf ff ff       	call   0x415851
419863:	84 c0                	test   %al,%al
419865:	0f 84 6c bf fe ff    	je     0x4057d7
41986b:	8b 74 24 3c          	mov    0x3c(%esp),%esi
41986f:	e9 49 bd fe ff       	jmp    0x4055bd
419874:	8d 8c 24 70 04 00 00 	lea    0x470(%esp),%ecx
41987b:	e9 c2 be fe ff       	jmp    0x405742
419880:	be ce 00 00 00       	mov    $0xce,%esi
419885:	eb 54                	jmp    0x4198db
419887:	8d 54 24 40          	lea    0x40(%esp),%edx
41988b:	e9 01 bf fe ff       	jmp    0x405791
419890:	8d 8c 24 58 02 00 00 	lea    0x258(%esp),%ecx
419897:	e9 04 bf fe ff       	jmp    0x4057a0
41989c:	8b 84 24 78 06 00 00 	mov    0x678(%esp),%eax
4198a3:	89 b4 24 78 06 00 00 	mov    %esi,0x678(%esp)
4198aa:	85 c0                	test   %eax,%eax
4198ac:	74 08                	je     0x4198b6
4198ae:	50                   	push   %eax
4198af:	ff 15 e0 a3 44 00    	call   *0x44a3e0
4198b5:	59                   	pop    %ecx
4198b6:	ff 15 80 a0 44 00    	call   *0x44a080
4198bc:	8b f0                	mov    %eax,%esi
4198be:	89 44 24 14          	mov    %eax,0x14(%esp)
4198c2:	81 fe b7 00 00 00    	cmp    $0xb7,%esi
4198c8:	75 07                	jne    0x4198d1
4198ca:	be 4d 23 00 00       	mov    $0x234d,%esi
4198cf:	eb 0a                	jmp    0x4198db
4198d1:	83 fe 01             	cmp    $0x1,%esi
4198d4:	75 09                	jne    0x4198df
4198d6:	be 30 27 00 40       	mov    $0x40002730,%esi
4198db:	89 74 24 14          	mov    %esi,0x14(%esp)
4198df:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
4198e4:	74 1f                	je     0x419905
4198e6:	8b 84 24 60 04 00 00 	mov    0x460(%esp),%eax
4198ed:	85 c0                	test   %eax,%eax
4198ef:	75 07                	jne    0x4198f8
4198f1:	8d 84 24 58 02 00 00 	lea    0x258(%esp),%eax
4198f8:	50                   	push   %eax
4198f9:	68 80 22 40 00       	push   $0x402280
4198fe:	e8 4d 00 ff ff       	call   0x409950
419903:	59                   	pop    %ecx
419904:	59                   	pop    %ecx
419905:	33 c0                	xor    %eax,%eax
419907:	50                   	push   %eax
419908:	56                   	push   %esi
419909:	e8 d6 df fe ff       	call   0x4078e4
41990e:	8b 94 24 50 02 00 00 	mov    0x250(%esp),%edx
419915:	59                   	pop    %ecx
419916:	59                   	pop    %ecx
419917:	8b ca                	mov    %edx,%ecx
419919:	85 d2                	test   %edx,%edx
41991b:	75 04                	jne    0x419921
41991d:	8d 4c 24 40          	lea    0x40(%esp),%ecx
419921:	8d 71 02             	lea    0x2(%ecx),%esi
419924:	33 ff                	xor    %edi,%edi
419926:	66 8b 01             	mov    (%ecx),%ax
419929:	03 cb                	add    %ebx,%ecx
41992b:	66 3b c7             	cmp    %di,%ax
41992e:	75 f6                	jne    0x419926
419930:	2b ce                	sub    %esi,%ecx
419932:	8b c2                	mov    %edx,%eax
419934:	d1 f9                	sar    $1,%ecx
419936:	49                   	dec    %ecx
419937:	89 4c 24 20          	mov    %ecx,0x20(%esp)
41993b:	85 d2                	test   %edx,%edx
41993d:	75 04                	jne    0x419943
41993f:	8d 44 24 40          	lea    0x40(%esp),%eax
419943:	66 83 3c 48 2e       	cmpw   $0x2e,(%eax,%ecx,2)
419948:	75 15                	jne    0x41995f
41994a:	85 d2                	test   %edx,%edx
41994c:	75 04                	jne    0x419952
41994e:	8d 54 24 40          	lea    0x40(%esp),%edx
419952:	33 c0                	xor    %eax,%eax
419954:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
419958:	8b 94 24 48 02 00 00 	mov    0x248(%esp),%edx
41995f:	85 d2                	test   %edx,%edx
419961:	75 04                	jne    0x419967
419963:	8d 54 24 40          	lea    0x40(%esp),%edx
419967:	8b 84 24 60 04 00 00 	mov    0x460(%esp),%eax
41996e:	85 c0                	test   %eax,%eax
419970:	75 07                	jne    0x419979
419972:	8d 84 24 58 02 00 00 	lea    0x258(%esp),%eax
419979:	52                   	push   %edx