408625:	50                   	push   %eax
408626:	92                   	xchg   %eax,%edx
408627:	56                   	push   %esi
408628:	8b 4f 1c             	mov    0x1c(%edi),%ecx
40862b:	8b 77 18             	mov    0x18(%edi),%esi
40862e:	31 db                	xor    %ebx,%ebx
408630:	e3 1c                	jecxz  0x40864e
408632:	ad                   	lods   %ds:(%esi),%eax
408633:	66 8b 40 3d          	mov    0x3d(%eax),%ax
408637:	66 3b 42 3d          	cmp    0x3d(%edx),%ax
40863b:	7e 0e                	jle    0x40864b
40863d:	5e                   	pop    %esi
40863e:	89 d1                	mov    %edx,%ecx
408640:	89 da                	mov    %ebx,%edx
408642:	89 f8                	mov    %edi,%eax
408644:	e8 57 cc ff ff       	call   0x4052a0
408649:	eb 0b                	jmp    0x408656
40864b:	43                   	inc    %ebx
40864c:	e2 e4                	loop   0x408632
40864e:	5e                   	pop    %esi
40864f:	89 f8                	mov    %edi,%eax
408651:	e8 7a cb ff ff       	call   0x4051d0
408656:	45                   	inc    %ebp
408657:	58                   	pop    %eax
408658:	f6 40 27 08          	testb  $0x8,0x27(%eax)
40865c:	75 10                	jne    0x40866e
40865e:	50                   	push   %eax
40865f:	e8 91 ff ff ff       	call   0x4085f5
408664:	5a                   	pop    %edx
408665:	74 07                	je     0x40866e
408667:	89 f8                	mov    %edi,%eax
408669:	e8 fe cb ff ff       	call   0x40526c
40866e:	59                   	pop    %ecx
40866f:	e2 94                	loop   0x408605
408671:	5b                   	pop    %ebx
408672:	5e                   	pop    %esi
408673:	85 ed                	test   %ebp,%ebp
408675:	5d                   	pop    %ebp
408676:	c3                   	ret
408677:	90                   	nop
408678:	60                   	pusha
408679:	50                   	push   %eax
40867a:	89 c3                	mov    %eax,%ebx
40867c:	89 d5                	mov    %edx,%ebp
40867e:	e8 61 ff ff ff       	call   0x4085e4
408683:	97                   	xchg   %eax,%edi
408684:	8b 8b f2 00 00 00    	mov    0xf2(%ebx),%ecx
40868a:	31 db                	xor    %ebx,%ebx
40868c:	e3 04                	jecxz  0x408692
40868e:	66 8b 59 3d          	mov    0x3d(%ecx),%bx
408692:	8b 4f 1c             	mov    0x1c(%edi),%ecx
408695:	8b 77 18             	mov    0x18(%edi),%esi
408698:	31 d2                	xor    %edx,%edx
40869a:	52                   	push   %edx
40869b:	52                   	push   %edx
40869c:	85 c9                	test   %ecx,%ecx
40869e:	74 6c                	je     0x40870c
4086a0:	51                   	push   %ecx
4086a1:	ad                   	lods   %ds:(%esi),%eax
4086a2:	66 39 58 3d          	cmp    %bx,0x3d(%eax)
4086a6:	74 60                	je     0x408708
4086a8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4086ac:	e3 28                	jecxz  0x4086d6
4086ae:	66 8b 49 3d          	mov    0x3d(%ecx),%cx
4086b2:	85 ed                	test   %ebp,%ebp
4086b4:	7d 12                	jge    0x4086c8
4086b6:	66 39 58 3d          	cmp    %bx,0x3d(%eax)
4086ba:	7d 2c                	jge    0x4086e8
4086bc:	66 39 48 3d          	cmp    %cx,0x3d(%eax)
4086c0:	7e 26                	jle    0x4086e8
4086c2:	89 44 24 08          	mov    %eax,0x8(%esp)
4086c6:	eb 20                	jmp    0x4086e8
4086c8:	66 39 58 3d          	cmp    %bx,0x3d(%eax)
4086cc:	7e 1a                	jle    0x4086e8
4086ce:	66 39 48 3d          	cmp    %cx,0x3d(%eax)
4086d2:	7c ee                	jl     0x4086c2
4086d4:	eb 12                	jmp    0x4086e8
4086d6:	85 ed                	test   %ebp,%ebp
4086d8:	7c 08                	jl     0x4086e2
4086da:	66 39 58 3d          	cmp    %bx,0x3d(%eax)
4086de:	7f e2                	jg     0x4086c2
4086e0:	eb 06                	jmp    0x4086e8
4086e2:	66 39 58 3d          	cmp    %bx,0x3d(%eax)
4086e6:	7c da                	jl     0x4086c2
4086e8:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4086ec:	e3 16                	jecxz  0x408704
4086ee:	66 8b 49 3d          	mov    0x3d(%ecx),%cx
4086f2:	85 ed                	test   %ebp,%ebp
4086f4:	7c 08                	jl     0x4086fe
4086f6:	66 39 48 3d          	cmp    %cx,0x3d(%eax)
4086fa:	7d 0c                	jge    0x408708
4086fc:	eb 06                	jmp    0x408704
4086fe:	66 39 48 3d          	cmp    %cx,0x3d(%eax)
408702:	7e 04                	jle    0x408708
408704:	89 44 24 04          	mov    %eax,0x4(%esp)
408708:	59                   	pop    %ecx
408709:	49                   	dec    %ecx
40870a:	75 94                	jne    0x4086a0
40870c:	5a                   	pop    %edx
40870d:	59                   	pop    %ecx
40870e:	41                   	inc    %ecx
40870f:	e2 02                	loop   0x408713
408711:	89 d1                	mov    %edx,%ecx
408713:	5b                   	pop    %ebx
408714:	e3 21                	jecxz  0x408737
408716:	91                   	xchg   %eax,%ecx
408717:	8b 48 1c             	mov    0x1c(%eax),%ecx
40871a:	e3 15                	jecxz  0x408731
40871c:	fe 80 2a 01 00 00    	incb   0x12a(%eax)
408722:	50                   	push   %eax
408723:	b2 01                	mov    $0x1,%dl
408725:	e8 6e 4c 00 00       	call   0x40d398
40872a:	58                   	pop    %eax
40872b:	fe 88 2a 01 00 00    	decb   0x12a(%eax)
408731:	89 83 f2 00 00 00    	mov    %eax,0xf2(%ebx)
408737:	97                   	xchg   %eax,%edi
408738:	e8 d3 1a 00 00       	call   0x40a210
40873d:	61                   	popa
40873e:	c3                   	ret
40873f:	90                   	nop
408740:	51                   	push   %ecx
408741:	88 90 b0 00 00 00    	mov    %dl,0xb0(%eax)
408747:	89 04 24             	mov    %eax,(%esp)
40874a:	8b 04 24             	mov    (%esp),%eax
40874d:	5a                   	pop    %edx
40874e:	c3                   	ret
40874f:	90                   	nop
408750:	8b 15 44 4c 40 00    	mov    0x404c44,%edx
408756:	33 c0                	xor    %eax,%eax
408758:	e8 a3 1a 00 00       	call   0x40a200
40875d:	c3                   	ret
40875e:	8b c0                	mov    %eax,%eax
408760:	53                   	push   %ebx
408761:	8b d8                	mov    %eax,%ebx
408763:	8b c3                	mov    %ebx,%eax
408765:	e8 fa c9 ff ff       	call   0x405164
40876a:	a0 d0 60 42 00       	mov    0x4260d0,%al
40876f:	88 43 2e             	mov    %al,0x2e(%ebx)
408772:	5b                   	pop    %ebx
408773:	c3                   	ret
408774:	8b 40 18             	mov    0x18(%eax),%eax
408777:	8b 40 18             	mov    0x18(%eax),%eax
40877a:	8b 04 90             	mov    (%eax,%edx,4),%eax
40877d:	c3                   	ret
40877e:	8b c0                	mov    %eax,%eax
408780:	56                   	push   %esi
408781:	57                   	push   %edi
408782:	8b 48 1c             	mov    0x1c(%eax),%ecx
408785:	8b 40 18             	mov    0x18(%eax),%eax
408788:	51                   	push   %ecx
408789:	e3 03                	jecxz  0x40878e
40878b:	8b 70 18             	mov    0x18(%eax),%esi
40878e:	56                   	push   %esi
40878f:	92                   	xchg   %eax,%edx
408790:	31 d2                	xor    %edx,%edx
408792:	e3 16                	jecxz  0x4087aa
408794:	50                   	push   %eax
408795:	51                   	push   %ecx
408796:	52                   	push   %edx
408797:	ad                   	lods   %ds:(%esi),%eax
408798:	e8 df d1 ff ff       	call   0x40597c
40879d:	5a                   	pop    %edx
40879e:	8d 54 10 02          	lea    0x2(%eax,%edx,1),%edx
4087a2:	59                   	pop    %ecx
4087a3:	e2 f0                	loop   0x408795
4087a5:	58                   	pop    %eax
4087a6:	5e                   	pop    %esi
4087a7:	87 ca                	xchg   %ecx,%edx
4087a9:	50                   	push   %eax
4087aa:	e8 d5 af ff ff       	call   0x403784
4087af:	5f                   	pop    %edi
4087b0:	59                   	pop    %ecx
4087b1:	e3 1b                	jecxz  0x4087ce
4087b3:	8b 3f                	mov    (%edi),%edi
4087b5:	51                   	push   %ecx
4087b6:	ad                   	lods   %ds:(%esi),%eax
4087b7:	50                   	push   %eax
4087b8:	e8 bf d1 ff ff       	call   0x40597c
4087bd:	91                   	xchg   %eax,%ecx
4087be:	58                   	pop    %eax
4087bf:	96                   	xchg   %eax,%esi
4087c0:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
4087c2:	96                   	xchg   %eax,%esi
4087c3:	66 b8 0d 0a          	mov    $0xa0d,%ax
4087c7:	66 ab                	stos   %ax,%es:(%edi)
4087c9:	59                   	pop    %ecx
4087ca:	e2 e9                	loop   0x4087b5
4087cc:	91                   	xchg   %eax,%ecx
4087cd:	aa                   	stos   %al,%es:(%edi)
4087ce:	5f                   	pop    %edi
4087cf:	5e                   	pop    %esi
4087d0:	c3                   	ret
4087d1:	8d 40 00             	lea    0x0(%eax),%eax
4087d4:	57                   	push   %edi
4087d5:	56                   	push   %esi
4087d6:	53                   	push   %ebx
4087d7:	83 cf ff             	or     $0xffffffff,%edi
4087da:	8b 48 1c             	mov    0x1c(%eax),%ecx
4087dd:	e3 24                	jecxz  0x408803
4087df:	8b 70 18             	mov    0x18(%eax),%esi
4087e2:	8b 76 18             	mov    0x18(%esi),%esi
4087e5:	e8 4e c8 ff ff       	call   0x405038
4087ea:	0f b6 1a             	movzbl (%edx),%ebx
4087ed:	ad                   	lods   %ds:(%esi),%eax
4087ee:	47                   	inc    %edi
4087ef:	3a 18                	cmp    (%eax),%bl
4087f1:	75 0b                	jne    0x4087fe
4087f3:	52                   	push   %edx
4087f4:	51                   	push   %ecx
4087f5:	e8 3a d1 ff ff       	call   0x405934
4087fa:	59                   	pop    %ecx
4087fb:	5a                   	pop    %edx
4087fc:	74 05                	je     0x408803
4087fe:	e2 ed                	loop   0x4087ed
408800:	83 cf ff             	or     $0xffffffff,%edi
408803:	97                   	xchg   %eax,%edi
408804:	5b                   	pop    %ebx
408805:	5e                   	pop    %esi
408806:	5f                   	pop    %edi
408807:	c3                   	ret
408808:	ff 25 a0 b4 42 00    	jmp    *0x42b4a0
40880e:	8b c0                	mov    %eax,%eax
408810:	ff 25 9c b4 42 00    	jmp    *0x42b49c
408816:	8b c0                	mov    %eax,%eax
408818:	ff 25 98 b4 42 00    	jmp    *0x42b498
40881e:	8b c0                	mov    %eax,%eax
408820:	55                   	push   %ebp
408821:	8b ec                	mov    %esp,%ebp
408823:	51                   	push   %ecx
408824:	53                   	push   %ebx
408825:	56                   	push   %esi
408826:	57                   	push   %edi
408827:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40882a:	8b fa                	mov    %edx,%edi
40882c:	8b d8                	mov    %eax,%ebx
40882e:	8b 73 1c             	mov    0x1c(%ebx),%esi
408831:	85 f6                	test   %esi,%esi
408833:	74 1b                	je     0x408850
408835:	8b c3                	mov    %ebx,%eax
408837:	e8 1c 00 00 00       	call   0x408858
40883c:	50                   	push   %eax
40883d:	8b 45 08             	mov    0x8(%ebp),%eax
408840:	50                   	push   %eax
408841:	8b 45 0c             	mov    0xc(%ebp),%eax
408844:	50                   	push   %eax
408845:	8b 45 fc             	mov    -0x4(%ebp),%eax
408848:	50                   	push   %eax
408849:	57                   	push   %edi
40884a:	56                   	push   %esi
40884b:	e8 c8 ff ff ff       	call   0x408818
408850:	5f                   	pop    %edi
408851:	5e                   	pop    %esi
408852:	5b                   	pop    %ebx
408853:	59                   	pop    %ecx
408854:	5d                   	pop    %ebp
408855:	c2 08 00             	ret    $0x8
408858:	33 d2                	xor    %edx,%edx
40885a:	f6 40 36 01          	testb  $0x1,0x36(%eax)
40885e:	74 03                	je     0x408863
408860:	83 ca 02             	or     $0x2,%edx
408863:	f6 40 36 02          	testb  $0x2,0x36(%eax)
408867:	74 03                	je     0x40886c
408869:	83 ca 04             	or     $0x4,%edx
40886c:	f6 40 36 08          	testb  $0x8,0x36(%eax)
408870:	74 05                	je     0x408877
408872:	83 ca 01             	or     $0x1,%edx
408875:	eb 09                	jmp    0x408880
408877:	f6 40 36 04          	testb  $0x4,0x36(%eax)
40887b:	74 03                	je     0x408880
40887d:	83 ca 10             	or     $0x10,%edx
408880:	66 8b 40 18          	mov    0x18(%eax),%ax
408884:	c1 e0 08             	shl    $0x8,%eax
408887:	0f b7 c0             	movzwl %ax,%eax
40888a:	0b d0                	or     %eax,%edx
40888c:	8b c2                	mov    %edx,%eax
40888e:	c3                   	ret
40888f:	90                   	nop
408890:	53                   	push   %ebx
408891:	56                   	push   %esi
408892:	57                   	push   %edi
408893:	55                   	push   %ebp
408894:	8b d8                	mov    %eax,%ebx
408896:	b0 01                	mov    $0x1,%al
408898:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
40889c:	75 50                	jne    0x4088ee
40889e:	33 c0                	xor    %eax,%eax
4088a0:	8b 7b 2e             	mov    0x2e(%ebx),%edi
4088a3:	85 ff                	test   %edi,%edi
4088a5:	74 47                	je     0x4088ee
4088a7:	8b 6b 32             	mov    0x32(%ebx),%ebp
4088aa:	85 ed                	test   %ebp,%ebp
4088ac:	74 40                	je     0x4088ee
4088ae:	33 c0                	xor    %eax,%eax
4088b0:	8a 43 2c             	mov    0x2c(%ebx),%al
4088b3:	0f b6 b0 dc 63 42 00 	movzbl 0x4263dc(%eax),%esi
4088ba:	80 7b 2d 00          	cmpb   $0x0,0x2d(%ebx)
4088be:	74 03                	je     0x4088c3
4088c0:	83 ce 01             	or     $0x1,%esi
4088c3:	8b 43 3f             	mov    0x3f(%ebx),%eax
4088c6:	50                   	push   %eax
4088c7:	6a 00                	push   $0x0
4088c9:	56                   	push   %esi
4088ca:	55                   	push   %ebp
4088cb:	57                   	push   %edi
4088cc:	e8 37 ff ff ff       	call   0x408808
4088d1:	89 43 1c             	mov    %eax,0x1c(%ebx)
4088d4:	8b 43 3b             	mov    0x3b(%ebx),%eax
4088d7:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
4088dc:	74 09                	je     0x4088e7
4088de:	8b d0                	mov    %eax,%edx
4088e0:	8b c3                	mov    %ebx,%eax
4088e2:	e8 0d 00 00 00       	call   0x4088f4
4088e7:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
4088eb:	0f 95 c0             	setne  %al
4088ee:	5d                   	pop    %ebp
4088ef:	5f                   	pop    %edi
4088f0:	5e                   	pop    %esi
4088f1:	5b                   	pop    %ebx
4088f2:	c3                   	ret
4088f3:	90                   	nop
4088f4:	53                   	push   %ebx
4088f5:	56                   	push   %esi
4088f6:	57                   	push   %edi
4088f7:	8b f2                	mov    %edx,%esi
4088f9:	8b d8                	mov    %eax,%ebx
4088fb:	89 73 3b             	mov    %esi,0x3b(%ebx)
4088fe:	8b 7b 1c             	mov    0x1c(%ebx),%edi
408901:	85 ff                	test   %edi,%edi
408903:	74 0e                	je     0x408913
408905:	8b c6                	mov    %esi,%eax
408907:	e8 58 1b 00 00       	call   0x40a464
40890c:	50                   	push   %eax
40890d:	57                   	push   %edi
40890e:	e8 fd fe ff ff       	call   0x408810
408913:	5f                   	pop    %edi
408914:	5e                   	pop    %esi
408915:	5b                   	pop    %ebx
408916:	c3                   	ret
408917:	90                   	nop
408918:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40891c:	75 03                	jne    0x408921
40891e:	89 50 32             	mov    %edx,0x32(%eax)
408921:	c3                   	ret
408922:	8b c0                	mov    %eax,%eax
408924:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
408928:	75 03                	jne    0x40892d
40892a:	89 50 2e             	mov    %edx,0x2e(%eax)
40892d:	c3                   	ret
40892e:	8b c0                	mov    %eax,%eax
408930:	53                   	push   %ebx