40db9d:	74 56                	je     0x40dbf5
40db9f:	48                   	dec    %eax
40dba0:	83 e8 01             	sub    $0x1,%eax
40dba3:	75 e3                	jne    0x40db88
40dba5:	53                   	push   %ebx
40dba6:	8b ce                	mov    %esi,%ecx
40dba8:	e8 23 09 00 00       	call   0x40e4d0
40dbad:	eb d1                	jmp    0x40db80
40dbaf:	8b ce                	mov    %esi,%ecx
40dbb1:	e8 71 03 00 00       	call   0x40df27
40dbb6:	eb c8                	jmp    0x40db80
40dbb8:	83 f8 70             	cmp    $0x70,%eax
40dbbb:	7f 4d                	jg     0x40dc0a
40dbbd:	74 3f                	je     0x40dbfe
40dbbf:	83 f8 67             	cmp    $0x67,%eax
40dbc2:	7e 31                	jle    0x40dbf5
40dbc4:	83 f8 69             	cmp    $0x69,%eax
40dbc7:	74 1c                	je     0x40dbe5
40dbc9:	83 f8 6e             	cmp    $0x6e,%eax
40dbcc:	74 0e                	je     0x40dbdc
40dbce:	83 f8 6f             	cmp    $0x6f,%eax
40dbd1:	75 b5                	jne    0x40db88
40dbd3:	8b ce                	mov    %esi,%ecx
40dbd5:	e8 06 0f 00 00       	call   0x40eae0
40dbda:	eb a4                	jmp    0x40db80
40dbdc:	8b ce                	mov    %esi,%ecx
40dbde:	e8 4b 0e 00 00       	call   0x40ea2e
40dbe3:	eb 9b                	jmp    0x40db80
40dbe5:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40dbe9:	53                   	push   %ebx
40dbea:	6a 0a                	push   $0xa
40dbec:	8b ce                	mov    %esi,%ecx
40dbee:	e8 09 0c 00 00       	call   0x40e7fc
40dbf3:	eb 8b                	jmp    0x40db80
40dbf5:	8b ce                	mov    %esi,%ecx
40dbf7:	e8 42 06 00 00       	call   0x40e23e
40dbfc:	eb 82                	jmp    0x40db80
40dbfe:	8b ce                	mov    %esi,%ecx
40dc00:	e8 2a 0f 00 00       	call   0x40eb2f
40dc05:	e9 76 ff ff ff       	jmp    0x40db80
40dc0a:	83 e8 73             	sub    $0x73,%eax
40dc0d:	0f 84 66 ff ff ff    	je     0x40db79
40dc13:	48                   	dec    %eax
40dc14:	83 e8 01             	sub    $0x1,%eax
40dc17:	74 d0                	je     0x40dbe9
40dc19:	83 e8 03             	sub    $0x3,%eax
40dc1c:	0f 85 66 ff ff ff    	jne    0x40db88
40dc22:	53                   	push   %ebx
40dc23:	e9 69 ff ff ff       	jmp    0x40db91
40dc28:	38 5e 30             	cmp    %bl,0x30(%esi)
40dc2b:	0f 85 40 01 00 00    	jne    0x40dd71
40dc31:	8b 56 20             	mov    0x20(%esi),%edx
40dc34:	33 c9                	xor    %ecx,%ecx
40dc36:	57                   	push   %edi
40dc37:	8b c2                	mov    %edx,%eax
40dc39:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40dc3c:	c1 e8 04             	shr    $0x4,%eax
40dc3f:	41                   	inc    %ecx
40dc40:	66 89 5d f8          	mov    %bx,-0x8(%ebp)
40dc44:	6a 20                	push   $0x20
40dc46:	5f                   	pop    %edi
40dc47:	84 c1                	test   %al,%cl
40dc49:	74 28                	je     0x40dc73
40dc4b:	8b c2                	mov    %edx,%eax
40dc4d:	c1 e8 06             	shr    $0x6,%eax
40dc50:	84 c1                	test   %al,%cl
40dc52:	74 09                	je     0x40dc5d
40dc54:	6a 2d                	push   $0x2d
40dc56:	58                   	pop    %eax
40dc57:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
40dc5b:	eb 14                	jmp    0x40dc71
40dc5d:	84 d1                	test   %dl,%cl
40dc5f:	74 04                	je     0x40dc65
40dc61:	6a 2b                	push   $0x2b
40dc63:	eb f1                	jmp    0x40dc56
40dc65:	8b c2                	mov    %edx,%eax
40dc67:	d1 e8                	shr    $1,%eax
40dc69:	84 c1                	test   %al,%cl
40dc6b:	74 06                	je     0x40dc73
40dc6d:	66 89 7d f4          	mov    %di,-0xc(%ebp)
40dc71:	8b d9                	mov    %ecx,%ebx
40dc73:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
40dc77:	83 f9 78             	cmp    $0x78,%ecx
40dc7a:	74 08                	je     0x40dc84
40dc7c:	6a 58                	push   $0x58
40dc7e:	58                   	pop    %eax
40dc7f:	66 3b c8             	cmp    %ax,%cx
40dc82:	75 0d                	jne    0x40dc91
40dc84:	8b c2                	mov    %edx,%eax
40dc86:	c1 e8 05             	shr    $0x5,%eax
40dc89:	a8 01                	test   $0x1,%al
40dc8b:	74 04                	je     0x40dc91
40dc8d:	b4 01                	mov    $0x1,%ah
40dc8f:	eb 02                	jmp    0x40dc93
40dc91:	32 e4                	xor    %ah,%ah
40dc93:	83 f9 61             	cmp    $0x61,%ecx
40dc96:	74 0c                	je     0x40dca4
40dc98:	6a 41                	push   $0x41
40dc9a:	5f                   	pop    %edi
40dc9b:	66 3b cf             	cmp    %di,%cx
40dc9e:	74 04                	je     0x40dca4
40dca0:	32 c0                	xor    %al,%al
40dca2:	eb 02                	jmp    0x40dca6
40dca4:	b0 01                	mov    $0x1,%al
40dca6:	6a 30                	push   $0x30
40dca8:	5f                   	pop    %edi
40dca9:	84 e4                	test   %ah,%ah
40dcab:	75 04                	jne    0x40dcb1
40dcad:	84 c0                	test   %al,%al
40dcaf:	74 30                	je     0x40dce1
40dcb1:	6a 58                	push   $0x58
40dcb3:	58                   	pop    %eax
40dcb4:	66 89 7c 5d f4       	mov    %di,-0xc(%ebp,%ebx,2)
40dcb9:	66 3b c8             	cmp    %ax,%cx
40dcbc:	74 0c                	je     0x40dcca
40dcbe:	6a 41                	push   $0x41
40dcc0:	58                   	pop    %eax
40dcc1:	66 3b c8             	cmp    %ax,%cx
40dcc4:	74 04                	je     0x40dcca
40dcc6:	32 c0                	xor    %al,%al
40dcc8:	eb 02                	jmp    0x40dccc
40dcca:	b0 01                	mov    $0x1,%al
40dccc:	84 c0                	test   %al,%al
40dcce:	0f 94 c0             	sete   %al
40dcd1:	fe c8                	dec    %al
40dcd3:	24 e0                	and    $0xe0,%al
40dcd5:	04 78                	add    $0x78,%al
40dcd7:	66 98                	cbtw
40dcd9:	66 89 44 5d f6       	mov    %ax,-0xa(%ebp,%ebx,2)
40dcde:	83 c3 02             	add    $0x2,%ebx
40dce1:	8b 7e 24             	mov    0x24(%esi),%edi
40dce4:	2b 7e 38             	sub    0x38(%esi),%edi
40dce7:	2b fb                	sub    %ebx,%edi
40dce9:	f6 c2 0c             	test   $0xc,%dl
40dcec:	75 16                	jne    0x40dd04
40dcee:	8d 46 18             	lea    0x18(%esi),%eax
40dcf1:	50                   	push   %eax
40dcf2:	57                   	push   %edi
40dcf3:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40dcf9:	6a 20                	push   $0x20
40dcfb:	50                   	push   %eax
40dcfc:	e8 84 e8 ff ff       	call   0x40c585
40dd01:	83 c4 10             	add    $0x10,%esp
40dd04:	ff 76 0c             	push   0xc(%esi)
40dd07:	8d 46 18             	lea    0x18(%esi),%eax
40dd0a:	50                   	push   %eax
40dd0b:	53                   	push   %ebx
40dd0c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40dd0f:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40dd15:	50                   	push   %eax
40dd16:	e8 c1 13 00 00       	call   0x40f0dc
40dd1b:	8b 4e 20             	mov    0x20(%esi),%ecx
40dd1e:	8d 5e 18             	lea    0x18(%esi),%ebx
40dd21:	8b c1                	mov    %ecx,%eax
40dd23:	c1 e8 03             	shr    $0x3,%eax
40dd26:	a8 01                	test   $0x1,%al
40dd28:	74 1b                	je     0x40dd45
40dd2a:	c1 e9 02             	shr    $0x2,%ecx
40dd2d:	f6 c1 01             	test   $0x1,%cl
40dd30:	75 13                	jne    0x40dd45
40dd32:	53                   	push   %ebx
40dd33:	57                   	push   %edi
40dd34:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40dd3a:	6a 30                	push   $0x30
40dd3c:	50                   	push   %eax
40dd3d:	e8 43 e8 ff ff       	call   0x40c585
40dd42:	83 c4 10             	add    $0x10,%esp
40dd45:	6a 00                	push   $0x0
40dd47:	8b ce                	mov    %esi,%ecx
40dd49:	e8 79 12 00 00       	call   0x40efc7
40dd4e:	83 3b 00             	cmpl   $0x0,(%ebx)
40dd51:	7c 1d                	jl     0x40dd70
40dd53:	8b 46 20             	mov    0x20(%esi),%eax
40dd56:	c1 e8 02             	shr    $0x2,%eax
40dd59:	a8 01                	test   $0x1,%al
40dd5b:	74 13                	je     0x40dd70
40dd5d:	53                   	push   %ebx
40dd5e:	57                   	push   %edi
40dd5f:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40dd65:	6a 20                	push   $0x20
40dd67:	50                   	push   %eax
40dd68:	e8 18 e8 ff ff       	call   0x40c585
40dd6d:	83 c4 10             	add    $0x10,%esp
40dd70:	5f                   	pop    %edi
40dd71:	b0 01                	mov    $0x1,%al
40dd73:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40dd76:	5e                   	pop    %esi
40dd77:	33 cd                	xor    %ebp,%ecx
40dd79:	5b                   	pop    %ebx
40dd7a:	e8 e1 92 ff ff       	call   0x407060
40dd7f:	8b e5                	mov    %ebp,%esp
40dd81:	5d                   	pop    %ebp
40dd82:	c3                   	ret
40dd83:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40dd87:	74 0a                	je     0x40dd93
40dd89:	8d 41 24             	lea    0x24(%ecx),%eax
40dd8c:	50                   	push   %eax
40dd8d:	e8 bc ed ff ff       	call   0x40cb4e
40dd92:	c3                   	ret
40dd93:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40dd97:	8b 41 14             	mov    0x14(%ecx),%eax
40dd9a:	8b 40 fc             	mov    -0x4(%eax),%eax
40dd9d:	89 41 24             	mov    %eax,0x24(%ecx)
40dda0:	85 c0                	test   %eax,%eax
40dda2:	79 07                	jns    0x40ddab
40dda4:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40dda8:	f7 59 24             	negl   0x24(%ecx)
40ddab:	b0 01                	mov    $0x1,%al
40ddad:	c3                   	ret
40ddae:	80 79 31 2a          	cmpb   $0x2a,0x31(%ecx)
40ddb2:	74 0a                	je     0x40ddbe
40ddb4:	8d 41 24             	lea    0x24(%ecx),%eax
40ddb7:	50                   	push   %eax
40ddb8:	e8 ed ed ff ff       	call   0x40cbaa
40ddbd:	c3                   	ret
40ddbe:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40ddc2:	8b 41 14             	mov    0x14(%ecx),%eax
40ddc5:	8b 40 fc             	mov    -0x4(%eax),%eax
40ddc8:	89 41 24             	mov    %eax,0x24(%ecx)
40ddcb:	85 c0                	test   %eax,%eax
40ddcd:	79 07                	jns    0x40ddd6
40ddcf:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40ddd3:	f7 59 24             	negl   0x24(%ecx)
40ddd6:	b0 01                	mov    $0x1,%al
40ddd8:	c3                   	ret
40ddd9:	66 83 79 32 2a       	cmpw   $0x2a,0x32(%ecx)
40ddde:	74 0a                	je     0x40ddea
40dde0:	8d 41 24             	lea    0x24(%ecx),%eax
40dde3:	50                   	push   %eax
40dde4:	e8 1d ee ff ff       	call   0x40cc06
40dde9:	c3                   	ret
40ddea:	83 41 14 04          	addl   $0x4,0x14(%ecx)
40ddee:	8b 41 14             	mov    0x14(%ecx),%eax
40ddf1:	8b 40 fc             	mov    -0x4(%eax),%eax
40ddf4:	89 41 24             	mov    %eax,0x24(%ecx)
40ddf7:	85 c0                	test   %eax,%eax
40ddf9:	79 07                	jns    0x40de02
40ddfb:	83 49 20 04          	orl    $0x4,0x20(%ecx)
40ddff:	f7 59 24             	negl   0x24(%ecx)
40de02:	b0 01                	mov    $0x1,%al
40de04:	c3                   	ret
40de05:	8b ff                	mov    %edi,%edi
40de07:	55                   	push   %ebp
40de08:	8b ec                	mov    %esp,%ebp
40de0a:	8b 45 08             	mov    0x8(%ebp),%eax
40de0d:	83 f8 0b             	cmp    $0xb,%eax
40de10:	77 19                	ja     0x40de2b
40de12:	ff 24 85 31 de 40 00 	jmp    *0x40de31(,%eax,4)
40de19:	6a 04                	push   $0x4
40de1b:	58                   	pop    %eax
40de1c:	5d                   	pop    %ebp
40de1d:	c3                   	ret
40de1e:	33 c0                	xor    %eax,%eax
40de20:	40                   	inc    %eax
40de21:	5d                   	pop    %ebp
40de22:	c3                   	ret
40de23:	6a 02                	push   $0x2
40de25:	eb f4                	jmp    0x40de1b
40de27:	6a 08                	push   $0x8
40de29:	eb f0                	jmp    0x40de1b
40de2b:	33 c0                	xor    %eax,%eax
40de2d:	5d                   	pop    %ebp
40de2e:	c3                   	ret
40de2f:	8b ff                	mov    %edi,%edi
40de31:	19 de                	sbb    %ebx,%esi
40de33:	40                   	inc    %eax
40de34:	00 1e                	add    %bl,(%esi)
40de36:	de 40 00             	fiadds 0x0(%eax)
40de39:	23 de                	and    %esi,%ebx
40de3b:	40                   	inc    %eax
40de3c:	00 19                	add    %bl,(%ecx)
40de3e:	de 40 00             	fiadds 0x0(%eax)
40de41:	27                   	daa
40de42:	de 40 00             	fiadds 0x0(%eax)
40de45:	27                   	daa
40de46:	de 40 00             	fiadds 0x0(%eax)
40de49:	19 de                	sbb    %ebx,%esi
40de4b:	40                   	inc    %eax
40de4c:	00 19                	add    %bl,(%ecx)
40de4e:	de 40 00             	fiadds 0x0(%eax)
40de51:	2b de                	sub    %esi,%ebx
40de53:	40                   	inc    %eax
40de54:	00 19                	add    %bl,(%ecx)
40de56:	de 40 00             	fiadds 0x0(%eax)
40de59:	19 de                	sbb    %ebx,%esi
40de5b:	40                   	inc    %eax
40de5c:	00 27                	add    %ah,(%edi)
40de5e:	de 40 00             	fiadds 0x0(%eax)
40de61:	8b ff                	mov    %edi,%edi
40de63:	53                   	push   %ebx
40de64:	56                   	push   %esi
40de65:	8b f1                	mov    %ecx,%esi
40de67:	57                   	push   %edi
40de68:	83 46 14 04          	addl   $0x4,0x14(%esi)
40de6c:	8b 46 14             	mov    0x14(%esi),%eax
40de6f:	8b 78 fc             	mov    -0x4(%eax),%edi
40de72:	85 ff                	test   %edi,%edi
40de74:	74 36                	je     0x40deac
40de76:	8b 5f 04             	mov    0x4(%edi),%ebx
40de79:	85 db                	test   %ebx,%ebx
40de7b:	74 2f                	je     0x40deac
40de7d:	ff 76 2c             	push   0x2c(%esi)
40de80:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40de84:	50                   	push   %eax
40de85:	ff 76 04             	push   0x4(%esi)
40de88:	ff 36                	push   (%esi)
40de8a:	e8 26 e3 ff ff       	call   0x40c1b5
40de8f:	83 c4 10             	add    $0x10,%esp
40de92:	89 5e 34             	mov    %ebx,0x34(%esi)
40de95:	84 c0                	test   %al,%al
40de97:	0f b7 07             	movzwl (%edi),%eax
40de9a:	74 0b                	je     0x40dea7
40de9c:	d1 e8                	shr    $1,%eax
40de9e:	89 46 38             	mov    %eax,0x38(%esi)
40dea1:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
40dea5:	eb 17                	jmp    0x40debe
40dea7:	89 46 38             	mov    %eax,0x38(%esi)
40deaa:	eb 0e                	jmp    0x40deba
40deac:	c7 46 34 14 af 42 00 	movl   $0x42af14,0x34(%esi)
40deb3:	c7 46 38 06 00 00 00 	movl   $0x6,0x38(%esi)
40deba:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
40debe:	5f                   	pop    %edi
40debf:	5e                   	pop    %esi
40dec0:	b0 01                	mov    $0x1,%al
40dec2:	5b                   	pop    %ebx
40dec3:	c3                   	ret
40dec4:	8b ff                	mov    %edi,%edi
40dec6:	53                   	push   %ebx
40dec7:	56                   	push   %esi
40dec8:	8b f1                	mov    %ecx,%esi
40deca:	57                   	push   %edi
40decb:	83 46 14 04          	addl   $0x4,0x14(%esi)
40decf:	8b 46 14             	mov    0x14(%esi),%eax
40ded2:	8b 78 fc             	mov    -0x4(%eax),%edi
40ded5:	85 ff                	test   %edi,%edi
40ded7:	74 36                	je     0x40df0f
40ded9:	8b 5f 04             	mov    0x4(%edi),%ebx
40dedc:	85 db                	test   %ebx,%ebx
40dede:	74 2f                	je     0x40df0f
40dee0:	ff 76 2c             	push   0x2c(%esi)
40dee3:	0f b6 46 31          	movzbl 0x31(%esi),%eax
40dee7:	50                   	push   %eax
40dee8:	ff 76 04             	push   0x4(%esi)
40deeb:	ff 36                	push   (%esi)
40deed:	e8 c3 e2 ff ff       	call   0x40c1b5
40def2:	83 c4 10             	add    $0x10,%esp
40def5:	89 5e 34             	mov    %ebx,0x34(%esi)
40def8:	84 c0                	test   %al,%al
40defa:	0f b7 07             	movzwl (%edi),%eax
40defd:	74 0b                	je     0x40df0a