406455:	56                   	push   %esi
406456:	a3 00 95 83 02       	mov    %eax,0x2839500
40645b:	ff 15 70 71 42 00    	call   *0x427170
406461:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406467:	68 e4 81 42 00       	push   $0x4281e4
40646c:	56                   	push   %esi
40646d:	a3 04 95 83 02       	mov    %eax,0x2839504
406472:	ff 15 70 71 42 00    	call   *0x427170
406478:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40647e:	68 f8 81 42 00       	push   $0x4281f8
406483:	56                   	push   %esi
406484:	a3 08 95 83 02       	mov    %eax,0x2839508
406489:	ff 15 70 71 42 00    	call   *0x427170
40648f:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406495:	68 18 82 42 00       	push   $0x428218
40649a:	56                   	push   %esi
40649b:	a3 0c 95 83 02       	mov    %eax,0x283950c
4064a0:	ff 15 70 71 42 00    	call   *0x427170
4064a6:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4064ac:	68 30 82 42 00       	push   $0x428230
4064b1:	56                   	push   %esi
4064b2:	a3 10 95 83 02       	mov    %eax,0x2839510
4064b7:	ff 15 70 71 42 00    	call   *0x427170
4064bd:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4064c3:	68 48 82 42 00       	push   $0x428248
4064c8:	56                   	push   %esi
4064c9:	a3 14 95 83 02       	mov    %eax,0x2839514
4064ce:	ff 15 70 71 42 00    	call   *0x427170
4064d4:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4064da:	68 5c 82 42 00       	push   $0x42825c
4064df:	a3 18 95 83 02       	mov    %eax,0x2839518
4064e4:	56                   	push   %esi
4064e5:	ff 15 70 71 42 00    	call   *0x427170
4064eb:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4064f1:	68 70 82 42 00       	push   $0x428270
4064f6:	56                   	push   %esi
4064f7:	a3 1c 95 83 02       	mov    %eax,0x283951c
4064fc:	ff 15 70 71 42 00    	call   *0x427170
406502:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406508:	68 8c 82 42 00       	push   $0x42828c
40650d:	56                   	push   %esi
40650e:	a3 20 95 83 02       	mov    %eax,0x2839520
406513:	ff 15 70 71 42 00    	call   *0x427170
406519:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40651f:	68 ac 82 42 00       	push   $0x4282ac
406524:	56                   	push   %esi
406525:	a3 24 95 83 02       	mov    %eax,0x2839524
40652a:	ff 15 70 71 42 00    	call   *0x427170
406530:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406536:	68 c8 82 42 00       	push   $0x4282c8
40653b:	56                   	push   %esi
40653c:	a3 28 95 83 02       	mov    %eax,0x2839528
406541:	ff 15 70 71 42 00    	call   *0x427170
406547:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40654d:	68 dc 82 42 00       	push   $0x4282dc
406552:	56                   	push   %esi
406553:	a3 2c 95 83 02       	mov    %eax,0x283952c
406558:	ff 15 70 71 42 00    	call   *0x427170
40655e:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406564:	68 f0 82 42 00       	push   $0x4282f0
406569:	56                   	push   %esi
40656a:	a3 30 95 83 02       	mov    %eax,0x2839530
40656f:	ff 15 70 71 42 00    	call   *0x427170
406575:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40657b:	68 00 83 42 00       	push   $0x428300
406580:	56                   	push   %esi
406581:	a3 34 95 83 02       	mov    %eax,0x2839534
406586:	ff 15 70 71 42 00    	call   *0x427170
40658c:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406592:	68 20 83 42 00       	push   $0x428320
406597:	56                   	push   %esi
406598:	a3 38 95 83 02       	mov    %eax,0x2839538
40659d:	ff 15 70 71 42 00    	call   *0x427170
4065a3:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4065a9:	68 3c 83 42 00       	push   $0x42833c
4065ae:	56                   	push   %esi
4065af:	a3 3c 95 83 02       	mov    %eax,0x283953c
4065b4:	ff 15 70 71 42 00    	call   *0x427170
4065ba:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4065c0:	68 5c 83 42 00       	push   $0x42835c
4065c5:	56                   	push   %esi
4065c6:	a3 40 95 83 02       	mov    %eax,0x2839540
4065cb:	ff 15 70 71 42 00    	call   *0x427170
4065d1:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4065d7:	68 78 83 42 00       	push   $0x428378
4065dc:	56                   	push   %esi
4065dd:	a3 44 95 83 02       	mov    %eax,0x2839544
4065e2:	ff 15 70 71 42 00    	call   *0x427170
4065e8:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4065ee:	68 90 83 42 00       	push   $0x428390
4065f3:	56                   	push   %esi
4065f4:	a3 48 95 83 02       	mov    %eax,0x2839548
4065f9:	ff 15 70 71 42 00    	call   *0x427170
4065ff:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406605:	68 ac 83 42 00       	push   $0x4283ac
40660a:	56                   	push   %esi
40660b:	a3 4c 95 83 02       	mov    %eax,0x283954c
406610:	ff 15 70 71 42 00    	call   *0x427170
406616:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40661c:	68 c8 83 42 00       	push   $0x4283c8
406621:	56                   	push   %esi
406622:	a3 50 95 83 02       	mov    %eax,0x2839550
406627:	ff 15 70 71 42 00    	call   *0x427170
40662d:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406633:	68 dc 83 42 00       	push   $0x4283dc
406638:	56                   	push   %esi
406639:	a3 54 95 83 02       	mov    %eax,0x2839554
40663e:	ff 15 70 71 42 00    	call   *0x427170
406644:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40664a:	68 f4 83 42 00       	push   $0x4283f4
40664f:	56                   	push   %esi
406650:	a3 58 95 83 02       	mov    %eax,0x2839558
406655:	ff 15 70 71 42 00    	call   *0x427170
40665b:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406661:	68 10 84 42 00       	push   $0x428410
406666:	56                   	push   %esi
406667:	a3 5c 95 83 02       	mov    %eax,0x283955c
40666c:	ff 15 70 71 42 00    	call   *0x427170
406672:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406678:	68 28 84 42 00       	push   $0x428428
40667d:	56                   	push   %esi
40667e:	a3 60 95 83 02       	mov    %eax,0x2839560
406683:	ff 15 70 71 42 00    	call   *0x427170
406689:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
40668f:	68 44 84 42 00       	push   $0x428444
406694:	56                   	push   %esi
406695:	a3 64 95 83 02       	mov    %eax,0x2839564
40669a:	ff 15 70 71 42 00    	call   *0x427170
4066a0:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4066a6:	68 5c 84 42 00       	push   $0x42845c
4066ab:	56                   	push   %esi
4066ac:	a3 68 95 83 02       	mov    %eax,0x2839568
4066b1:	ff 15 70 71 42 00    	call   *0x427170
4066b7:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4066bd:	68 74 84 42 00       	push   $0x428474
4066c2:	56                   	push   %esi
4066c3:	a3 6c 95 83 02       	mov    %eax,0x283956c
4066c8:	ff 15 70 71 42 00    	call   *0x427170
4066ce:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4066d4:	68 88 84 42 00       	push   $0x428488
4066d9:	56                   	push   %esi
4066da:	a3 70 95 83 02       	mov    %eax,0x2839570
4066df:	ff 15 70 71 42 00    	call   *0x427170
4066e5:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
4066eb:	68 98 84 42 00       	push   $0x428498
4066f0:	56                   	push   %esi
4066f1:	a3 74 95 83 02       	mov    %eax,0x2839574
4066f6:	ff 15 70 71 42 00    	call   *0x427170
4066fc:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406702:	68 a8 84 42 00       	push   $0x4284a8
406707:	56                   	push   %esi
406708:	a3 78 95 83 02       	mov    %eax,0x2839578
40670d:	ff 15 70 71 42 00    	call   *0x427170
406713:	33 05 28 ba 43 00    	xor    0x43ba28,%eax
406719:	a3 7c 95 83 02       	mov    %eax,0x283957c
40671e:	33 c0                	xor    %eax,%eax
406720:	5e                   	pop    %esi
406721:	c3                   	ret
406722:	55                   	push   %ebp
406723:	8b ec                	mov    %esp,%ebp
406725:	56                   	push   %esi
406726:	8b 35 f0 94 83 02    	mov    0x28394f0,%esi
40672c:	33 35 28 ba 43 00    	xor    0x43ba28,%esi
406732:	74 14                	je     0x406748
406734:	ff 75 10             	push   0x10(%ebp)
406737:	8b ce                	mov    %esi,%ecx
406739:	ff 75 0c             	push   0xc(%ebp)
40673c:	ff 75 08             	push   0x8(%ebp)
40673f:	e8 2d 09 00 00       	call   0x407071
406744:	ff d6                	call   *%esi
406746:	eb 0f                	jmp    0x406757
406748:	ff 75 0c             	push   0xc(%ebp)
40674b:	ff 75 08             	push   0x8(%ebp)
40674e:	ff 15 50 71 42 00    	call   *0x427150
406754:	33 c0                	xor    %eax,%eax
406756:	40                   	inc    %eax
406757:	5e                   	pop    %esi
406758:	5d                   	pop    %ebp
406759:	c3                   	ret
40675a:	55                   	push   %ebp
40675b:	8b ec                	mov    %esp,%ebp
40675d:	53                   	push   %ebx
40675e:	56                   	push   %esi
40675f:	57                   	push   %edi
406760:	33 ff                	xor    %edi,%edi
406762:	bb e3 00 00 00       	mov    $0xe3,%ebx
406767:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40676a:	99                   	cltd
40676b:	2b c2                	sub    %edx,%eax
40676d:	8b f0                	mov    %eax,%esi
40676f:	d1 fe                	sar    $1,%esi
406771:	6a 55                	push   $0x55
406773:	ff 34 f5 d8 8b 42 00 	push   0x428bd8(,%esi,8)
40677a:	ff 75 08             	push   0x8(%ebp)
40677d:	e8 a6 00 00 00       	call   0x406828
406782:	83 c4 0c             	add    $0xc,%esp
406785:	85 c0                	test   %eax,%eax
406787:	74 13                	je     0x40679c
406789:	79 05                	jns    0x406790
40678b:	8d 5e ff             	lea    -0x1(%esi),%ebx
40678e:	eb 03                	jmp    0x406793
406790:	8d 7e 01             	lea    0x1(%esi),%edi
406793:	3b fb                	cmp    %ebx,%edi
406795:	7e d0                	jle    0x406767
406797:	83 c8 ff             	or     $0xffffffff,%eax
40679a:	eb 07                	jmp    0x4067a3
40679c:	8b 04 f5 dc 8b 42 00 	mov    0x428bdc(,%esi,8),%eax
4067a3:	5f                   	pop    %edi
4067a4:	5e                   	pop    %esi
4067a5:	5b                   	pop    %ebx
4067a6:	5d                   	pop    %ebp
4067a7:	c3                   	ret
4067a8:	55                   	push   %ebp
4067a9:	8b ec                	mov    %esp,%ebp
4067ab:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4067af:	74 1d                	je     0x4067ce
4067b1:	ff 75 08             	push   0x8(%ebp)
4067b4:	e8 a1 ff ff ff       	call   0x40675a
4067b9:	59                   	pop    %ecx
4067ba:	85 c0                	test   %eax,%eax
4067bc:	78 10                	js     0x4067ce
4067be:	3d e4 00 00 00       	cmp    $0xe4,%eax
4067c3:	73 09                	jae    0x4067ce
4067c5:	8b 04 c5 b8 84 42 00 	mov    0x4284b8(,%eax,8),%eax
4067cc:	5d                   	pop    %ebp
4067cd:	c3                   	ret
4067ce:	33 c0                	xor    %eax,%eax
4067d0:	5d                   	pop    %ebp
4067d1:	c3                   	ret
4067d2:	55                   	push   %ebp
4067d3:	8b ec                	mov    %esp,%ebp
4067d5:	56                   	push   %esi
4067d6:	8b 35 7c 95 83 02    	mov    0x283957c,%esi
4067dc:	33 35 28 ba 43 00    	xor    0x43ba28,%esi
4067e2:	74 22                	je     0x406806
4067e4:	33 c0                	xor    %eax,%eax
4067e6:	8b ce                	mov    %esi,%ecx
4067e8:	50                   	push   %eax
4067e9:	50                   	push   %eax
4067ea:	50                   	push   %eax
4067eb:	ff 75 1c             	push   0x1c(%ebp)
4067ee:	ff 75 18             	push   0x18(%ebp)
4067f1:	ff 75 14             	push   0x14(%ebp)
4067f4:	ff 75 10             	push   0x10(%ebp)
4067f7:	ff 75 0c             	push   0xc(%ebp)
4067fa:	ff 75 08             	push   0x8(%ebp)
4067fd:	e8 6f 08 00 00       	call   0x407071
406802:	ff d6                	call   *%esi
406804:	eb 1f                	jmp    0x406825
406806:	ff 75 1c             	push   0x1c(%ebp)
406809:	ff 75 18             	push   0x18(%ebp)
40680c:	ff 75 14             	push   0x14(%ebp)
40680f:	ff 75 10             	push   0x10(%ebp)
406812:	ff 75 0c             	push   0xc(%ebp)
406815:	ff 75 08             	push   0x8(%ebp)
406818:	e8 8b ff ff ff       	call   0x4067a8
40681d:	59                   	pop    %ecx
40681e:	50                   	push   %eax
40681f:	ff 15 74 71 42 00    	call   *0x427174
406825:	5e                   	pop    %esi
406826:	5d                   	pop    %ebp
406827:	c3                   	ret
406828:	55                   	push   %ebp
406829:	8b ec                	mov    %esp,%ebp
40682b:	51                   	push   %ecx
40682c:	56                   	push   %esi
40682d:	8b 75 10             	mov    0x10(%ebp),%esi
406830:	33 c0                	xor    %eax,%eax
406832:	85 f6                	test   %esi,%esi
406834:	74 60                	je     0x406896
406836:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406839:	53                   	push   %ebx
40683a:	57                   	push   %edi
40683b:	8b 7d 08             	mov    0x8(%ebp),%edi
40683e:	6a 41                	push   $0x41
406840:	5b                   	pop    %ebx
406841:	6a 5a                	push   $0x5a
406843:	5a                   	pop    %edx
406844:	2b f9                	sub    %ecx,%edi
406846:	89 55 fc             	mov    %edx,-0x4(%ebp)
406849:	eb 03                	jmp    0x40684e
40684b:	6a 5a                	push   $0x5a
40684d:	5a                   	pop    %edx
40684e:	0f b7 04 0f          	movzwl (%edi,%ecx,1),%eax
406852:	66 3b c3             	cmp    %bx,%ax
406855:	72 0d                	jb     0x406864
406857:	66 3b c2             	cmp    %dx,%ax
40685a:	77 08                	ja     0x406864
40685c:	83 c0 20             	add    $0x20,%eax
40685f:	0f b7 d0             	movzwl %ax,%edx
406862:	eb 02                	jmp    0x406866
406864:	8b d0                	mov    %eax,%edx
406866:	0f b7 01             	movzwl (%ecx),%eax
406869:	66 3b c3             	cmp    %bx,%ax
40686c:	72 0c                	jb     0x40687a
40686e:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
406872:	77 06                	ja     0x40687a
406874:	83 c0 20             	add    $0x20,%eax
406877:	0f b7 c0             	movzwl %ax,%eax
40687a:	83 c1 02             	add    $0x2,%ecx
40687d:	83 ee 01             	sub    $0x1,%esi
406880:	74 0a                	je     0x40688c
406882:	66 85 d2             	test   %dx,%dx
406885:	74 05                	je     0x40688c
406887:	66 3b d0             	cmp    %ax,%dx
40688a:	74 bf                	je     0x40684b
40688c:	0f b7 c8             	movzwl %ax,%ecx
40688f:	0f b7 c2             	movzwl %dx,%eax
406892:	5f                   	pop    %edi
406893:	2b c1                	sub    %ecx,%eax
406895:	5b                   	pop    %ebx
406896:	5e                   	pop    %esi
406897:	8b e5                	mov    %ebp,%esp
406899:	5d                   	pop    %ebp
40689a:	c3                   	ret
40689b:	55                   	push   %ebp
40689c:	8b ec                	mov    %esp,%ebp
40689e:	eb 1f                	jmp    0x4068bf
4068a0:	ff 75 08             	push   0x8(%ebp)
4068a3:	e8 7b ee 00 00       	call   0x415723
4068a8:	59                   	pop    %ecx
4068a9:	85 c0                	test   %eax,%eax
4068ab:	75 12                	jne    0x4068bf
4068ad:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4068b1:	75 07                	jne    0x4068ba
4068b3:	e8 ae 09 00 00       	call   0x407266
4068b8:	eb 05                	jmp    0x4068bf
4068ba:	e8 8a 09 00 00       	call   0x407249
4068bf:	ff 75 08             	push   0x8(%ebp)
4068c2:	e8 28 e2 00 00       	call   0x414aef
4068c7:	59                   	pop    %ecx
4068c8:	85 c0                	test   %eax,%eax
4068ca:	74 d4                	je     0x4068a0
4068cc:	5d                   	pop    %ebp
4068cd:	c3                   	ret
4068ce:	e9 7a 54 00 00       	jmp    0x40bd4d
4068d3:	55                   	push   %ebp
4068d4:	8b ec                	mov    %esp,%ebp
4068d6:	ff 75 08             	push   0x8(%ebp)
4068d9:	e8 f0 ff ff ff       	call   0x4068ce
4068de:	59                   	pop    %ecx
4068df:	5d                   	pop    %ebp
4068e0:	c3                   	ret
4068e1:	55                   	push   %ebp
4068e2:	8b ec                	mov    %esp,%ebp
4068e4:	a1 28 ba 43 00       	mov    0x43ba28,%eax
4068e9:	83 e0 1f             	and    $0x1f,%eax
4068ec:	6a 20                	push   $0x20
4068ee:	59                   	pop    %ecx
4068ef:	2b c8                	sub    %eax,%ecx