40850b:	ff b5 54 f7 ff ff    	push   -0x8ac(%ebp)
408511:	ff 15 ac c4 42 00    	call   *0x42c4ac
408517:	8b f8                	mov    %eax,%edi
408519:	85 ff                	test   %edi,%edi
40851b:	79 52                	jns    0x40856f
40851d:	a1 00 b0 42 00       	mov    0x42b000,%eax
408522:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408527:	74 46                	je     0x40856f
408529:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40852d:	74 40                	je     0x40856f
40852f:	ff 70 14             	push   0x14(%eax)
408532:	ba 30 21 40 00       	mov    $0x402130,%edx
408537:	ff 70 10             	push   0x10(%eax)
40853a:	6a 16                	push   $0x16
40853c:	59                   	pop    %ecx
40853d:	e8 6e ee ff ff       	call   0x4073b0
408542:	eb 2b                	jmp    0x40856f
408544:	bf 01 40 00 80       	mov    $0x80004001,%edi
408549:	a1 00 b0 42 00       	mov    0x42b000,%eax
40854e:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408553:	74 1a                	je     0x40856f
408555:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408559:	74 14                	je     0x40856f
40855b:	57                   	push   %edi
40855c:	ff 70 14             	push   0x14(%eax)
40855f:	ff 70 10             	push   0x10(%eax)
408562:	6a 15                	push   $0x15
408564:	ba 30 21 40 00       	mov    $0x402130,%edx
408569:	59                   	pop    %ecx
40856a:	e8 5f ee ff ff       	call   0x4073ce
40856f:	83 bd 54 f7 ff ff 00 	cmpl   $0x0,-0x8ac(%ebp)
408576:	74 13                	je     0x40858b
408578:	ff b5 54 f7 ff ff    	push   -0x8ac(%ebp)
40857e:	ff 15 a8 c4 42 00    	call   *0x42c4a8
408584:	83 a5 54 f7 ff ff 00 	andl   $0x0,-0x8ac(%ebp)
40858b:	6a 01                	push   $0x1
40858d:	8d 8d 44 f7 ff ff    	lea    -0x8bc(%ebp),%ecx
408593:	e8 8d 46 00 00       	call   0x40cc25
408598:	8b c7                	mov    %edi,%eax
40859a:	e8 ab fa 01 00       	call   0x42804a
40859f:	c2 04 00             	ret    $0x4
4085a2:	6a 10                	push   $0x10
4085a4:	b8 8d 84 42 00       	mov    $0x42848d,%eax
4085a9:	e8 ba fa 01 00       	call   0x428068
4085ae:	8b d9                	mov    %ecx,%ebx
4085b0:	33 c0                	xor    %eax,%eax
4085b2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4085b5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4085b8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4085bb:	8b 7d 08             	mov    0x8(%ebp),%edi
4085be:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4085c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4085c4:	66 83 3f 2f          	cmpw   $0x2f,(%edi)
4085c8:	75 44                	jne    0x40860e
4085ca:	57                   	push   %edi
4085cb:	e8 e8 3a 00 00       	call   0x40c0b8
4085d0:	8b f0                	mov    %eax,%esi
4085d2:	85 f6                	test   %esi,%esi
4085d4:	0f 89 af 00 00 00    	jns    0x408689
4085da:	a1 00 b0 42 00       	mov    0x42b000,%eax
4085df:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4085e4:	0f 84 62 01 00 00    	je     0x40874c
4085ea:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4085ee:	0f 84 58 01 00 00    	je     0x40874c
4085f4:	56                   	push   %esi
4085f5:	57                   	push   %edi
4085f6:	ff 70 14             	push   0x14(%eax)
4085f9:	ff 70 10             	push   0x10(%eax)
4085fc:	6a 17                	push   $0x17
4085fe:	ba 30 21 40 00       	mov    $0x402130,%edx
408603:	59                   	pop    %ecx
408604:	e8 ad f3 ff ff       	call   0x4079b6
408609:	e9 3e 01 00 00       	jmp    0x40874c
40860e:	68 ac 1b 40 00       	push   $0x401bac
408613:	e8 a0 3a 00 00       	call   0x40c0b8
408618:	8b f0                	mov    %eax,%esi
40861a:	85 f6                	test   %esi,%esi
40861c:	79 33                	jns    0x408651
40861e:	a1 00 b0 42 00       	mov    0x42b000,%eax
408623:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408628:	0f 84 1e 01 00 00    	je     0x40874c
40862e:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408632:	0f 84 14 01 00 00    	je     0x40874c
408638:	56                   	push   %esi
408639:	ff 70 14             	push   0x14(%eax)
40863c:	ba 30 21 40 00       	mov    $0x402130,%edx
408641:	ff 70 10             	push   0x10(%eax)
408644:	6a 18                	push   $0x18
408646:	59                   	pop    %ecx
408647:	e8 82 ed ff ff       	call   0x4073ce
40864c:	e9 fb 00 00 00       	jmp    0x40874c
408651:	57                   	push   %edi
408652:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
408655:	e8 11 3c 00 00       	call   0x40c26b
40865a:	8b f0                	mov    %eax,%esi
40865c:	85 f6                	test   %esi,%esi
40865e:	79 29                	jns    0x408689
408660:	a1 00 b0 42 00       	mov    0x42b000,%eax
408665:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40866a:	0f 84 dc 00 00 00    	je     0x40874c
408670:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408674:	0f 84 d2 00 00 00    	je     0x40874c
40867a:	56                   	push   %esi
40867b:	57                   	push   %edi
40867c:	ff 70 14             	push   0x14(%eax)
40867f:	ff 70 10             	push   0x10(%eax)
408682:	6a 19                	push   $0x19
408684:	e9 75 ff ff ff       	jmp    0x4085fe
408689:	33 c0                	xor    %eax,%eax
40868b:	c7 83 88 01 00 00 03 	movl   $0x3,0x188(%ebx)
408692:	00 00 00
408695:	89 45 f0             	mov    %eax,-0x10(%ebp)
408698:	33 f6                	xor    %esi,%esi
40869a:	ff b6 00 13 40 00    	push   0x401300(%esi)
4086a0:	ff 15 a8 c2 42 00    	call   *0x42c2a8
4086a6:	50                   	push   %eax
4086a7:	ff b6 00 13 40 00    	push   0x401300(%esi)
4086ad:	ff 75 e4             	push   -0x1c(%ebp)
4086b0:	ff 15 34 c3 42 00    	call   *0x42c334
4086b6:	83 c4 0c             	add    $0xc,%esp
4086b9:	85 c0                	test   %eax,%eax
4086bb:	74 13                	je     0x4086d0
4086bd:	ff 45 f0             	incl   -0x10(%ebp)
4086c0:	83 c6 0c             	add    $0xc,%esi
4086c3:	83 fe 30             	cmp    $0x30,%esi
4086c6:	72 d2                	jb     0x40869a
4086c8:	8b 83 88 01 00 00    	mov    0x188(%ebx),%eax
4086ce:	eb 10                	jmp    0x4086e0
4086d0:	6b 45 f0 0c          	imul   $0xc,-0x10(%ebp),%eax
4086d4:	8b 80 08 13 40 00    	mov    0x401308(%eax),%eax
4086da:	89 83 88 01 00 00    	mov    %eax,0x188(%ebx)
4086e0:	83 f8 01             	cmp    $0x1,%eax
4086e3:	75 11                	jne    0x4086f6
4086e5:	6a 0b                	push   $0xb
4086e7:	68 50 12 40 00       	push   $0x401250
4086ec:	57                   	push   %edi
4086ed:	8b cb                	mov    %ebx,%ecx
4086ef:	e8 6c 00 00 00       	call   0x408760
4086f4:	eb 20                	jmp    0x408716
4086f6:	85 c0                	test   %eax,%eax
4086f8:	75 0a                	jne    0x408704
4086fa:	57                   	push   %edi
4086fb:	8b cb                	mov    %ebx,%ecx
4086fd:	e8 04 02 00 00       	call   0x408906
408702:	eb 12                	jmp    0x408716
408704:	83 f8 02             	cmp    $0x2,%eax
408707:	75 11                	jne    0x40871a
408709:	68 c4 1f 40 00       	push   $0x401fc4
40870e:	8d 4b 48             	lea    0x48(%ebx),%ecx
408711:	e8 a2 39 00 00       	call   0x40c0b8
408716:	8b f0                	mov    %eax,%esi
408718:	eb 05                	jmp    0x40871f
40871a:	be 05 40 00 80       	mov    $0x80004005,%esi
40871f:	85 f6                	test   %esi,%esi
408721:	79 27                	jns    0x40874a
408723:	a1 00 b0 42 00       	mov    0x42b000,%eax
408728:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
40872d:	74 1d                	je     0x40874c
40872f:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
408733:	74 17                	je     0x40874c
408735:	ff 70 14             	push   0x14(%eax)
408738:	ba 30 21 40 00       	mov    $0x402130,%edx
40873d:	ff 70 10             	push   0x10(%eax)
408740:	6a 1a                	push   $0x1a
408742:	59                   	pop    %ecx
408743:	e8 68 ec ff ff       	call   0x4073b0
408748:	eb 02                	jmp    0x40874c
40874a:	33 f6                	xor    %esi,%esi
40874c:	6a 01                	push   $0x1
40874e:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
408751:	e8 cf 44 00 00       	call   0x40cc25
408756:	8b c6                	mov    %esi,%eax
408758:	e8 d9 f8 01 00       	call   0x428036
40875d:	c2 04 00             	ret    $0x4
408760:	6a 28                	push   $0x28
408762:	b8 b8 84 42 00       	mov    $0x4284b8,%eax
408767:	e8 fc f8 01 00       	call   0x428068
40876c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40876f:	33 db                	xor    %ebx,%ebx
408771:	89 5d f0             	mov    %ebx,-0x10(%ebp)
408774:	89 5d d0             	mov    %ebx,-0x30(%ebp)
408777:	89 5d d8             	mov    %ebx,-0x28(%ebp)
40877a:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
40877d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408780:	89 5d dc             	mov    %ebx,-0x24(%ebp)
408783:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
408786:	89 5d e0             	mov    %ebx,-0x20(%ebp)
408789:	6a 3f                	push   $0x3f
40878b:	ff 75 08             	push   0x8(%ebp)
40878e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408792:	ff 15 30 c3 42 00    	call   *0x42c330
408798:	8b f8                	mov    %eax,%edi
40879a:	59                   	pop    %ecx
40879b:	59                   	pop    %ecx
40879c:	85 ff                	test   %edi,%edi
40879e:	75 30                	jne    0x4087d0
4087a0:	a1 00 b0 42 00       	mov    0x42b000,%eax
4087a5:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4087aa:	74 1a                	je     0x4087c6
4087ac:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4087b0:	74 14                	je     0x4087c6
4087b2:	53                   	push   %ebx
4087b3:	ff 70 14             	push   0x14(%eax)
4087b6:	ba 30 21 40 00       	mov    $0x402130,%edx
4087bb:	ff 70 10             	push   0x10(%eax)
4087be:	6a 1b                	push   $0x1b
4087c0:	59                   	pop    %ecx
4087c1:	e8 92 f1 ff ff       	call   0x407958
4087c6:	be 05 40 00 80       	mov    $0x80004005,%esi
4087cb:	e9 d5 00 00 00       	jmp    0x4088a5
4087d0:	47                   	inc    %edi
4087d1:	83 c7 01             	add    $0x1,%edi
4087d4:	0f 84 c9 00 00 00    	je     0x4088a3
4087da:	8b 5d 10             	mov    0x10(%ebp),%ebx
4087dd:	8d 45 dc             	lea    -0x24(%ebp),%eax
4087e0:	8b cf                	mov    %edi,%ecx
4087e2:	50                   	push   %eax
4087e3:	8d 45 d0             	lea    -0x30(%ebp),%eax
4087e6:	50                   	push   %eax
4087e7:	8d 55 f0             	lea    -0x10(%ebp),%edx
4087ea:	e8 46 2e 00 00       	call   0x40b635
4087ef:	8b f0                	mov    %eax,%esi
4087f1:	85 f6                	test   %esi,%esi
4087f3:	0f 88 e6 00 00 00    	js     0x4088df
4087f9:	8b 7d f0             	mov    -0x10(%ebp),%edi
4087fc:	33 f6                	xor    %esi,%esi
4087fe:	89 7d e8             	mov    %edi,-0x18(%ebp)
408801:	85 db                	test   %ebx,%ebx
408803:	74 1d                	je     0x408822
408805:	8b 7d 0c             	mov    0xc(%ebp),%edi
408808:	ff 75 d0             	push   -0x30(%ebp)
40880b:	ff 34 f7             	push   (%edi,%esi,8)
40880e:	ff 15 2c c3 42 00    	call   *0x42c32c
408814:	59                   	pop    %ecx
408815:	59                   	pop    %ecx
408816:	85 c0                	test   %eax,%eax
408818:	74 05                	je     0x40881f
40881a:	46                   	inc    %esi
40881b:	3b f3                	cmp    %ebx,%esi
40881d:	72 e9                	jb     0x408808
40881f:	8b 7d e8             	mov    -0x18(%ebp),%edi
408822:	ff 75 d0             	push   -0x30(%ebp)
408825:	68 d4 1f 40 00       	push   $0x401fd4
40882a:	ff 15 2c c3 42 00    	call   *0x42c32c
408830:	59                   	pop    %ecx
408831:	59                   	pop    %ecx
408832:	85 c0                	test   %eax,%eax
408834:	75 3c                	jne    0x408872
408836:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408839:	ff 75 dc             	push   -0x24(%ebp)
40883c:	8d 49 48             	lea    0x48(%ecx),%ecx
40883f:	e8 74 38 00 00       	call   0x40c0b8
408844:	8b f0                	mov    %eax,%esi
408846:	85 f6                	test   %esi,%esi
408848:	79 4f                	jns    0x408899
40884a:	a1 00 b0 42 00       	mov    0x42b000,%eax
40884f:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
408854:	74 4f                	je     0x4088a5
408856:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
40885a:	74 49                	je     0x4088a5
40885c:	56                   	push   %esi
40885d:	ff 70 14             	push   0x14(%eax)
408860:	ba 30 21 40 00       	mov    $0x402130,%edx
408865:	ff 70 10             	push   0x10(%eax)
408868:	6a 1d                	push   $0x1d
40886a:	59                   	pop    %ecx
40886b:	e8 5e eb ff ff       	call   0x4073ce
408870:	eb 33                	jmp    0x4088a5
408872:	3b f3                	cmp    %ebx,%esi
408874:	73 23                	jae    0x408899
408876:	85 f6                	test   %esi,%esi
408878:	74 1f                	je     0x408899
40887a:	8d 46 ff             	lea    -0x1(%esi),%eax
40887d:	83 f8 0a             	cmp    $0xa,%eax
408880:	73 17                	jae    0x408899
408882:	ff 75 dc             	push   -0x24(%ebp)
408885:	8d 46 06             	lea    0x6(%esi),%eax
408888:	6b c8 0c             	imul   $0xc,%eax,%ecx
40888b:	03 4d ec             	add    -0x14(%ebp),%ecx
40888e:	e8 25 38 00 00       	call   0x40c0b8
408893:	8b f0                	mov    %eax,%esi
408895:	85 f6                	test   %esi,%esi
408897:	78 2a                	js     0x4088c3
408899:	85 ff                	test   %edi,%edi
40889b:	0f 85 3c ff ff ff    	jne    0x4087dd
4088a1:	33 db                	xor    %ebx,%ebx
4088a3:	8b f3                	mov    %ebx,%esi
4088a5:	6a 01                	push   $0x1
4088a7:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4088aa:	e8 76 43 00 00       	call   0x40cc25
4088af:	6a 01                	push   $0x1
4088b1:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4088b4:	e8 6c 43 00 00       	call   0x40cc25
4088b9:	8b c6                	mov    %esi,%eax
4088bb:	e8 76 f7 01 00       	call   0x428036
4088c0:	c2 0c 00             	ret    $0xc
4088c3:	a1 00 b0 42 00       	mov    0x42b000,%eax
4088c8:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4088cd:	74 d6                	je     0x4088a5
4088cf:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4088d3:	74 d0                	je     0x4088a5
4088d5:	ff 70 14             	push   0x14(%eax)
4088d8:	ff 70 10             	push   0x10(%eax)
4088db:	6a 1e                	push   $0x1e
4088dd:	eb 1a                	jmp    0x4088f9
4088df:	a1 00 b0 42 00       	mov    0x42b000,%eax
4088e4:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
4088e9:	74 ba                	je     0x4088a5
4088eb:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
4088ef:	74 b4                	je     0x4088a5
4088f1:	ff 70 14             	push   0x14(%eax)
4088f4:	ff 70 10             	push   0x10(%eax)
4088f7:	6a 1c                	push   $0x1c
4088f9:	ba 30 21 40 00       	mov    $0x402130,%edx
4088fe:	59                   	pop    %ecx
4088ff:	e8 ac ea ff ff       	call   0x4073b0
408904:	eb 9f                	jmp    0x4088a5
408906:	8b ff                	mov    %edi,%edi
408908:	55                   	push   %ebp
408909:	8b ec                	mov    %esp,%ebp
40890b:	53                   	push   %ebx
40890c:	56                   	push   %esi
40890d:	57                   	push   %edi
40890e:	8b d9                	mov    %ecx,%ebx
408910:	6a 08                	push   $0x8
408912:	5e                   	pop    %esi
408913:	8d 7b 54             	lea    0x54(%ebx),%edi
408916:	ff b6 b4 12 40 00    	push   0x4012b4(%esi)
40891c:	8b cf                	mov    %edi,%ecx
40891e:	e8 95 37 00 00       	call   0x40c0b8
408923:	85 c0                	test   %eax,%eax
408925:	79 2e                	jns    0x408955
408927:	8b 0d 00 b0 42 00    	mov    0x42b000,%ecx
40892d:	81 f9 00 b0 42 00    	cmp    $0x42b000,%ecx
408933:	74 20                	je     0x408955
408935:	f6 41 1c 02          	testb  $0x2,0x1c(%ecx)
408939:	74 1a                	je     0x408955
40893b:	50                   	push   %eax
40893c:	ff b6 b4 12 40 00    	push   0x4012b4(%esi)
408942:	ba 30 21 40 00       	mov    $0x402130,%edx
408947:	ff 71 14             	push   0x14(%ecx)
40894a:	ff 71 10             	push   0x10(%ecx)
40894d:	6a 1f                	push   $0x1f
40894f:	59                   	pop    %ecx
408950:	e8 61 f0 ff ff       	call   0x4079b6
408955:	83 c6 08             	add    $0x8,%esi
408958:	83 c7 0c             	add    $0xc,%edi
40895b:	83 fe 48             	cmp    $0x48,%esi
40895e:	72 b6                	jb     0x408916
408960:	6a 09                	push   $0x9