47279a:	66 83 7d ee 02       	cmpw   $0x2,-0x12(%ebp)
47279f:	75 11                	jne    0x4727b2
4727a1:	8d 55 f4             	lea    -0xc(%ebp),%edx
4727a4:	b9 04 00 00 00       	mov    $0x4,%ecx
4727a9:	8b c3                	mov    %ebx,%eax
4727ab:	e8 c8 be fa ff       	call   0x41e678
4727b0:	eb 0f                	jmp    0x4727c1
4727b2:	8d 55 f4             	lea    -0xc(%ebp),%edx
4727b5:	b9 02 00 00 00       	mov    $0x2,%ecx
4727ba:	8b c3                	mov    %ebx,%eax
4727bc:	e8 b7 be fa ff       	call   0x41e678
4727c1:	8b 7d f4             	mov    -0xc(%ebp),%edi
4727c4:	4f                   	dec    %edi
4727c5:	85 ff                	test   %edi,%edi
4727c7:	0f 8c 40 01 00 00    	jl     0x47290d
4727cd:	47                   	inc    %edi
4727ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4727d1:	e8 02 a2 fa ff       	call   0x41c9d8
4727d6:	8b f0                	mov    %eax,%esi
4727d8:	33 c0                	xor    %eax,%eax
4727da:	89 45 f8             	mov    %eax,-0x8(%ebp)
4727dd:	66 83 7d ee 02       	cmpw   $0x2,-0x12(%ebp)
4727e2:	75 11                	jne    0x4727f5
4727e4:	8d 55 f8             	lea    -0x8(%ebp),%edx
4727e7:	b9 04 00 00 00       	mov    $0x4,%ecx
4727ec:	8b c3                	mov    %ebx,%eax
4727ee:	e8 85 be fa ff       	call   0x41e678
4727f3:	eb 0f                	jmp    0x472804
4727f5:	8d 55 f8             	lea    -0x8(%ebp),%edx
4727f8:	b9 01 00 00 00       	mov    $0x1,%ecx
4727fd:	8b c3                	mov    %ebx,%eax
4727ff:	e8 74 be fa ff       	call   0x41e678
472804:	8d 45 f0             	lea    -0x10(%ebp),%eax
472807:	8b 55 f8             	mov    -0x8(%ebp),%edx
47280a:	e8 a1 1f f9 ff       	call   0x4047b0
47280f:	8b 45 f0             	mov    -0x10(%ebp),%eax
472812:	e8 0d 1e f9 ff       	call   0x404624
472817:	8b d0                	mov    %eax,%edx
472819:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47281c:	8b c3                	mov    %ebx,%eax
47281e:	e8 55 be fa ff       	call   0x41e678
472823:	8d 46 34             	lea    0x34(%esi),%eax
472826:	8b 55 f0             	mov    -0x10(%ebp),%edx
472829:	e8 8a 19 f9 ff       	call   0x4041b8
47282e:	8d 56 3a             	lea    0x3a(%esi),%edx
472831:	b9 01 00 00 00       	mov    $0x1,%ecx
472836:	8b c3                	mov    %ebx,%eax
472838:	e8 3b be fa ff       	call   0x41e678
47283d:	8d 56 38             	lea    0x38(%esi),%edx
472840:	b9 01 00 00 00       	mov    $0x1,%ecx
472845:	8b c3                	mov    %ebx,%eax
472847:	e8 2c be fa ff       	call   0x41e678
47284c:	8b c6                	mov    %esi,%eax
47284e:	e8 c1 02 00 00       	call   0x472b14
472853:	84 c0                	test   %al,%al
472855:	74 72                	je     0x4728c9
472857:	33 c0                	xor    %eax,%eax
472859:	89 45 f8             	mov    %eax,-0x8(%ebp)
47285c:	66 83 7d ee 02       	cmpw   $0x2,-0x12(%ebp)
472861:	75 11                	jne    0x472874
472863:	8d 55 f8             	lea    -0x8(%ebp),%edx
472866:	b9 04 00 00 00       	mov    $0x4,%ecx
47286b:	8b c3                	mov    %ebx,%eax
47286d:	e8 06 be fa ff       	call   0x41e678
472872:	eb 0f                	jmp    0x472883
472874:	8d 55 f8             	lea    -0x8(%ebp),%edx
472877:	b9 02 00 00 00       	mov    $0x2,%ecx
47287c:	8b c3                	mov    %ebx,%eax
47287e:	e8 f5 bd fa ff       	call   0x41e678
472883:	8d 95 ed f7 ff ff    	lea    -0x813(%ebp),%edx
472889:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47288c:	8b c3                	mov    %ebx,%eax
47288e:	e8 e5 bd fa ff       	call   0x41e678
472893:	8b c6                	mov    %esi,%eax
472895:	e8 7a 02 00 00       	call   0x472b14
47289a:	2c 0f                	sub    $0xf,%al
47289c:	74 0c                	je     0x4728aa
47289e:	04 fe                	add    $0xfe,%al
4728a0:	2c 05                	sub    $0x5,%al
4728a2:	72 06                	jb     0x4728aa
4728a4:	04 f8                	add    $0xf8,%al
4728a6:	2c 02                	sub    $0x2,%al
4728a8:	73 12                	jae    0x4728bc
4728aa:	8d 95 ed f7 ff ff    	lea    -0x813(%ebp),%edx
4728b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4728b3:	8b c6                	mov    %esi,%eax
4728b5:	e8 46 08 00 00       	call   0x473100
4728ba:	eb 0d                	jmp    0x4728c9
4728bc:	8d 95 ed f7 ff ff    	lea    -0x813(%ebp),%edx
4728c2:	8b c6                	mov    %esi,%eax
4728c4:	e8 9f 08 00 00       	call   0x473168
4728c9:	8d 55 ed             	lea    -0x13(%ebp),%edx
4728cc:	b9 01 00 00 00       	mov    $0x1,%ecx
4728d1:	8b c3                	mov    %ebx,%eax
4728d3:	e8 a0 bd fa ff       	call   0x41e678
4728d8:	80 7d ed 00          	cmpb   $0x0,-0x13(%ebp)
4728dc:	74 19                	je     0x4728f7
4728de:	8d 85 d8 f7 ff ff    	lea    -0x828(%ebp),%eax
4728e4:	e8 5b 49 fa ff       	call   0x417244
4728e9:	8d 95 d8 f7 ff ff    	lea    -0x828(%ebp),%edx
4728ef:	8d 46 18             	lea    0x18(%esi),%eax
4728f2:	e8 8d d9 f9 ff       	call   0x410284
4728f7:	8d 56 39             	lea    0x39(%esi),%edx
4728fa:	b9 01 00 00 00       	mov    $0x1,%ecx
4728ff:	8b c3                	mov    %ebx,%eax
472901:	e8 72 bd fa ff       	call   0x41e678
472906:	4f                   	dec    %edi
472907:	0f 85 c1 fe ff ff    	jne    0x4727ce
47290d:	33 c0                	xor    %eax,%eax
47290f:	5a                   	pop    %edx
472910:	59                   	pop    %ecx
472911:	59                   	pop    %ecx
472912:	64 89 10             	mov    %edx,%fs:(%eax)
472915:	68 40 29 47 00       	push   $0x472940
47291a:	8d 85 d8 f7 ff ff    	lea    -0x828(%ebp),%eax
472920:	e8 4b d6 f9 ff       	call   0x40ff70
472925:	8d 85 e8 f7 ff ff    	lea    -0x818(%ebp),%eax
47292b:	e8 34 18 f9 ff       	call   0x404164
472930:	8d 45 f0             	lea    -0x10(%ebp),%eax
472933:	e8 2c 18 f9 ff       	call   0x404164
472938:	c3                   	ret
472939:	e9 2a 12 f9 ff       	jmp    0x403b68
47293e:	eb da                	jmp    0x47291a
472940:	5f                   	pop    %edi
472941:	5e                   	pop    %esi
472942:	5b                   	pop    %ebx
472943:	8b e5                	mov    %ebp,%esp
472945:	5d                   	pop    %ebp
472946:	c3                   	ret
472947:	90                   	nop
472948:	55                   	push   %ebp
472949:	8b ec                	mov    %esp,%ebp
47294b:	6a 00                	push   $0x0
47294d:	6a 00                	push   $0x0
47294f:	6a 00                	push   $0x0
472951:	6a 00                	push   $0x0
472953:	53                   	push   %ebx
472954:	56                   	push   %esi
472955:	84 d2                	test   %dl,%dl
472957:	74 08                	je     0x472961
472959:	83 c4 f0             	add    $0xfffffff0,%esp
47295c:	e8 d7 0d f9 ff       	call   0x403738
472961:	8b da                	mov    %edx,%ebx
472963:	8b f0                	mov    %eax,%esi
472965:	33 c0                	xor    %eax,%eax
472967:	55                   	push   %ebp
472968:	68 d6 29 47 00       	push   $0x4729d6
47296d:	64 ff 30             	push   %fs:(%eax)
472970:	64 89 20             	mov    %esp,%fs:(%eax)
472973:	33 d2                	xor    %edx,%edx
472975:	8b c6                	mov    %esi,%eax
472977:	e8 e0 9d fa ff       	call   0x41c75c
47297c:	33 d2                	xor    %edx,%edx
47297e:	8b c6                	mov    %esi,%eax
472980:	e8 7b 01 00 00       	call   0x472b00
472985:	33 d2                	xor    %edx,%edx
472987:	8b c6                	mov    %esi,%eax
472989:	e8 96 01 00 00       	call   0x472b24
47298e:	33 c0                	xor    %eax,%eax
472990:	89 46 3c             	mov    %eax,0x3c(%esi)
472993:	33 c0                	xor    %eax,%eax
472995:	89 46 28             	mov    %eax,0x28(%esi)
472998:	33 c0                	xor    %eax,%eax
47299a:	89 46 2c             	mov    %eax,0x2c(%esi)
47299d:	8d 45 f0             	lea    -0x10(%ebp),%eax
4729a0:	e8 97 48 fa ff       	call   0x41723c
4729a5:	8d 55 f0             	lea    -0x10(%ebp),%edx
4729a8:	8d 46 18             	lea    0x18(%esi),%eax
4729ab:	e8 d4 d8 f9 ff       	call   0x410284
4729b0:	c6 46 39 00          	movb   $0x0,0x39(%esi)
4729b4:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4729b8:	8d 46 10             	lea    0x10(%esi),%eax
4729bb:	e8 a4 17 f9 ff       	call   0x404164
4729c0:	33 c0                	xor    %eax,%eax
4729c2:	5a                   	pop    %edx
4729c3:	59                   	pop    %ecx
4729c4:	59                   	pop    %ecx
4729c5:	64 89 10             	mov    %edx,%fs:(%eax)
4729c8:	68 dd 29 47 00       	push   $0x4729dd
4729cd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4729d0:	e8 9b d5 f9 ff       	call   0x40ff70
4729d5:	c3                   	ret
4729d6:	e9 8d 11 f9 ff       	jmp    0x403b68
4729db:	eb f0                	jmp    0x4729cd
4729dd:	8b c6                	mov    %esi,%eax
4729df:	84 db                	test   %bl,%bl
4729e1:	74 0f                	je     0x4729f2
4729e3:	e8 a8 0d f9 ff       	call   0x403790
4729e8:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4729ef:	83 c4 0c             	add    $0xc,%esp
4729f2:	8b c6                	mov    %esi,%eax
4729f4:	5e                   	pop    %esi
4729f5:	5b                   	pop    %ebx
4729f6:	8b e5                	mov    %ebp,%esp
4729f8:	5d                   	pop    %ebp
4729f9:	c3                   	ret
4729fa:	8b c0                	mov    %eax,%eax
4729fc:	53                   	push   %ebx
4729fd:	56                   	push   %esi
4729fe:	57                   	push   %edi
4729ff:	8b f2                	mov    %edx,%esi
472a01:	8b d8                	mov    %eax,%ebx
472a03:	8d 43 18             	lea    0x18(%ebx),%eax
472a06:	e8 f9 2a fa ff       	call   0x415504
472a0b:	8b f8                	mov    %eax,%edi
472a0d:	8d 46 18             	lea    0x18(%esi),%eax
472a10:	e8 ef 2a fa ff       	call   0x415504
472a15:	66 3b f8             	cmp    %ax,%di
472a18:	75 6a                	jne    0x472a84
472a1a:	8d 43 18             	lea    0x18(%ebx),%eax
472a1d:	e8 f6 2a fa ff       	call   0x415518
472a22:	84 c0                	test   %al,%al
472a24:	75 0d                	jne    0x472a33
472a26:	8d 43 18             	lea    0x18(%ebx),%eax
472a29:	8d 56 18             	lea    0x18(%esi),%edx
472a2c:	e8 1b 48 fa ff       	call   0x41724c
472a31:	75 51                	jne    0x472a84
472a33:	8b 43 34             	mov    0x34(%ebx),%eax
472a36:	8b 56 34             	mov    0x34(%esi),%edx
472a39:	e8 32 1b f9 ff       	call   0x404570
472a3e:	75 44                	jne    0x472a84
472a40:	8b c3                	mov    %ebx,%eax
472a42:	e8 cd 00 00 00       	call   0x472b14
472a47:	50                   	push   %eax
472a48:	8b c6                	mov    %esi,%eax
472a4a:	e8 c5 00 00 00       	call   0x472b14
472a4f:	5a                   	pop    %edx
472a50:	3a d0                	cmp    %al,%dl
472a52:	75 30                	jne    0x472a84
472a54:	8b c3                	mov    %ebx,%eax
472a56:	e8 69 00 00 00       	call   0x472ac4
472a5b:	50                   	push   %eax
472a5c:	8b c6                	mov    %esi,%eax
472a5e:	e8 61 00 00 00       	call   0x472ac4
472a63:	5a                   	pop    %edx
472a64:	3a d0                	cmp    %al,%dl
472a66:	75 1c                	jne    0x472a84
472a68:	8a 43 39             	mov    0x39(%ebx),%al
472a6b:	3a 46 39             	cmp    0x39(%esi),%al
472a6e:	75 14                	jne    0x472a84
472a70:	8b c3                	mov    %ebx,%eax
472a72:	e8 79 00 00 00       	call   0x472af0
472a77:	50                   	push   %eax
472a78:	8b c6                	mov    %esi,%eax
472a7a:	e8 71 00 00 00       	call   0x472af0
472a7f:	5a                   	pop    %edx
472a80:	3a d0                	cmp    %al,%dl
472a82:	74 04                	je     0x472a88
472a84:	33 c0                	xor    %eax,%eax
472a86:	eb 02                	jmp    0x472a8a
472a88:	b0 01                	mov    $0x1,%al
472a8a:	5f                   	pop    %edi
472a8b:	5e                   	pop    %esi
472a8c:	5b                   	pop    %ebx
472a8d:	c3                   	ret
472a8e:	8b c0                	mov    %eax,%eax
472a90:	8a 40 39             	mov    0x39(%eax),%al
472a93:	c3                   	ret
472a94:	53                   	push   %ebx
472a95:	56                   	push   %esi
472a96:	8b d8                	mov    %eax,%ebx
472a98:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
472a9c:	75 1f                	jne    0x472abd
472a9e:	8b 73 04             	mov    0x4(%ebx),%esi
472aa1:	85 f6                	test   %esi,%esi
472aa3:	74 15                	je     0x472aba
472aa5:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
472aa9:	74 0f                	je     0x472aba
472aab:	8b 53 34             	mov    0x34(%ebx),%edx
472aae:	8b c6                	mov    %esi,%eax
472ab0:	e8 63 fb ff ff       	call   0x472618
472ab5:	89 43 0c             	mov    %eax,0xc(%ebx)
472ab8:	eb 03                	jmp    0x472abd
472aba:	89 5b 0c             	mov    %ebx,0xc(%ebx)
472abd:	8b 43 0c             	mov    0xc(%ebx),%eax
472ac0:	5e                   	pop    %esi
472ac1:	5b                   	pop    %ebx
472ac2:	c3                   	ret
472ac3:	90                   	nop
472ac4:	53                   	push   %ebx
472ac5:	8b d8                	mov    %eax,%ebx
472ac7:	80 7b 30 00          	cmpb   $0x0,0x30(%ebx)
472acb:	75 1c                	jne    0x472ae9
472acd:	8d 43 18             	lea    0x18(%ebx),%eax
472ad0:	e8 d7 2a fa ff       	call   0x4155ac
472ad5:	84 c0                	test   %al,%al
472ad7:	75 10                	jne    0x472ae9
472ad9:	8d 43 18             	lea    0x18(%ebx),%eax
472adc:	e8 37 2a fa ff       	call   0x415518
472ae1:	84 c0                	test   %al,%al
472ae3:	75 04                	jne    0x472ae9
472ae5:	33 c0                	xor    %eax,%eax
472ae7:	5b                   	pop    %ebx
472ae8:	c3                   	ret
472ae9:	b0 01                	mov    $0x1,%al
472aeb:	5b                   	pop    %ebx
472aec:	c3                   	ret
472aed:	8d 40 00             	lea    0x0(%eax),%eax
472af0:	53                   	push   %ebx
472af1:	8b d8                	mov    %eax,%ebx
472af3:	8b c3                	mov    %ebx,%eax
472af5:	e8 9a ff ff ff       	call   0x472a94
472afa:	8a 40 3a             	mov    0x3a(%eax),%al
472afd:	5b                   	pop    %ebx
472afe:	c3                   	ret
472aff:	90                   	nop
472b00:	53                   	push   %ebx
472b01:	56                   	push   %esi
472b02:	8b da                	mov    %edx,%ebx
472b04:	8b f0                	mov    %eax,%esi
472b06:	8b c6                	mov    %esi,%eax
472b08:	e8 87 ff ff ff       	call   0x472a94
472b0d:	88 58 3a             	mov    %bl,0x3a(%eax)
472b10:	5e                   	pop    %esi
472b11:	5b                   	pop    %ebx
472b12:	c3                   	ret
472b13:	90                   	nop
472b14:	53                   	push   %ebx
472b15:	8b d8                	mov    %eax,%ebx
472b17:	8b c3                	mov    %ebx,%eax
472b19:	e8 76 ff ff ff       	call   0x472a94
472b1e:	8a 40 38             	mov    0x38(%eax),%al
472b21:	5b                   	pop    %ebx
472b22:	c3                   	ret
472b23:	90                   	nop
472b24:	55                   	push   %ebp
472b25:	8b ec                	mov    %esp,%ebp
472b27:	51                   	push   %ecx
472b28:	53                   	push   %ebx
472b29:	56                   	push   %esi
472b2a:	57                   	push   %edi
472b2b:	8b da                	mov    %edx,%ebx
472b2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
472b30:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b33:	e8 5c ff ff ff       	call   0x472a94
472b38:	88 58 38             	mov    %bl,0x38(%eax)
472b3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b3e:	e8 91 0c 00 00       	call   0x4737d4
472b43:	85 c0                	test   %eax,%eax
472b45:	0f 84 92 00 00 00    	je     0x472bdd
472b4b:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b4e:	e8 81 0c 00 00       	call   0x4737d4
472b53:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
472b57:	0f 84 80 00 00 00    	je     0x472bdd
472b5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
472b60:	e8 2f ff ff ff       	call   0x472a94
472b65:	e8 5a ff ff ff       	call   0x472ac4
472b6a:	84 c0                	test   %al,%al
472b6c:	75 6f                	jne    0x472bdd
472b6e:	33 c0                	xor    %eax,%eax