40dc0b:	50                   	push   %eax
40dc0c:	50                   	push   %eax
40dc0d:	50                   	push   %eax
40dc0e:	50                   	push   %eax
40dc0f:	e8 40 99 ff ff       	call   0x407554
40dc14:	83 c4 14             	add    $0x14,%esp
40dc17:	56                   	push   %esi
40dc18:	e8 43 8b ff ff       	call   0x406760
40dc1d:	40                   	inc    %eax
40dc1e:	83 f8 3c             	cmp    $0x3c,%eax
40dc21:	59                   	pop    %ecx
40dc22:	76 38                	jbe    0x40dc5c
40dc24:	56                   	push   %esi
40dc25:	e8 36 8b ff ff       	call   0x406760
40dc2a:	83 ee 3b             	sub    $0x3b,%esi
40dc2d:	03 c6                	add    %esi,%eax
40dc2f:	6a 03                	push   $0x3
40dc31:	b9 14 e2 41 00       	mov    $0x41e214,%ecx
40dc36:	68 2c 86 41 00       	push   $0x41862c
40dc3b:	2b c8                	sub    %eax,%ecx
40dc3d:	51                   	push   %ecx
40dc3e:	50                   	push   %eax
40dc3f:	e8 b2 3d 00 00       	call   0x4119f6
40dc44:	83 c4 14             	add    $0x14,%esp
40dc47:	85 c0                	test   %eax,%eax
40dc49:	74 11                	je     0x40dc5c
40dc4b:	33 f6                	xor    %esi,%esi
40dc4d:	56                   	push   %esi
40dc4e:	56                   	push   %esi
40dc4f:	56                   	push   %esi
40dc50:	56                   	push   %esi
40dc51:	56                   	push   %esi
40dc52:	e8 fd 98 ff ff       	call   0x407554
40dc57:	83 c4 14             	add    $0x14,%esp
40dc5a:	eb 02                	jmp    0x40dc5e
40dc5c:	33 f6                	xor    %esi,%esi
40dc5e:	68 28 86 41 00       	push   $0x418628
40dc63:	53                   	push   %ebx
40dc64:	55                   	push   %ebp
40dc65:	e8 ce 3c 00 00       	call   0x411938
40dc6a:	83 c4 0c             	add    $0xc,%esp
40dc6d:	85 c0                	test   %eax,%eax
40dc6f:	74 0d                	je     0x40dc7e
40dc71:	56                   	push   %esi
40dc72:	56                   	push   %esi
40dc73:	56                   	push   %esi
40dc74:	56                   	push   %esi
40dc75:	56                   	push   %esi
40dc76:	e8 d9 98 ff ff       	call   0x407554
40dc7b:	83 c4 14             	add    $0x14,%esp
40dc7e:	ff 34 fd b4 ca 41 00 	push   0x41cab4(,%edi,8)
40dc85:	53                   	push   %ebx
40dc86:	55                   	push   %ebp
40dc87:	e8 ac 3c 00 00       	call   0x411938
40dc8c:	83 c4 0c             	add    $0xc,%esp
40dc8f:	85 c0                	test   %eax,%eax
40dc91:	74 0d                	je     0x40dca0
40dc93:	56                   	push   %esi
40dc94:	56                   	push   %esi
40dc95:	56                   	push   %esi
40dc96:	56                   	push   %esi
40dc97:	56                   	push   %esi
40dc98:	e8 b7 98 ff ff       	call   0x407554
40dc9d:	83 c4 14             	add    $0x14,%esp
40dca0:	68 10 20 01 00       	push   $0x12010
40dca5:	68 00 86 41 00       	push   $0x418600
40dcaa:	55                   	push   %ebp
40dcab:	e8 c8 66 00 00       	call   0x414378
40dcb0:	83 c4 0c             	add    $0xc,%esp
40dcb3:	eb 33                	jmp    0x40dce8
40dcb5:	6a f4                	push   $0xfffffff4
40dcb7:	ff 15 20 71 41 00    	call   *0x417120
40dcbd:	8b e8                	mov    %eax,%ebp
40dcbf:	3b ee                	cmp    %esi,%ebp
40dcc1:	74 25                	je     0x40dce8
40dcc3:	83 fd ff             	cmp    $0xffffffff,%ebp
40dcc6:	74 20                	je     0x40dce8
40dcc8:	6a 00                	push   $0x0
40dcca:	8d 44 24 14          	lea    0x14(%esp),%eax
40dcce:	50                   	push   %eax
40dccf:	8d 34 fd b4 ca 41 00 	lea    0x41cab4(,%edi,8),%esi
40dcd6:	ff 36                	push   (%esi)
40dcd8:	e8 83 8a ff ff       	call   0x406760
40dcdd:	59                   	pop    %ecx
40dcde:	50                   	push   %eax
40dcdf:	ff 36                	push   (%esi)
40dce1:	55                   	push   %ebp
40dce2:	ff 15 28 70 41 00    	call   *0x417028
40dce8:	5d                   	pop    %ebp
40dce9:	5f                   	pop    %edi
40dcea:	5e                   	pop    %esi
40dceb:	5b                   	pop    %ebx
40dcec:	59                   	pop    %ecx
40dced:	c3                   	ret
40dcee:	6a 03                	push   $0x3
40dcf0:	e8 21 68 00 00       	call   0x414516
40dcf5:	83 f8 01             	cmp    $0x1,%eax
40dcf8:	59                   	pop    %ecx
40dcf9:	74 15                	je     0x40dd10
40dcfb:	6a 03                	push   $0x3
40dcfd:	e8 14 68 00 00       	call   0x414516
40dd02:	85 c0                	test   %eax,%eax
40dd04:	59                   	pop    %ecx
40dd05:	75 1f                	jne    0x40dd26
40dd07:	83 3d 30 c5 41 00 01 	cmpl   $0x1,0x41c530
40dd0e:	75 16                	jne    0x40dd26
40dd10:	68 fc 00 00 00       	push   $0xfc
40dd15:	e8 34 fe ff ff       	call   0x40db4e
40dd1a:	68 ff 00 00 00       	push   $0xff
40dd1f:	e8 2a fe ff ff       	call   0x40db4e
40dd24:	59                   	pop    %ecx
40dd25:	59                   	pop    %ecx
40dd26:	c3                   	ret
40dd27:	c3                   	ret
40dd28:	55                   	push   %ebp
40dd29:	8b ec                	mov    %esp,%ebp
40dd2b:	51                   	push   %ecx
40dd2c:	51                   	push   %ecx
40dd2d:	56                   	push   %esi
40dd2e:	e8 96 e7 ff ff       	call   0x40c4c9
40dd33:	8b f0                	mov    %eax,%esi
40dd35:	85 f6                	test   %esi,%esi
40dd37:	75 0e                	jne    0x40dd47
40dd39:	ff 75 0c             	push   0xc(%ebp)
40dd3c:	ff 15 cc 70 41 00    	call   *0x4170cc
40dd42:	e9 4d 01 00 00       	jmp    0x40de94
40dd47:	8b 56 5c             	mov    0x5c(%esi),%edx
40dd4a:	a1 ec cb 41 00       	mov    0x41cbec,%eax
40dd4f:	57                   	push   %edi
40dd50:	8b 7d 08             	mov    0x8(%ebp),%edi
40dd53:	8b ca                	mov    %edx,%ecx
40dd55:	53                   	push   %ebx
40dd56:	39 39                	cmp    %edi,(%ecx)
40dd58:	74 0e                	je     0x40dd68
40dd5a:	8b d8                	mov    %eax,%ebx
40dd5c:	6b db 0c             	imul   $0xc,%ebx,%ebx
40dd5f:	83 c1 0c             	add    $0xc,%ecx
40dd62:	03 da                	add    %edx,%ebx
40dd64:	3b cb                	cmp    %ebx,%ecx
40dd66:	72 ee                	jb     0x40dd56
40dd68:	6b c0 0c             	imul   $0xc,%eax,%eax
40dd6b:	03 c2                	add    %edx,%eax
40dd6d:	3b c8                	cmp    %eax,%ecx
40dd6f:	73 08                	jae    0x40dd79
40dd71:	39 39                	cmp    %edi,(%ecx)
40dd73:	75 04                	jne    0x40dd79
40dd75:	8b c1                	mov    %ecx,%eax
40dd77:	eb 02                	jmp    0x40dd7b
40dd79:	33 c0                	xor    %eax,%eax
40dd7b:	85 c0                	test   %eax,%eax
40dd7d:	74 0a                	je     0x40dd89
40dd7f:	8b 58 08             	mov    0x8(%eax),%ebx
40dd82:	85 db                	test   %ebx,%ebx
40dd84:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40dd87:	75 0e                	jne    0x40dd97
40dd89:	ff 75 0c             	push   0xc(%ebp)
40dd8c:	ff 15 cc 70 41 00    	call   *0x4170cc
40dd92:	e9 fb 00 00 00       	jmp    0x40de92
40dd97:	83 fb 05             	cmp    $0x5,%ebx
40dd9a:	75 0c                	jne    0x40dda8
40dd9c:	83 60 08 00          	andl   $0x0,0x8(%eax)
40dda0:	33 c0                	xor    %eax,%eax
40dda2:	40                   	inc    %eax
40dda3:	e9 ea 00 00 00       	jmp    0x40de92
40dda8:	83 fb 01             	cmp    $0x1,%ebx
40ddab:	0f 84 de 00 00 00    	je     0x40de8f
40ddb1:	8b 4e 60             	mov    0x60(%esi),%ecx
40ddb4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40ddb7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ddba:	89 4e 60             	mov    %ecx,0x60(%esi)
40ddbd:	8b 48 04             	mov    0x4(%eax),%ecx
40ddc0:	83 f9 08             	cmp    $0x8,%ecx
40ddc3:	0f 85 b8 00 00 00    	jne    0x40de81
40ddc9:	8b 0d e0 cb 41 00    	mov    0x41cbe0,%ecx
40ddcf:	8b 3d e4 cb 41 00    	mov    0x41cbe4,%edi
40ddd5:	8b d1                	mov    %ecx,%edx
40ddd7:	03 f9                	add    %ecx,%edi
40ddd9:	3b d7                	cmp    %edi,%edx
40dddb:	7d 24                	jge    0x40de01
40dddd:	6b c9 0c             	imul   $0xc,%ecx,%ecx
40dde0:	8b 7e 5c             	mov    0x5c(%esi),%edi
40dde3:	83 64 39 08 00       	andl   $0x0,0x8(%ecx,%edi,1)
40dde8:	8b 3d e0 cb 41 00    	mov    0x41cbe0,%edi
40ddee:	8b 1d e4 cb 41 00    	mov    0x41cbe4,%ebx
40ddf4:	42                   	inc    %edx
40ddf5:	03 df                	add    %edi,%ebx
40ddf7:	83 c1 0c             	add    $0xc,%ecx
40ddfa:	3b d3                	cmp    %ebx,%edx
40ddfc:	7c e2                	jl     0x40dde0
40ddfe:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40de01:	8b 00                	mov    (%eax),%eax
40de03:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
40de08:	8b 7e 64             	mov    0x64(%esi),%edi
40de0b:	75 09                	jne    0x40de16
40de0d:	c7 46 64 83 00 00 00 	movl   $0x83,0x64(%esi)
40de14:	eb 5e                	jmp    0x40de74
40de16:	3d 90 00 00 c0       	cmp    $0xc0000090,%eax
40de1b:	75 09                	jne    0x40de26
40de1d:	c7 46 64 81 00 00 00 	movl   $0x81,0x64(%esi)
40de24:	eb 4e                	jmp    0x40de74
40de26:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
40de2b:	75 09                	jne    0x40de36
40de2d:	c7 46 64 84 00 00 00 	movl   $0x84,0x64(%esi)
40de34:	eb 3e                	jmp    0x40de74
40de36:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
40de3b:	75 09                	jne    0x40de46
40de3d:	c7 46 64 85 00 00 00 	movl   $0x85,0x64(%esi)
40de44:	eb 2e                	jmp    0x40de74
40de46:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
40de4b:	75 09                	jne    0x40de56
40de4d:	c7 46 64 82 00 00 00 	movl   $0x82,0x64(%esi)
40de54:	eb 1e                	jmp    0x40de74
40de56:	3d 8f 00 00 c0       	cmp    $0xc000008f,%eax
40de5b:	75 09                	jne    0x40de66
40de5d:	c7 46 64 86 00 00 00 	movl   $0x86,0x64(%esi)
40de64:	eb 0e                	jmp    0x40de74
40de66:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
40de6b:	75 07                	jne    0x40de74
40de6d:	c7 46 64 8a 00 00 00 	movl   $0x8a,0x64(%esi)
40de74:	ff 76 64             	push   0x64(%esi)
40de77:	6a 08                	push   $0x8
40de79:	ff d3                	call   *%ebx
40de7b:	59                   	pop    %ecx
40de7c:	89 7e 64             	mov    %edi,0x64(%esi)
40de7f:	eb 07                	jmp    0x40de88
40de81:	83 60 08 00          	andl   $0x0,0x8(%eax)
40de85:	51                   	push   %ecx
40de86:	ff d3                	call   *%ebx
40de88:	8b 45 f8             	mov    -0x8(%ebp),%eax
40de8b:	59                   	pop    %ecx
40de8c:	89 46 60             	mov    %eax,0x60(%esi)
40de8f:	83 c8 ff             	or     $0xffffffff,%eax
40de92:	5b                   	pop    %ebx
40de93:	5f                   	pop    %edi
40de94:	5e                   	pop    %esi
40de95:	c9                   	leave
40de96:	c3                   	ret
40de97:	56                   	push   %esi
40de98:	57                   	push   %edi
40de99:	33 ff                	xor    %edi,%edi
40de9b:	39 3d cc e5 41 00    	cmp    %edi,0x41e5cc
40dea1:	75 05                	jne    0x40dea8
40dea3:	e8 88 25 00 00       	call   0x410430
40dea8:	8b 35 04 f6 41 00    	mov    0x41f604,%esi
40deae:	85 f6                	test   %esi,%esi
40deb0:	75 05                	jne    0x40deb7
40deb2:	be 0e 76 41 00       	mov    $0x41760e,%esi
40deb7:	8a 06                	mov    (%esi),%al
40deb9:	3c 20                	cmp    $0x20,%al
40debb:	77 08                	ja     0x40dec5
40debd:	84 c0                	test   %al,%al
40debf:	74 2e                	je     0x40deef
40dec1:	85 ff                	test   %edi,%edi
40dec3:	74 24                	je     0x40dee9
40dec5:	3c 22                	cmp    $0x22,%al
40dec7:	75 09                	jne    0x40ded2
40dec9:	33 c9                	xor    %ecx,%ecx
40decb:	85 ff                	test   %edi,%edi
40decd:	0f 94 c1             	sete   %cl
40ded0:	8b f9                	mov    %ecx,%edi
40ded2:	0f b6 c0             	movzbl %al,%eax
40ded5:	50                   	push   %eax
40ded6:	e8 d2 66 00 00       	call   0x4145ad
40dedb:	85 c0                	test   %eax,%eax
40dedd:	59                   	pop    %ecx
40dede:	74 01                	je     0x40dee1
40dee0:	46                   	inc    %esi
40dee1:	46                   	inc    %esi
40dee2:	eb d3                	jmp    0x40deb7
40dee4:	3c 20                	cmp    $0x20,%al
40dee6:	77 07                	ja     0x40deef
40dee8:	46                   	inc    %esi
40dee9:	8a 06                	mov    (%esi),%al
40deeb:	84 c0                	test   %al,%al
40deed:	75 f5                	jne    0x40dee4
40deef:	5f                   	pop    %edi
40def0:	8b c6                	mov    %esi,%eax
40def2:	5e                   	pop    %esi
40def3:	c3                   	ret
40def4:	53                   	push   %ebx
40def5:	33 db                	xor    %ebx,%ebx
40def7:	39 1d cc e5 41 00    	cmp    %ebx,0x41e5cc
40defd:	56                   	push   %esi
40defe:	57                   	push   %edi
40deff:	75 05                	jne    0x40df06
40df01:	e8 2a 25 00 00       	call   0x410430
40df06:	8b 35 e8 d9 41 00    	mov    0x41d9e8,%esi
40df0c:	33 ff                	xor    %edi,%edi
40df0e:	3b f3                	cmp    %ebx,%esi
40df10:	75 18                	jne    0x40df2a
40df12:	83 c8 ff             	or     $0xffffffff,%eax
40df15:	e9 9b 00 00 00       	jmp    0x40dfb5
40df1a:	3c 3d                	cmp    $0x3d,%al
40df1c:	74 01                	je     0x40df1f
40df1e:	47                   	inc    %edi
40df1f:	56                   	push   %esi
40df20:	e8 3b 88 ff ff       	call   0x406760
40df25:	59                   	pop    %ecx
40df26:	8d 74 06 01          	lea    0x1(%esi,%eax,1),%esi
40df2a:	8a 06                	mov    (%esi),%al
40df2c:	3a c3                	cmp    %bl,%al
40df2e:	75 ea                	jne    0x40df1a
40df30:	6a 04                	push   $0x4
40df32:	47                   	inc    %edi
40df33:	57                   	push   %edi
40df34:	e8 f3 b3 ff ff       	call   0x40932c
40df39:	8b f8                	mov    %eax,%edi
40df3b:	3b fb                	cmp    %ebx,%edi
40df3d:	59                   	pop    %ecx
40df3e:	59                   	pop    %ecx
40df3f:	89 3d d8 de 41 00    	mov    %edi,0x41ded8
40df45:	74 cb                	je     0x40df12
40df47:	8b 35 e8 d9 41 00    	mov    0x41d9e8,%esi
40df4d:	55                   	push   %ebp
40df4e:	eb 40                	jmp    0x40df90
40df50:	56                   	push   %esi
40df51:	e8 0a 88 ff ff       	call   0x406760
40df56:	8b e8                	mov    %eax,%ebp
40df58:	45                   	inc    %ebp
40df59:	80 3e 3d             	cmpb   $0x3d,(%esi)
40df5c:	59                   	pop    %ecx
40df5d:	74 2f                	je     0x40df8e
40df5f:	6a 01                	push   $0x1
40df61:	55                   	push   %ebp
40df62:	e8 c5 b3 ff ff       	call   0x40932c
40df67:	3b c3                	cmp    %ebx,%eax
40df69:	59                   	pop    %ecx
40df6a:	59                   	pop    %ecx
40df6b:	89 07                	mov    %eax,(%edi)
40df6d:	74 4a                	je     0x40dfb9
40df6f:	56                   	push   %esi
40df70:	55                   	push   %ebp
40df71:	50                   	push   %eax
40df72:	e8 24 cd ff ff       	call   0x40ac9b
40df77:	83 c4 0c             	add    $0xc,%esp
40df7a:	85 c0                	test   %eax,%eax
40df7c:	74 0d                	je     0x40df8b
40df7e:	53                   	push   %ebx
40df7f:	53                   	push   %ebx
40df80:	53                   	push   %ebx
40df81:	53                   	push   %ebx
40df82:	53                   	push   %ebx
40df83:	e8 cc 95 ff ff       	call   0x407554
40df88:	83 c4 14             	add    $0x14,%esp
40df8b:	83 c7 04             	add    $0x4,%edi
40df8e:	03 f5                	add    %ebp,%esi
40df90:	38 1e                	cmp    %bl,(%esi)
40df92:	75 bc                	jne    0x40df50
40df94:	ff 35 e8 d9 41 00    	push   0x41d9e8
40df9a:	e8 b4 84 ff ff       	call   0x406453