40860c:	ff 75 10             	push   0x10(%ebp)
40860f:	ff 75 0c             	push   0xc(%ebp)
408612:	ff 75 08             	push   0x8(%ebp)
408615:	ff 15 3c c1 4a 00    	call   *0x4ac13c
40861b:	e9 c1 00 00 00       	jmp    0x4086e1
408620:	57                   	push   %edi
408621:	33 ff                	xor    %edi,%edi
408623:	39 7d 10             	cmp    %edi,0x10(%ebp)
408626:	75 07                	jne    0x40862f
408628:	33 c0                	xor    %eax,%eax
40862a:	e9 b1 00 00 00       	jmp    0x4086e0
40862f:	53                   	push   %ebx
408630:	56                   	push   %esi
408631:	8b 35 80 08 4b 00    	mov    0x4b0880,%esi
408637:	57                   	push   %edi
408638:	89 7d e8             	mov    %edi,-0x18(%ebp)
40863b:	89 7d ec             	mov    %edi,-0x14(%ebp)
40863e:	ff d6                	call   *%esi
408640:	6a 01                	push   $0x1
408642:	89 45 f0             	mov    %eax,-0x10(%ebp)
408645:	ff d6                	call   *%esi
408647:	8b 5d 08             	mov    0x8(%ebp),%ebx
40864a:	3b df                	cmp    %edi,%ebx
40864c:	89 45 f4             	mov    %eax,-0xc(%ebp)
40864f:	74 61                	je     0x4086b2
408651:	8d 45 d8             	lea    -0x28(%ebp),%eax
408654:	50                   	push   %eax
408655:	53                   	push   %ebx
408656:	ff 15 a0 00 4b 00    	call   *0x4b00a0
40865c:	2b c7                	sub    %edi,%eax
40865e:	74 4e                	je     0x4086ae
408660:	48                   	dec    %eax
408661:	74 66                	je     0x4086c9
408663:	8d 45 f8             	lea    -0x8(%ebp),%eax
408666:	50                   	push   %eax
408667:	53                   	push   %ebx
408668:	ff 15 a4 00 4b 00    	call   *0x4b00a4
40866e:	85 c0                	test   %eax,%eax
408670:	74 3c                	je     0x4086ae
408672:	8b 45 fc             	mov    -0x4(%ebp),%eax
408675:	f7 d8                	neg    %eax
408677:	50                   	push   %eax
408678:	8b 45 f8             	mov    -0x8(%ebp),%eax
40867b:	f7 d8                	neg    %eax
40867d:	50                   	push   %eax
40867e:	8d 45 e8             	lea    -0x18(%ebp),%eax
408681:	50                   	push   %eax
408682:	ff 15 30 07 4b 00    	call   *0x4b0730
408688:	8b 35 34 07 4b 00    	mov    0x4b0734,%esi
40868e:	8d 45 d8             	lea    -0x28(%ebp),%eax
408691:	50                   	push   %eax
408692:	8d 45 e8             	lea    -0x18(%ebp),%eax
408695:	50                   	push   %eax
408696:	50                   	push   %eax
408697:	ff d6                	call   *%esi
408699:	85 c0                	test   %eax,%eax
40869b:	74 2c                	je     0x4086c9
40869d:	39 7d 0c             	cmp    %edi,0xc(%ebp)
4086a0:	74 2c                	je     0x4086ce
4086a2:	ff 75 0c             	push   0xc(%ebp)
4086a5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4086a8:	50                   	push   %eax
4086a9:	50                   	push   %eax
4086aa:	ff d6                	call   *%esi
4086ac:	eb 17                	jmp    0x4086c5
4086ae:	33 c0                	xor    %eax,%eax
4086b0:	eb 2c                	jmp    0x4086de
4086b2:	39 7d 0c             	cmp    %edi,0xc(%ebp)
4086b5:	74 17                	je     0x4086ce
4086b7:	ff 75 0c             	push   0xc(%ebp)
4086ba:	8d 45 e8             	lea    -0x18(%ebp),%eax
4086bd:	50                   	push   %eax
4086be:	50                   	push   %eax
4086bf:	ff 15 34 07 4b 00    	call   *0x4b0734
4086c5:	85 c0                	test   %eax,%eax
4086c7:	75 05                	jne    0x4086ce
4086c9:	33 c0                	xor    %eax,%eax
4086cb:	40                   	inc    %eax
4086cc:	eb 10                	jmp    0x4086de
4086ce:	ff 75 14             	push   0x14(%ebp)
4086d1:	8d 45 e8             	lea    -0x18(%ebp),%eax
4086d4:	50                   	push   %eax
4086d5:	53                   	push   %ebx
4086d6:	68 42 00 34 12       	push   $0x12340042
4086db:	ff 55 10             	call   *0x10(%ebp)
4086de:	5e                   	pop    %esi
4086df:	5b                   	pop    %ebx
4086e0:	5f                   	pop    %edi
4086e1:	c9                   	leave
4086e2:	c2 10 00             	ret    $0x10
4086e5:	55                   	push   %ebp
4086e6:	8b ec                	mov    %esp,%ebp
4086e8:	e8 29 fc ff ff       	call   0x408316
4086ed:	85 c0                	test   %eax,%eax
4086ef:	74 07                	je     0x4086f8
4086f1:	5d                   	pop    %ebp
4086f2:	ff 25 40 c1 4a 00    	jmp    *0x4ac140
4086f8:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4086fc:	75 06                	jne    0x408704
4086fe:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
408702:	74 04                	je     0x408708
408704:	33 c0                	xor    %eax,%eax
408706:	eb 46                	jmp    0x40874e
408708:	56                   	push   %esi
408709:	8b 75 10             	mov    0x10(%ebp),%esi
40870c:	85 f6                	test   %esi,%esi
40870e:	74 3b                	je     0x40874b
408710:	81 3e a8 01 00 00    	cmpl   $0x1a8,(%esi)
408716:	72 33                	jb     0x40874b
408718:	53                   	push   %ebx
408719:	57                   	push   %edi
40871a:	8b 3d 4c 03 4b 00    	mov    0x4b034c,%edi
408720:	6a 20                	push   $0x20
408722:	bb e8 9b 48 00       	mov    $0x489be8,%ebx
408727:	53                   	push   %ebx
408728:	8d 46 04             	lea    0x4(%esi),%eax
40872b:	50                   	push   %eax
40872c:	ff d7                	call   *%edi
40872e:	68 80 00 00 00       	push   $0x80
408733:	53                   	push   %ebx
408734:	8d 46 24             	lea    0x24(%esi),%eax
408737:	50                   	push   %eax
408738:	ff d7                	call   *%edi
40873a:	33 c0                	xor    %eax,%eax
40873c:	5f                   	pop    %edi
40873d:	c7 86 a4 00 00 00 05 	movl   $0x5,0xa4(%esi)
408744:	00 00 00
408747:	40                   	inc    %eax
408748:	5b                   	pop    %ebx
408749:	eb 02                	jmp    0x40874d
40874b:	33 c0                	xor    %eax,%eax
40874d:	5e                   	pop    %esi
40874e:	5d                   	pop    %ebp
40874f:	c2 10 00             	ret    $0x10
408752:	c3                   	ret
408753:	55                   	push   %ebp
408754:	8b ec                	mov    %esp,%ebp
408756:	83 ec 44             	sub    $0x44,%esp
408759:	53                   	push   %ebx
40875a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40875d:	33 d2                	xor    %edx,%edx
40875f:	3b da                	cmp    %edx,%ebx
408761:	56                   	push   %esi
408762:	57                   	push   %edi
408763:	66 89 55 d0          	mov    %dx,-0x30(%ebp)
408767:	75 0a                	jne    0x408773
408769:	b8 57 00 07 80       	mov    $0x80070057,%eax
40876e:	e9 74 05 00 00       	jmp    0x408ce7
408773:	8b 7d 1c             	mov    0x1c(%ebp),%edi
408776:	3b fa                	cmp    %edx,%edi
408778:	75 0a                	jne    0x408784
40877a:	b8 08 00 02 80       	mov    $0x80020008,%eax
40877f:	e9 63 05 00 00       	jmp    0x408ce7
408784:	8b 4f 08             	mov    0x8(%edi),%ecx
408787:	83 f9 05             	cmp    $0x5,%ecx
40878a:	0f 87 9e 00 00 00    	ja     0x40882e
408790:	39 57 0c             	cmp    %edx,0xc(%edi)
408793:	89 55 08             	mov    %edx,0x8(%ebp)
408796:	76 2d                	jbe    0x4087c5
408798:	8b 47 04             	mov    0x4(%edi),%eax
40879b:	89 45 1c             	mov    %eax,0x1c(%ebp)
40879e:	8b 45 1c             	mov    0x1c(%ebp),%eax
4087a1:	8b 00                	mov    (%eax),%eax
4087a3:	3b c1                	cmp    %ecx,%eax
4087a5:	0f 83 83 00 00 00    	jae    0x40882e
4087ab:	8b 37                	mov    (%edi),%esi
4087ad:	83 45 1c 04          	addl   $0x4,0x1c(%ebp)
4087b1:	03 f2                	add    %edx,%esi
4087b3:	ff 45 08             	incl   0x8(%ebp)
4087b6:	89 74 85 bc          	mov    %esi,-0x44(%ebp,%eax,4)
4087ba:	8b 45 08             	mov    0x8(%ebp),%eax
4087bd:	83 c2 10             	add    $0x10,%edx
4087c0:	3b 47 0c             	cmp    0xc(%edi),%eax
4087c3:	72 d9                	jb     0x40879e
4087c5:	39 4d 08             	cmp    %ecx,0x8(%ebp)
4087c8:	73 1f                	jae    0x4087e9
4087ca:	8b 45 08             	mov    0x8(%ebp),%eax
4087cd:	8b d1                	mov    %ecx,%edx
4087cf:	2b 55 08             	sub    0x8(%ebp),%edx
4087d2:	c1 e0 04             	shl    $0x4,%eax
4087d5:	03 07                	add    (%edi),%eax
4087d7:	2b 4d 08             	sub    0x8(%ebp),%ecx
4087da:	8d 54 95 b8          	lea    -0x48(%ebp,%edx,4),%edx
4087de:	89 02                	mov    %eax,(%edx)
4087e0:	83 c0 10             	add    $0x10,%eax
4087e3:	83 ea 04             	sub    $0x4,%edx
4087e6:	49                   	dec    %ecx
4087e7:	75 f5                	jne    0x4087de
4087e9:	83 7d 28 00          	cmpl   $0x0,0x28(%ebp)
4087ed:	be 03 00 02 80       	mov    $0x80020003,%esi
4087f2:	75 06                	jne    0x4087fa
4087f4:	8d 45 18             	lea    0x18(%ebp),%eax
4087f7:	89 45 28             	mov    %eax,0x28(%ebp)
4087fa:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
4087fe:	75 06                	jne    0x408806
408800:	8d 45 d0             	lea    -0x30(%ebp),%eax
408803:	89 45 20             	mov    %eax,0x20(%ebp)
408806:	8d 45 f0             	lea    -0x10(%ebp),%eax
408809:	50                   	push   %eax
40880a:	ff 15 ec 04 4b 00    	call   *0x4b04ec
408810:	8b 45 0c             	mov    0xc(%ebp),%eax
408813:	05 9a 13 00 00       	add    $0x139a,%eax
408818:	83 f8 12             	cmp    $0x12,%eax
40881b:	0f 87 ba 04 00 00    	ja     0x408cdb
408821:	8a 4d 18             	mov    0x18(%ebp),%cl
408824:	6a 02                	push   $0x2
408826:	5a                   	pop    %edx
408827:	ff 24 85 ee 8c 40 00 	jmp    *0x408cee(,%eax,4)
40882e:	b8 0e 00 02 80       	mov    $0x8002000e,%eax
408833:	e9 af 04 00 00       	jmp    0x408ce7
408838:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
40883c:	74 0a                	je     0x408848
40883e:	be 0e 00 02 80       	mov    $0x8002000e,%esi
408843:	e9 93 04 00 00       	jmp    0x408cdb
408848:	8b 75 bc             	mov    -0x44(%ebp),%esi
40884b:	8b 03                	mov    (%ebx),%eax
40884d:	83 ec 10             	sub    $0x10,%esp
408850:	8b fc                	mov    %esp,%edi
408852:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408853:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408854:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408855:	53                   	push   %ebx
408856:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408857:	ff 50 64             	call   *0x64(%eax)
40885a:	8b f0                	mov    %eax,%esi
40885c:	e9 7a 04 00 00       	jmp    0x408cdb
408861:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
408865:	75 d7                	jne    0x40883e
408867:	8b 45 bc             	mov    -0x44(%ebp),%eax
40886a:	66 83 38 03          	cmpw   $0x3,(%eax)
40886e:	8b 3d f0 04 4b 00    	mov    0x4b04f0,%edi
408874:	74 1f                	je     0x408895
408876:	6a 03                	push   $0x3
408878:	6a 00                	push   $0x0
40887a:	50                   	push   %eax
40887b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40887e:	50                   	push   %eax
40887f:	ff d7                	call   *%edi
408881:	8b f0                	mov    %eax,%esi
408883:	85 f6                	test   %esi,%esi
408885:	7d 0b                	jge    0x408892
408887:	8b 45 28             	mov    0x28(%ebp),%eax
40888a:	83 20 00             	andl   $0x0,(%eax)
40888d:	e9 49 04 00 00       	jmp    0x408cdb
408892:	8d 45 f0             	lea    -0x10(%ebp),%eax
408895:	8b 40 08             	mov    0x8(%eax),%eax
408898:	89 45 18             	mov    %eax,0x18(%ebp)
40889b:	8b 45 c0             	mov    -0x40(%ebp),%eax
40889e:	66 83 38 03          	cmpw   $0x3,(%eax)
4088a2:	74 22                	je     0x4088c6
4088a4:	6a 03                	push   $0x3
4088a6:	6a 00                	push   $0x0
4088a8:	50                   	push   %eax
4088a9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088ac:	50                   	push   %eax
4088ad:	ff d7                	call   *%edi
4088af:	8b f0                	mov    %eax,%esi
4088b1:	85 f6                	test   %esi,%esi
4088b3:	7d 0e                	jge    0x4088c3
4088b5:	8b 45 28             	mov    0x28(%ebp),%eax
4088b8:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4088be:	e9 18 04 00 00       	jmp    0x408cdb
4088c3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088c6:	ff 75 20             	push   0x20(%ebp)
4088c9:	8b 40 08             	mov    0x8(%eax),%eax
4088cc:	8b 0b                	mov    (%ebx),%ecx
4088ce:	50                   	push   %eax
4088cf:	ff 75 18             	push   0x18(%ebp)
4088d2:	53                   	push   %ebx
4088d3:	ff 51 60             	call   *0x60(%ecx)
4088d6:	eb 82                	jmp    0x40885a
4088d8:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
4088dc:	0f 85 5c ff ff ff    	jne    0x40883e
4088e2:	8b 45 bc             	mov    -0x44(%ebp),%eax
4088e5:	66 83 38 03          	cmpw   $0x3,(%eax)
4088e9:	74 18                	je     0x408903
4088eb:	6a 03                	push   $0x3
4088ed:	6a 00                	push   $0x0
4088ef:	50                   	push   %eax
4088f0:	8d 45 f0             	lea    -0x10(%ebp),%eax
4088f3:	50                   	push   %eax
4088f4:	ff 15 f0 04 4b 00    	call   *0x4b04f0
4088fa:	8b f0                	mov    %eax,%esi
4088fc:	85 f6                	test   %esi,%esi
4088fe:	7c 87                	jl     0x408887
408900:	8d 45 f0             	lea    -0x10(%ebp),%eax
408903:	ff 75 20             	push   0x20(%ebp)
408906:	8b 75 c0             	mov    -0x40(%ebp),%esi
408909:	8b 40 08             	mov    0x8(%eax),%eax
40890c:	8b 0b                	mov    (%ebx),%ecx
40890e:	83 ec 10             	sub    $0x10,%esp
408911:	8b fc                	mov    %esp,%edi
408913:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408914:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408915:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408916:	50                   	push   %eax
408917:	53                   	push   %ebx
408918:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408919:	ff 51 5c             	call   *0x5c(%ecx)
40891c:	e9 39 ff ff ff       	jmp    0x40885a
408921:	83 7f 08 05          	cmpl   $0x5,0x8(%edi)
408925:	0f 85 13 ff ff ff    	jne    0x40883e
40892b:	33 ff                	xor    %edi,%edi
40892d:	8d 74 bd bc          	lea    -0x44(%ebp,%edi,4),%esi
408931:	8b 06                	mov    (%esi),%eax
408933:	66 8b 08             	mov    (%eax),%cx
408936:	f6 c5 40             	test   $0x40,%ch
408939:	74 34                	je     0x40896f
40893b:	f6 c1 0f             	test   $0xf,%cl
40893e:	74 2f                	je     0x40896f
408940:	f6 c1 0c             	test   $0xc,%cl
408943:	74 1b                	je     0x408960
408945:	ff 70 08             	push   0x8(%eax)
408948:	ff 15 f4 04 4b 00    	call   *0x4b04f4
40894e:	8b 06                	mov    (%esi),%eax
408950:	8b 48 08             	mov    0x8(%eax),%ecx
408953:	66 c7 01 03 00       	movw   $0x3,(%ecx)
408958:	8b 40 08             	mov    0x8(%eax),%eax
40895b:	83 c0 08             	add    $0x8,%eax
40895e:	eb 03                	jmp    0x408963
408960:	8b 40 08             	mov    0x8(%eax),%eax
408963:	89 44 bd e0          	mov    %eax,-0x20(%ebp,%edi,4)
408967:	47                   	inc    %edi
408968:	83 ff 04             	cmp    $0x4,%edi
40896b:	7c c0                	jl     0x40892d
40896d:	eb 05                	jmp    0x408974
40896f:	8b 45 28             	mov    0x28(%ebp),%eax
408972:	89 38                	mov    %edi,(%eax)
408974:	8b 75 cc             	mov    -0x34(%ebp),%esi
408977:	8b 03                	mov    (%ebx),%eax
408979:	83 ec 10             	sub    $0x10,%esp
40897c:	8b fc                	mov    %esp,%edi
40897e:	ff 75 ec             	push   -0x14(%ebp)
408981:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408982:	ff 75 e8             	push   -0x18(%ebp)
408985:	a5                   	movsl  %ds:(%esi),%es:(%edi)
408986:	ff 75 e4             	push   -0x1c(%ebp)
408989:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40898a:	ff 75 e0             	push   -0x20(%ebp)
40898d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40898e:	53                   	push   %ebx
40898f:	ff 50 58             	call   *0x58(%eax)
408992:	e9 c3 fe ff ff       	jmp    0x40885a
408997:	83 7f 08 02          	cmpl   $0x2,0x8(%edi)
40899b:	0f 85 9d fe ff ff    	jne    0x40883e
4089a1:	8b 45 bc             	mov    -0x44(%ebp),%eax
4089a4:	66 83 38 03          	cmpw   $0x3,(%eax)
4089a8:	74 1c                	je     0x4089c6
4089aa:	6a 03                	push   $0x3
4089ac:	6a 00                	push   $0x0