40e77e:	5d                   	pop    %ebp
40e77f:	c2 08 00             	ret    $0x8
40e782:	8b ff                	mov    %edi,%edi
40e784:	51                   	push   %ecx
40e785:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
40e789:	c7 01 b8 17 40 00    	movl   $0x4017b8,(%ecx)
40e78f:	74 1c                	je     0x40e7ad
40e791:	8b 49 04             	mov    0x4(%ecx),%ecx
40e794:	8b 41 1c             	mov    0x1c(%ecx),%eax
40e797:	8b 51 18             	mov    0x18(%ecx),%edx
40e79a:	83 21 00             	andl   $0x0,(%ecx)
40e79d:	83 61 18 00          	andl   $0x0,0x18(%ecx)
40e7a1:	83 61 1c 00          	andl   $0x0,0x1c(%ecx)
40e7a5:	50                   	push   %eax
40e7a6:	52                   	push   %edx
40e7a7:	ff 15 08 b0 41 00    	call   *0x41b008
40e7ad:	59                   	pop    %ecx
40e7ae:	c3                   	ret
40e7af:	cc                   	int3
40e7b0:	8b ff                	mov    %edi,%edi
40e7b2:	55                   	push   %ebp
40e7b3:	8b ec                	mov    %esp,%ebp
40e7b5:	51                   	push   %ecx
40e7b6:	51                   	push   %ecx
40e7b7:	8d 45 f8             	lea    -0x8(%ebp),%eax
40e7ba:	50                   	push   %eax
40e7bb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40e7be:	50                   	push   %eax
40e7bf:	6a 01                	push   $0x1
40e7c1:	68 94 a3 41 00       	push   $0x41a394
40e7c6:	ff 15 90 b1 41 00    	call   *0x41b190
40e7cc:	85 c0                	test   %eax,%eax
40e7ce:	74 0e                	je     0x40e7de
40e7d0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e7d4:	75 08                	jne    0x40e7de
40e7d6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e7d9:	e8 a4 ff ff ff       	call   0x40e782
40e7de:	c9                   	leave
40e7df:	c3                   	ret
40e7e0:	8b ff                	mov    %edi,%edi
40e7e2:	55                   	push   %ebp
40e7e3:	8b ec                	mov    %esp,%ebp
40e7e5:	83 e4 f8             	and    $0xfffffff8,%esp
40e7e8:	83 ec 7c             	sub    $0x7c,%esp
40e7eb:	a1 18 51 41 00       	mov    0x415118,%eax
40e7f0:	33 c4                	xor    %esp,%eax
40e7f2:	89 44 24 78          	mov    %eax,0x78(%esp)
40e7f6:	53                   	push   %ebx
40e7f7:	56                   	push   %esi
40e7f8:	57                   	push   %edi
40e7f9:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e7fd:	33 ff                	xor    %edi,%edi
40e7ff:	50                   	push   %eax
40e800:	8d 44 24 14          	lea    0x14(%esp),%eax
40e804:	89 7c 24 10          	mov    %edi,0x10(%esp)
40e808:	50                   	push   %eax
40e809:	57                   	push   %edi
40e80a:	68 94 a3 41 00       	push   $0x41a394
40e80f:	ff 15 90 b1 41 00    	call   *0x41b190
40e815:	85 c0                	test   %eax,%eax
40e817:	0f 84 ba 00 00 00    	je     0x40e8d7
40e81d:	39 7c 24 10          	cmp    %edi,0x10(%esp)
40e821:	0f 84 b0 00 00 00    	je     0x40e8d7
40e827:	c7 44 24 0c 98 a3 41 	movl   $0x41a398,0xc(%esp)
40e82e:	00
40e82f:	c7 05 98 a3 41 00 b8 	movl   $0x4017b8,0x41a398
40e836:	17 40 00
40e839:	68 b0 e7 40 00       	push   $0x40e7b0
40e83e:	c7 05 a8 a3 41 00 00 	movl   $0x415000,0x41a3a8
40e845:	50 41 00
40e848:	e8 7e 52 00 00       	call   0x413acb
40e84d:	8b 1d a8 a3 41 00    	mov    0x41a3a8,%ebx
40e853:	8d 7c 24 24          	lea    0x24(%esp),%edi
40e857:	89 1d 9c a3 41 00    	mov    %ebx,0x41a39c
40e85d:	8d 44 24 24          	lea    0x24(%esp),%eax
40e861:	c6 05 a0 a3 41 00 01 	movb   $0x1,0x41a3a0
40e868:	59                   	pop    %ecx
40e869:	8b 73 04             	mov    0x4(%ebx),%esi
40e86c:	83 ee 10             	sub    $0x10,%esi
40e86f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e870:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e871:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e872:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40e873:	8d 73 18             	lea    0x18(%ebx),%esi
40e876:	33 ff                	xor    %edi,%edi
40e878:	56                   	push   %esi
40e879:	53                   	push   %ebx
40e87a:	68 20 4e 40 00       	push   $0x404e20
40e87f:	50                   	push   %eax
40e880:	89 7b 20             	mov    %edi,0x20(%ebx)
40e883:	89 7b 24             	mov    %edi,0x24(%ebx)
40e886:	ff 15 10 b0 41 00    	call   *0x41b010
40e88c:	85 c0                	test   %eax,%eax
40e88e:	75 15                	jne    0x40e8a5
40e890:	8b 4b 04             	mov    0x4(%ebx),%ecx
40e893:	0f b7 01             	movzwl (%ecx),%eax
40e896:	50                   	push   %eax
40e897:	51                   	push   %ecx
40e898:	6a 02                	push   $0x2
40e89a:	ff 76 04             	push   0x4(%esi)
40e89d:	ff 36                	push   (%esi)
40e89f:	ff 15 0c b0 41 00    	call   *0x41b00c
40e8a5:	a1 98 a3 41 00       	mov    0x41a398,%eax
40e8aa:	c7 05 a4 a3 41 00 01 	movl   $0x1,0x41a3a4
40e8b1:	00 00 00
40e8b4:	8b 70 04             	mov    0x4(%eax),%esi
40e8b7:	8b ce                	mov    %esi,%ecx
40e8b9:	ff 15 90 b3 41 00    	call   *0x41b390
40e8bf:	b9 98 a3 41 00       	mov    $0x41a398,%ecx
40e8c4:	ff d6                	call   *%esi
40e8c6:	68 98 a3 41 00       	push   $0x41a398
40e8cb:	57                   	push   %edi
40e8cc:	68 94 a3 41 00       	push   $0x41a394
40e8d1:	ff 15 94 b1 41 00    	call   *0x41b194
40e8d7:	8b 44 24 0c          	mov    0xc(%esp),%eax
40e8db:	8b 70 04             	mov    0x4(%eax),%esi
40e8de:	83 3e 05             	cmpl   $0x5,(%esi)
40e8e1:	76 70                	jbe    0x40e953
40e8e3:	68 00 40 00 00       	push   $0x4000
40e8e8:	57                   	push   %edi
40e8e9:	8b ce                	mov    %esi,%ecx
40e8eb:	e8 90 69 ff ff       	call   0x405280
40e8f0:	84 c0                	test   %al,%al
40e8f2:	74 5f                	je     0x40e953
40e8f4:	8d 44 24 14          	lea    0x14(%esp),%eax
40e8f8:	89 7c 24 14          	mov    %edi,0x14(%esp)
40e8fc:	89 44 24 70          	mov    %eax,0x70(%esp)
40e900:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40e904:	8d 44 24 60          	lea    0x60(%esp),%eax
40e908:	c7 44 24 18 7c 3d 40 	movl   $0x403d7c,0x18(%esp)
40e90f:	00
40e910:	50                   	push   %eax
40e911:	c7 44 24 20 8c 3d 40 	movl   $0x403d8c,0x20(%esp)
40e918:	00
40e919:	89 7c 24 78          	mov    %edi,0x78(%esp)
40e91d:	c7 44 24 7c 04 00 00 	movl   $0x4,0x7c(%esp)
40e924:	00
40e925:	89 bc 24 80 00 00 00 	mov    %edi,0x80(%esp)
40e92c:	e8 84 69 ff ff       	call   0x4052b5
40e931:	8d 44 24 50          	lea    0x50(%esp),%eax
40e935:	50                   	push   %eax
40e936:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40e93a:	e8 76 69 ff ff       	call   0x4052b5
40e93f:	8d 44 24 30          	lea    0x30(%esp),%eax
40e943:	50                   	push   %eax
40e944:	6a 05                	push   $0x5
40e946:	57                   	push   %edi
40e947:	57                   	push   %edi
40e948:	68 7a 49 40 00       	push   $0x40497a
40e94d:	56                   	push   %esi
40e94e:	e8 9c 69 ff ff       	call   0x4052ef
40e953:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
40e95a:	5f                   	pop    %edi
40e95b:	5e                   	pop    %esi
40e95c:	5b                   	pop    %ebx
40e95d:	33 cc                	xor    %esp,%ecx
40e95f:	e8 7c 4f 00 00       	call   0x4138e0
40e964:	8b e5                	mov    %ebp,%esp
40e966:	5d                   	pop    %ebp
40e967:	c2 04 00             	ret    $0x4
40e96a:	8b ff                	mov    %edi,%edi
40e96c:	55                   	push   %ebp
40e96d:	8b ec                	mov    %esp,%ebp
40e96f:	83 ec 24             	sub    $0x24,%esp
40e972:	a1 18 51 41 00       	mov    0x415118,%eax
40e977:	33 c5                	xor    %ebp,%eax
40e979:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e97c:	56                   	push   %esi
40e97d:	8b f2                	mov    %edx,%esi
40e97f:	b8 ff 00 00 00       	mov    $0xff,%eax
40e984:	57                   	push   %edi
40e985:	8b f9                	mov    %ecx,%edi
40e987:	66 39 06             	cmp    %ax,(%esi)
40e98a:	73 03                	jae    0x40e98f
40e98c:	56                   	push   %esi
40e98d:	eb 3b                	jmp    0x40e9ca
40e98f:	6a 02                	push   $0x2
40e991:	56                   	push   %esi
40e992:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e995:	6a 10                	push   $0x10
40e997:	50                   	push   %eax
40e998:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40e99e:	6a ff                	push   $0xffffffff
40e9a0:	68 58 3e 40 00       	push   $0x403e58
40e9a5:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9a8:	6a 10                	push   $0x10
40e9aa:	50                   	push   %eax
40e9ab:	ff 15 68 b3 41 00    	call   *0x41b368
40e9b1:	6a ff                	push   $0xffffffff
40e9b3:	8d 46 04             	lea    0x4(%esi),%eax
40e9b6:	50                   	push   %eax
40e9b7:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9ba:	6a 10                	push   $0x10
40e9bc:	50                   	push   %eax
40e9bd:	ff 15 68 b3 41 00    	call   *0x41b368
40e9c3:	83 c4 30             	add    $0x30,%esp
40e9c6:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9c9:	50                   	push   %eax
40e9ca:	57                   	push   %edi
40e9cb:	ff 15 50 b2 41 00    	call   *0x41b250
40e9d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40e9d4:	5f                   	pop    %edi
40e9d5:	33 cd                	xor    %ebp,%ecx
40e9d7:	5e                   	pop    %esi
40e9d8:	e8 03 4f 00 00       	call   0x4138e0
40e9dd:	c9                   	leave
40e9de:	c3                   	ret
40e9df:	8b ff                	mov    %edi,%edi
40e9e1:	55                   	push   %ebp
40e9e2:	8b ec                	mov    %esp,%ebp
40e9e4:	83 ec 24             	sub    $0x24,%esp
40e9e7:	a1 18 51 41 00       	mov    0x415118,%eax
40e9ec:	33 c5                	xor    %ebp,%eax
40e9ee:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e9f1:	56                   	push   %esi
40e9f2:	8b f2                	mov    %edx,%esi
40e9f4:	33 c0                	xor    %eax,%eax
40e9f6:	6a 10                	push   $0x10
40e9f8:	66 89 06             	mov    %ax,(%esi)
40e9fb:	8d 45 dc             	lea    -0x24(%ebp),%eax
40e9fe:	50                   	push   %eax
40e9ff:	51                   	push   %ecx
40ea00:	ff 15 e4 b1 41 00    	call   *0x41b1e4
40ea06:	b8 ff 00 00 00       	mov    $0xff,%eax
40ea0b:	66 39 45 dc          	cmp    %ax,-0x24(%ebp)
40ea0f:	8d 45 dc             	lea    -0x24(%ebp),%eax
40ea12:	73 11                	jae    0x40ea25
40ea14:	6a ff                	push   $0xffffffff
40ea16:	50                   	push   %eax
40ea17:	6a 10                	push   $0x10
40ea19:	56                   	push   %esi
40ea1a:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40ea20:	83 c4 10             	add    $0x10,%esp
40ea23:	eb 1e                	jmp    0x40ea43
40ea25:	6a 02                	push   $0x2
40ea27:	50                   	push   %eax
40ea28:	6a 10                	push   $0x10
40ea2a:	56                   	push   %esi
40ea2b:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40ea31:	6a ff                	push   $0xffffffff
40ea33:	8d 45 e2             	lea    -0x1e(%ebp),%eax
40ea36:	50                   	push   %eax
40ea37:	6a 10                	push   $0x10
40ea39:	56                   	push   %esi
40ea3a:	ff 15 68 b3 41 00    	call   *0x41b368
40ea40:	83 c4 20             	add    $0x20,%esp
40ea43:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ea46:	33 cd                	xor    %ebp,%ecx
40ea48:	5e                   	pop    %esi
40ea49:	e8 92 4e 00 00       	call   0x4138e0
40ea4e:	c9                   	leave
40ea4f:	c3                   	ret
40ea50:	33 c0                	xor    %eax,%eax
40ea52:	83 f9 14             	cmp    $0x14,%ecx
40ea55:	7f 1c                	jg     0x40ea73
40ea57:	74 24                	je     0x40ea7d
40ea59:	83 f9 08             	cmp    $0x8,%ecx
40ea5c:	7c 22                	jl     0x40ea80
40ea5e:	83 f9 09             	cmp    $0x9,%ecx
40ea61:	7e 1a                	jle    0x40ea7d
40ea63:	83 f9 0d             	cmp    $0xd,%ecx
40ea66:	74 15                	je     0x40ea7d
40ea68:	83 f9 0f             	cmp    $0xf,%ecx
40ea6b:	7e 13                	jle    0x40ea80
40ea6d:	83 f9 12             	cmp    $0x12,%ecx
40ea70:	7e 0b                	jle    0x40ea7d
40ea72:	c3                   	ret
40ea73:	83 f9 1b             	cmp    $0x1b,%ecx
40ea76:	74 05                	je     0x40ea7d
40ea78:	83 f9 20             	cmp    $0x20,%ecx
40ea7b:	75 03                	jne    0x40ea80
40ea7d:	33 c0                	xor    %eax,%eax
40ea7f:	40                   	inc    %eax
40ea80:	c3                   	ret
40ea81:	8b ff                	mov    %edi,%edi
40ea83:	56                   	push   %esi
40ea84:	51                   	push   %ecx
40ea85:	33 f6                	xor    %esi,%esi
40ea87:	ff 15 94 b2 41 00    	call   *0x41b294
40ea8d:	0f b6 c8             	movzbl %al,%ecx
40ea90:	39 35 0c 98 41 00    	cmp    %esi,0x41980c
40ea96:	74 2e                	je     0x40eac6
40ea98:	8d 41 d0             	lea    -0x30(%ecx),%eax
40ea9b:	83 f8 09             	cmp    $0x9,%eax
40ea9e:	76 23                	jbe    0x40eac3
40eaa0:	8d 41 bf             	lea    -0x41(%ecx),%eax
40eaa3:	83 f8 19             	cmp    $0x19,%eax
40eaa6:	76 1b                	jbe    0x40eac3
40eaa8:	81 f9 ba 00 00 00    	cmp    $0xba,%ecx
40eaae:	72 16                	jb     0x40eac6
40eab0:	81 f9 bf 00 00 00    	cmp    $0xbf,%ecx
40eab6:	76 0b                	jbe    0x40eac3
40eab8:	8d 81 25 ff ff ff    	lea    -0xdb(%ecx),%eax
40eabe:	83 f8 02             	cmp    $0x2,%eax
40eac1:	77 03                	ja     0x40eac6
40eac3:	33 f6                	xor    %esi,%esi
40eac5:	46                   	inc    %esi
40eac6:	8b c6                	mov    %esi,%eax
40eac8:	5e                   	pop    %esi
40eac9:	c3                   	ret
40eaca:	cc                   	int3
40eacb:	cc                   	int3
40eacc:	cc                   	int3
40eacd:	cc                   	int3
40eace:	cc                   	int3
40eacf:	cc                   	int3
40ead0:	8b ff                	mov    %edi,%edi
40ead2:	55                   	push   %ebp
40ead3:	8b ec                	mov    %esp,%ebp
40ead5:	83 ec 28             	sub    $0x28,%esp
40ead8:	a1 18 51 41 00       	mov    0x415118,%eax
40eadd:	33 c5                	xor    %ebp,%eax
40eadf:	89 45 fc             	mov    %eax,-0x4(%ebp)
40eae2:	53                   	push   %ebx
40eae3:	8b 5d 14             	mov    0x14(%ebp),%ebx
40eae6:	56                   	push   %esi
40eae7:	57                   	push   %edi
40eae8:	8b 7d 08             	mov    0x8(%ebp),%edi
40eaeb:	33 f6                	xor    %esi,%esi
40eaed:	6a eb                	push   $0xffffffeb
40eaef:	57                   	push   %edi
40eaf0:	ff 15 20 b2 41 00    	call   *0x41b220
40eaf6:	8b c8                	mov    %eax,%ecx
40eaf8:	b8 01 02 00 00       	mov    $0x201,%eax
40eafd:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40eb00:	39 45 0c             	cmp    %eax,0xc(%ebp)
40eb03:	0f 87 d2 00 00 00    	ja     0x40ebdb
40eb09:	0f 84 52 01 00 00    	je     0x40ec61
40eb0f:	8b 45 0c             	mov    0xc(%ebp),%eax
40eb12:	83 e8 07             	sub    $0x7,%eax
40eb15:	0f 84 86 01 00 00    	je     0x40eca1
40eb1b:	83 e8 7b             	sub    $0x7b,%eax
40eb1e:	0f 84 a0 00 00 00    	je     0x40ebc4
40eb24:	83 e8 05             	sub    $0x5,%eax
40eb27:	0f 84 8d 00 00 00    	je     0x40ebba
40eb2d:	2d 8a 00 00 00       	sub    $0x8a,%eax
40eb32:	74 10                	je     0x40eb44
40eb34:	2d ef 00 00 00       	sub    $0xef,%eax
40eb39:	0f 84 62 01 00 00    	je     0x40eca1
40eb3f:	e9 35 01 00 00       	jmp    0x40ec79
40eb44:	81 7d 10 ff 00 00 00 	cmpl   $0xff,0x10(%ebp)
40eb4b:	0f 85 28 01 00 00    	jne    0x40ec79
40eb51:	39 35 20 98 41 00    	cmp    %esi,0x419820
40eb57:	0f 84 1c 01 00 00    	je     0x40ec79
40eb5d:	8d 55 dc             	lea    -0x24(%ebp),%edx
40eb60:	8b cf                	mov    %edi,%ecx
40eb62:	e8 78 fe ff ff       	call   0x40e9df
40eb67:	8d 45 dc             	lea    -0x24(%ebp),%eax
40eb6a:	6a 10                	push   $0x10
40eb6c:	50                   	push   %eax