4205b8:	8b 73 14             	mov    0x14(%ebx),%esi
4205bb:	85 f6                	test   %esi,%esi
4205bd:	74 0f                	je     0x4205ce
4205bf:	56                   	push   %esi
4205c0:	e8 b7 62 fe ff       	call   0x40687c
4205c5:	85 c0                	test   %eax,%eax
4205c7:	75 05                	jne    0x4205ce
4205c9:	e8 86 d6 ff ff       	call   0x41dc54
4205ce:	33 c0                	xor    %eax,%eax
4205d0:	89 43 14             	mov    %eax,0x14(%ebx)
4205d3:	33 c0                	xor    %eax,%eax
4205d5:	89 43 2c             	mov    %eax,0x2c(%ebx)
4205d8:	5e                   	pop    %esi
4205d9:	5b                   	pop    %ebx
4205da:	c3                   	ret
4205db:	90                   	nop
4205dc:	8b 40 28             	mov    0x28(%eax),%eax
4205df:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4205e3:	75 0c                	jne    0x4205f1
4205e5:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4205e9:	75 06                	jne    0x4205f1
4205eb:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
4205ef:	74 03                	je     0x4205f4
4205f1:	33 c0                	xor    %eax,%eax
4205f3:	c3                   	ret
4205f4:	b0 01                	mov    $0x1,%al
4205f6:	c3                   	ret
4205f7:	90                   	nop
4205f8:	53                   	push   %ebx
4205f9:	56                   	push   %esi
4205fa:	8b d8                	mov    %eax,%ebx
4205fc:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
420600:	75 35                	jne    0x420637
420602:	8b c3                	mov    %ebx,%eax
420604:	e8 af 01 00 00       	call   0x4207b8
420609:	83 7b 2c 00          	cmpl   $0x0,0x2c(%ebx)
42060d:	75 28                	jne    0x420637
42060f:	8b cb                	mov    %ebx,%ecx
420611:	b2 01                	mov    $0x1,%dl
420613:	a1 c8 f1 41 00       	mov    0x41f1c8,%eax
420618:	e8 6f ed ff ff       	call   0x41f38c
42061d:	8b f0                	mov    %eax,%esi
42061f:	89 73 2c             	mov    %esi,0x2c(%ebx)
420622:	89 5e 2c             	mov    %ebx,0x2c(%esi)
420625:	8b 03                	mov    (%ebx),%eax
420627:	8b 40 10             	mov    0x10(%eax),%eax
42062a:	89 46 28             	mov    %eax,0x28(%esi)
42062d:	89 5e 34             	mov    %ebx,0x34(%esi)
420630:	c7 46 30 84 02 42 00 	movl   $0x420284,0x30(%esi)
420637:	8b 43 2c             	mov    0x2c(%ebx),%eax
42063a:	5e                   	pop    %esi
42063b:	5b                   	pop    %ebx
42063c:	c3                   	ret
42063d:	8d 40 00             	lea    0x0(%eax),%eax
420640:	53                   	push   %ebx
420641:	8b d8                	mov    %eax,%ebx
420643:	8b c3                	mov    %ebx,%eax
420645:	e8 5e 01 00 00       	call   0x4207a8
42064a:	8b c3                	mov    %ebx,%eax
42064c:	e8 67 01 00 00       	call   0x4207b8
420651:	8b d3                	mov    %ebx,%edx
420653:	8b c3                	mov    %ebx,%eax
420655:	e8 2a fc ff ff       	call   0x420284
42065a:	8b 43 28             	mov    0x28(%ebx),%eax
42065d:	8b 40 08             	mov    0x8(%eax),%eax
420660:	5b                   	pop    %ebx
420661:	c3                   	ret
420662:	8b c0                	mov    %eax,%eax
420664:	8b 40 28             	mov    0x28(%eax),%eax
420667:	8b 50 08             	mov    0x8(%eax),%edx
42066a:	85 d2                	test   %edx,%edx
42066c:	74 05                	je     0x420673
42066e:	3b 50 14             	cmp    0x14(%eax),%edx
420671:	75 17                	jne    0x42068a
420673:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
420677:	75 0e                	jne    0x420687
420679:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
42067d:	75 04                	jne    0x420683
42067f:	b0 01                	mov    $0x1,%al
420681:	eb 09                	jmp    0x42068c
420683:	33 c0                	xor    %eax,%eax
420685:	eb 05                	jmp    0x42068c
420687:	33 c0                	xor    %eax,%eax
420689:	c3                   	ret
42068a:	b0 01                	mov    $0x1,%al
42068c:	c3                   	ret
42068d:	8d 40 00             	lea    0x0(%eax),%eax
420690:	8b c8                	mov    %eax,%ecx
420692:	8b 41 28             	mov    0x28(%ecx),%eax
420695:	8b 40 20             	mov    0x20(%eax),%eax
420698:	99                   	cltd
420699:	33 c2                	xor    %edx,%eax
42069b:	2b c2                	sub    %edx,%eax
42069d:	c3                   	ret
42069e:	8b c0                	mov    %eax,%eax
4206a0:	53                   	push   %ebx
4206a1:	8b d8                	mov    %eax,%ebx
4206a3:	8b c3                	mov    %ebx,%eax
4206a5:	e8 ae 01 00 00       	call   0x420858
4206aa:	8b 43 28             	mov    0x28(%ebx),%eax
4206ad:	8b 40 0c             	mov    0xc(%eax),%eax
4206b0:	5b                   	pop    %ebx
4206b1:	c3                   	ret
4206b2:	8b c0                	mov    %eax,%eax
4206b4:	8b 40 28             	mov    0x28(%eax),%eax
4206b7:	83 c0 18             	add    $0x18,%eax
4206ba:	66 83 78 10 01       	cmpw   $0x1,0x10(%eax)
4206bf:	75 07                	jne    0x4206c8
4206c1:	66 83 78 12 01       	cmpw   $0x1,0x12(%eax)
4206c6:	74 03                	je     0x4206cb
4206c8:	33 c0                	xor    %eax,%eax
4206ca:	c3                   	ret
4206cb:	b0 01                	mov    $0x1,%al
4206cd:	c3                   	ret
4206ce:	8b c0                	mov    %eax,%eax
4206d0:	53                   	push   %ebx
4206d1:	8b d8                	mov    %eax,%ebx
4206d3:	8b c3                	mov    %ebx,%eax
4206d5:	e8 de 01 00 00       	call   0x4208b8
4206da:	8b 43 28             	mov    0x28(%ebx),%eax
4206dd:	8b 40 10             	mov    0x10(%eax),%eax
4206e0:	5b                   	pop    %ebx
4206e1:	c3                   	ret
4206e2:	8b c0                	mov    %eax,%eax
4206e4:	53                   	push   %ebx
4206e5:	8b d8                	mov    %eax,%ebx
4206e7:	8b 43 34             	mov    0x34(%ebx),%eax
4206ea:	3d 00 00 00 20       	cmp    $0x20000000,%eax
4206ef:	75 2c                	jne    0x42071d
4206f1:	8b c3                	mov    %ebx,%eax
4206f3:	e8 bc ff ff ff       	call   0x4206b4
4206f8:	84 c0                	test   %al,%al
4206fa:	74 07                	je     0x420703
4206fc:	b8 ff ff ff 00       	mov    $0xffffff,%eax
420701:	eb 1f                	jmp    0x420722
420703:	8b c3                	mov    %ebx,%eax
420705:	8b 10                	mov    (%eax),%edx
420707:	ff 52 20             	call   *0x20(%edx)
42070a:	48                   	dec    %eax
42070b:	50                   	push   %eax
42070c:	8b c3                	mov    %ebx,%eax
42070e:	e8 e5 fe ff ff       	call   0x4205f8
420713:	33 d2                	xor    %edx,%edx
420715:	59                   	pop    %ecx
420716:	e8 81 d1 ff ff       	call   0x41d89c
42071b:	eb 05                	jmp    0x420722
42071d:	e8 d6 be ff ff       	call   0x41c5f8
420722:	0d 00 00 00 02       	or     $0x2000000,%eax
420727:	5b                   	pop    %ebx
420728:	c3                   	ret
420729:	8d 40 00             	lea    0x0(%eax),%eax
42072c:	8b 40 28             	mov    0x28(%eax),%eax
42072f:	8b 40 1c             	mov    0x1c(%eax),%eax
420732:	c3                   	ret
420733:	90                   	nop
420734:	53                   	push   %ebx
420735:	56                   	push   %esi
420736:	8b 58 28             	mov    0x28(%eax),%ebx
420739:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
42073d:	74 65                	je     0x4207a4
42073f:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
420743:	75 5f                	jne    0x4207a4
420745:	e8 6e 01 00 00       	call   0x4208b8
42074a:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
42074e:	75 3c                	jne    0x42078c
420750:	8d 43 18             	lea    0x18(%ebx),%eax
420753:	50                   	push   %eax
420754:	6a 54                	push   $0x54
420756:	8b 43 08             	mov    0x8(%ebx),%eax
420759:	50                   	push   %eax
42075a:	e8 75 61 fe ff       	call   0x4068d4
42075f:	8d 43 18             	lea    0x18(%ebx),%eax
420762:	8b d0                	mov    %eax,%edx
420764:	83 c0 18             	add    $0x18,%eax
420767:	c7 00 28 00 00 00    	movl   $0x28,(%eax)
42076d:	8b 4a 04             	mov    0x4(%edx),%ecx
420770:	89 48 04             	mov    %ecx,0x4(%eax)
420773:	8b 4a 08             	mov    0x8(%edx),%ecx
420776:	89 48 08             	mov    %ecx,0x8(%eax)
420779:	66 c7 40 0c 01 00    	movw   $0x1,0xc(%eax)
42077f:	66 8b 4a 10          	mov    0x10(%edx),%cx
420783:	66 0f af 4a 12       	imul   0x12(%edx),%cx
420788:	66 89 48 0e          	mov    %cx,0xe(%eax)
42078c:	8d 43 18             	lea    0x18(%ebx),%eax
42078f:	50                   	push   %eax
420790:	6a 00                	push   $0x0
420792:	8b 73 10             	mov    0x10(%ebx),%esi
420795:	8b ce                	mov    %esi,%ecx
420797:	8b d6                	mov    %esi,%edx
420799:	8b 43 08             	mov    0x8(%ebx),%eax
42079c:	e8 b3 ef ff ff       	call   0x41f754
4207a1:	89 43 14             	mov    %eax,0x14(%ebx)
4207a4:	5e                   	pop    %esi
4207a5:	5b                   	pop    %ebx
4207a6:	c3                   	ret
4207a7:	90                   	nop
4207a8:	8b 50 2c             	mov    0x2c(%eax),%edx
4207ab:	85 d2                	test   %edx,%edx
4207ad:	74 07                	je     0x4207b6
4207af:	8b c2                	mov    %edx,%eax
4207b1:	e8 3e ec ff ff       	call   0x41f3f4
4207b6:	c3                   	ret
4207b7:	90                   	nop
4207b8:	55                   	push   %ebp
4207b9:	8b ec                	mov    %esp,%ebp
4207bb:	83 c4 f0             	add    $0xfffffff0,%esp
4207be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4207c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4207c4:	8b 40 28             	mov    0x28(%eax),%eax
4207c7:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4207cb:	75 75                	jne    0x420842
4207cd:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
4207d1:	75 6f                	jne    0x420842
4207d3:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
4207d7:	74 69                	je     0x420842
4207d9:	6a 00                	push   $0x0
4207db:	6a 00                	push   $0x0
4207dd:	8b 40 6c             	mov    0x6c(%eax),%eax
4207e0:	e8 e3 54 ff ff       	call   0x415cc8
4207e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4207e8:	8b 50 10             	mov    0x10(%eax),%edx
4207eb:	89 55 f0             	mov    %edx,-0x10(%ebp)
4207ee:	8b 50 14             	mov    0x14(%eax),%edx
4207f1:	89 55 f4             	mov    %edx,-0xc(%ebp)
4207f4:	33 c0                	xor    %eax,%eax
4207f6:	55                   	push   %ebp
4207f7:	68 3b 08 42 00       	push   $0x42083b
4207fc:	64 ff 30             	push   %fs:(%eax)
4207ff:	64 89 20             	mov    %esp,%fs:(%eax)
420802:	8b 45 fc             	mov    -0x4(%ebp),%eax
420805:	33 d2                	xor    %edx,%edx
420807:	89 50 10             	mov    %edx,0x10(%eax)
42080a:	89 50 14             	mov    %edx,0x14(%eax)
42080d:	8b 45 fc             	mov    -0x4(%ebp),%eax
420810:	8b 40 28             	mov    0x28(%eax),%eax
420813:	8b 50 6c             	mov    0x6c(%eax),%edx
420816:	8b 45 fc             	mov    -0x4(%ebp),%eax
420819:	8b 08                	mov    (%eax),%ecx
42081b:	ff 51 54             	call   *0x54(%ecx)
42081e:	33 c0                	xor    %eax,%eax
420820:	5a                   	pop    %edx
420821:	59                   	pop    %ecx
420822:	59                   	pop    %ecx
420823:	64 89 10             	mov    %edx,%fs:(%eax)
420826:	68 42 08 42 00       	push   $0x420842
42082b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42082e:	8b 55 f0             	mov    -0x10(%ebp),%edx
420831:	89 50 10             	mov    %edx,0x10(%eax)
420834:	8b 55 f4             	mov    -0xc(%ebp),%edx
420837:	89 50 14             	mov    %edx,0x14(%eax)
42083a:	c3                   	ret
42083b:	e9 0c 37 fe ff       	jmp    0x403f4c
420840:	eb e9                	jmp    0x42082b
420842:	8b 45 fc             	mov    -0x4(%ebp),%eax
420845:	8b 40 28             	mov    0x28(%eax),%eax
420848:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
42084c:	75 06                	jne    0x420854
42084e:	8b 50 14             	mov    0x14(%eax),%edx
420851:	89 50 08             	mov    %edx,0x8(%eax)
420854:	8b e5                	mov    %ebp,%esp
420856:	5d                   	pop    %ebp
420857:	c3                   	ret
420858:	53                   	push   %ebx
420859:	56                   	push   %esi
42085a:	8b d8                	mov    %eax,%ebx
42085c:	80 7b 32 00          	cmpb   $0x0,0x32(%ebx)
420860:	74 06                	je     0x420868
420862:	80 7b 31 00          	cmpb   $0x0,0x31(%ebx)
420866:	75 4d                	jne    0x4208b5
420868:	8b 73 28             	mov    0x28(%ebx),%esi
42086b:	8b 46 0c             	mov    0xc(%esi),%eax
42086e:	85 c0                	test   %eax,%eax
420870:	74 13                	je     0x420885
420872:	e8 99 ea ff ff       	call   0x41f310
420877:	8b 46 0c             	mov    0xc(%esi),%eax
42087a:	50                   	push   %eax
42087b:	e8 fc 5f fe ff       	call   0x40687c
420880:	33 c0                	xor    %eax,%eax
420882:	89 46 0c             	mov    %eax,0xc(%esi)
420885:	8b c3                	mov    %ebx,%eax
420887:	e8 1c ff ff ff       	call   0x4207a8
42088c:	8b c3                	mov    %ebx,%eax
42088e:	e8 25 ff ff ff       	call   0x4207b8
420893:	8b 73 28             	mov    0x28(%ebx),%esi
420896:	8b c3                	mov    %ebx,%eax
420898:	e8 47 fe ff ff       	call   0x4206e4
42089d:	8b c8                	mov    %eax,%ecx
42089f:	8b 56 10             	mov    0x10(%esi),%edx
4208a2:	8b 46 08             	mov    0x8(%esi),%eax
4208a5:	e8 72 f5 ff ff       	call   0x41fe1c
4208aa:	89 46 0c             	mov    %eax,0xc(%esi)
4208ad:	c6 43 32 01          	movb   $0x1,0x32(%ebx)
4208b1:	c6 43 31 01          	movb   $0x1,0x31(%ebx)
4208b5:	5e                   	pop    %esi
4208b6:	5b                   	pop    %ebx
4208b7:	c3                   	ret
4208b8:	53                   	push   %ebx
4208b9:	56                   	push   %esi
4208ba:	57                   	push   %edi
4208bb:	55                   	push   %ebp
4208bc:	8b f8                	mov    %eax,%edi
4208be:	8b 6f 28             	mov    0x28(%edi),%ebp
4208c1:	80 7f 30 00          	cmpb   $0x0,0x30(%edi)
4208c5:	0f 85 a0 00 00 00    	jne    0x42096b
4208cb:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4208cf:	0f 85 96 00 00 00    	jne    0x42096b
4208d5:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4208d9:	0f 84 8c 00 00 00    	je     0x42096b
4208df:	8b 45 14             	mov    0x14(%ebp),%eax
4208e2:	3b 45 08             	cmp    0x8(%ebp),%eax
4208e5:	75 05                	jne    0x4208ec
4208e7:	e8 24 ea ff ff       	call   0x41f310
4208ec:	66 8b 4d 3e          	mov    0x3e(%ebp),%cx
4208f0:	b8 01 00 00 00       	mov    $0x1,%eax
4208f5:	d3 e0                	shl    %cl,%eax
4208f7:	8b c8                	mov    %eax,%ecx
4208f9:	33 d2                	xor    %edx,%edx
4208fb:	8b 45 14             	mov    0x14(%ebp),%eax
4208fe:	e8 f5 da ff ff       	call   0x41e3f8
420903:	8b f0                	mov    %eax,%esi
420905:	89 75 10             	mov    %esi,0x10(%ebp)
420908:	85 f6                	test   %esi,%esi
42090a:	75 5f                	jne    0x42096b
42090c:	6a 00                	push   $0x0
42090e:	e8 39 62 fe ff       	call   0x406b4c
420913:	e8 e4 d3 ff ff       	call   0x41dcfc
420918:	8b f0                	mov    %eax,%esi
42091a:	80 7d 71 00          	cmpb   $0x0,0x71(%ebp)
42091e:	75 27                	jne    0x420947
420920:	6a 0c                	push   $0xc
420922:	56                   	push   %esi
420923:	e8 9c 5f fe ff       	call   0x4068c4
420928:	8b d8                	mov    %eax,%ebx
42092a:	6a 0e                	push   $0xe
42092c:	56                   	push   %esi
42092d:	e8 92 5f fe ff       	call   0x4068c4
420932:	0f af d8             	imul   %eax,%ebx
420935:	0f b7 45 2a          	movzwl 0x2a(%ebp),%eax
420939:	0f b7 55 28          	movzwl 0x28(%ebp),%edx
42093d:	f7 ea                	imul   %edx
42093f:	3b d8                	cmp    %eax,%ebx
420941:	7c 04                	jl     0x420947
420943:	33 db                	xor    %ebx,%ebx
420945:	eb 02                	jmp    0x420949
420947:	b3 01                	mov    $0x1,%bl
420949:	88 5d 71             	mov    %bl,0x71(%ebp)
42094c:	84 db                	test   %bl,%bl
42094e:	74 09                	je     0x420959
420950:	56                   	push   %esi
420951:	e8 fe 5e fe ff       	call   0x406854