40ada7:	cc                   	int3
40ada8:	cc                   	int3
40ada9:	cc                   	int3
40adaa:	cc                   	int3
40adab:	cc                   	int3
40adac:	cc                   	int3
40adad:	cc                   	int3
40adae:	cc                   	int3
40adaf:	cc                   	int3
40adb0:	68 10 ae 40 00       	push   $0x40ae10
40adb5:	64 ff 35 00 00 00 00 	push   %fs:0x0
40adbc:	8b 44 24 10          	mov    0x10(%esp),%eax
40adc0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40adc4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
40adc8:	2b e0                	sub    %eax,%esp
40adca:	53                   	push   %ebx
40adcb:	56                   	push   %esi
40adcc:	57                   	push   %edi
40adcd:	a1 90 08 42 00       	mov    0x420890,%eax
40add2:	31 45 fc             	xor    %eax,-0x4(%ebp)
40add5:	33 c5                	xor    %ebp,%eax
40add7:	50                   	push   %eax
40add8:	89 65 e8             	mov    %esp,-0x18(%ebp)
40addb:	ff 75 f8             	push   -0x8(%ebp)
40adde:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ade1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ade8:	89 45 f8             	mov    %eax,-0x8(%ebp)
40adeb:	8d 45 f0             	lea    -0x10(%ebp),%eax
40adee:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40adf4:	c3                   	ret
40adf5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40adf8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40adff:	59                   	pop    %ecx
40ae00:	5f                   	pop    %edi
40ae01:	5f                   	pop    %edi
40ae02:	5e                   	pop    %esi
40ae03:	5b                   	pop    %ebx
40ae04:	8b e5                	mov    %ebp,%esp
40ae06:	5d                   	pop    %ebp
40ae07:	51                   	push   %ecx
40ae08:	c3                   	ret
40ae09:	cc                   	int3
40ae0a:	cc                   	int3
40ae0b:	cc                   	int3
40ae0c:	cc                   	int3
40ae0d:	cc                   	int3
40ae0e:	cc                   	int3
40ae0f:	cc                   	int3
40ae10:	55                   	push   %ebp
40ae11:	8b ec                	mov    %esp,%ebp
40ae13:	83 ec 18             	sub    $0x18,%esp
40ae16:	53                   	push   %ebx
40ae17:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40ae1a:	56                   	push   %esi
40ae1b:	57                   	push   %edi
40ae1c:	8b 7b 08             	mov    0x8(%ebx),%edi
40ae1f:	33 3d 90 08 42 00    	xor    0x420890,%edi
40ae25:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40ae29:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40ae30:	8b 07                	mov    (%edi),%eax
40ae32:	8d 73 10             	lea    0x10(%ebx),%esi
40ae35:	83 f8 fe             	cmp    $0xfffffffe,%eax
40ae38:	74 0d                	je     0x40ae47
40ae3a:	8b 4f 04             	mov    0x4(%edi),%ecx
40ae3d:	03 ce                	add    %esi,%ecx
40ae3f:	33 0c 30             	xor    (%eax,%esi,1),%ecx
40ae42:	e8 f2 98 ff ff       	call   0x404739
40ae47:	8b 4f 0c             	mov    0xc(%edi),%ecx
40ae4a:	8b 47 08             	mov    0x8(%edi),%eax
40ae4d:	03 ce                	add    %esi,%ecx
40ae4f:	33 0c 30             	xor    (%eax,%esi,1),%ecx
40ae52:	e8 e2 98 ff ff       	call   0x404739
40ae57:	8b 45 08             	mov    0x8(%ebp),%eax
40ae5a:	f6 40 04 66          	testb  $0x66,0x4(%eax)
40ae5e:	0f 85 d0 00 00 00    	jne    0x40af34
40ae64:	89 45 e8             	mov    %eax,-0x18(%ebp)
40ae67:	8b 45 10             	mov    0x10(%ebp),%eax
40ae6a:	89 45 ec             	mov    %eax,-0x14(%ebp)
40ae6d:	8d 45 e8             	lea    -0x18(%ebp),%eax
40ae70:	89 43 fc             	mov    %eax,-0x4(%ebx)
40ae73:	8b 43 0c             	mov    0xc(%ebx),%eax
40ae76:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ae79:	83 f8 fe             	cmp    $0xfffffffe,%eax
40ae7c:	0f 84 ee 00 00 00    	je     0x40af70
40ae82:	8d 04 40             	lea    (%eax,%eax,2),%eax
40ae85:	8d 40 04             	lea    0x4(%eax),%eax
40ae88:	8b 4c 87 04          	mov    0x4(%edi,%eax,4),%ecx
40ae8c:	8b 1c 87             	mov    (%edi,%eax,4),%ebx
40ae8f:	8d 04 87             	lea    (%edi,%eax,4),%eax
40ae92:	89 45 f0             	mov    %eax,-0x10(%ebp)
40ae95:	85 c9                	test   %ecx,%ecx
40ae97:	74 7b                	je     0x40af14
40ae99:	8b d6                	mov    %esi,%edx
40ae9b:	e8 52 6a 00 00       	call   0x4118f2
40aea0:	b1 01                	mov    $0x1,%cl
40aea2:	88 4d ff             	mov    %cl,-0x1(%ebp)
40aea5:	85 c0                	test   %eax,%eax
40aea7:	0f 88 7e 00 00 00    	js     0x40af2b
40aead:	7e 68                	jle    0x40af17
40aeaf:	8b 45 08             	mov    0x8(%ebp),%eax
40aeb2:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40aeb8:	75 28                	jne    0x40aee2
40aeba:	83 3d 1c a3 41 00 00 	cmpl   $0x0,0x41a31c
40aec1:	74 1f                	je     0x40aee2
40aec3:	68 1c a3 41 00       	push   $0x41a31c
40aec8:	e8 33 68 00 00       	call   0x411700
40aecd:	83 c4 04             	add    $0x4,%esp
40aed0:	85 c0                	test   %eax,%eax
40aed2:	74 0e                	je     0x40aee2
40aed4:	6a 01                	push   $0x1
40aed6:	ff 75 08             	push   0x8(%ebp)
40aed9:	ff 15 1c a3 41 00    	call   *0x41a31c
40aedf:	83 c4 08             	add    $0x8,%esp
40aee2:	8b 55 08             	mov    0x8(%ebp),%edx
40aee5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40aee8:	e8 35 6a 00 00       	call   0x411922
40aeed:	8b 45 0c             	mov    0xc(%ebp),%eax
40aef0:	8b 55 f8             	mov    -0x8(%ebp),%edx
40aef3:	39 50 0c             	cmp    %edx,0xc(%eax)
40aef6:	74 10                	je     0x40af08
40aef8:	68 90 08 42 00       	push   $0x420890
40aefd:	56                   	push   %esi
40aefe:	8b c8                	mov    %eax,%ecx
40af00:	e8 36 6a 00 00       	call   0x41193b
40af05:	8b 45 0c             	mov    0xc(%ebp),%eax
40af08:	89 58 0c             	mov    %ebx,0xc(%eax)
40af0b:	8b 07                	mov    (%edi),%eax
40af0d:	83 f8 fe             	cmp    $0xfffffffe,%eax
40af10:	74 75                	je     0x40af87
40af12:	eb 66                	jmp    0x40af7a
40af14:	8a 4d ff             	mov    -0x1(%ebp),%cl
40af17:	8b c3                	mov    %ebx,%eax
40af19:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40af1c:	83 fb fe             	cmp    $0xfffffffe,%ebx
40af1f:	0f 85 5d ff ff ff    	jne    0x40ae82
40af25:	84 c9                	test   %cl,%cl
40af27:	74 47                	je     0x40af70
40af29:	eb 21                	jmp    0x40af4c
40af2b:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40af32:	eb 18                	jmp    0x40af4c
40af34:	83 7b 0c fe          	cmpl   $0xfffffffe,0xc(%ebx)
40af38:	74 36                	je     0x40af70
40af3a:	68 90 08 42 00       	push   $0x420890
40af3f:	56                   	push   %esi
40af40:	8b cb                	mov    %ebx,%ecx
40af42:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
40af47:	e8 ef 69 00 00       	call   0x41193b
40af4c:	8b 07                	mov    (%edi),%eax
40af4e:	83 f8 fe             	cmp    $0xfffffffe,%eax
40af51:	74 0d                	je     0x40af60
40af53:	8b 4f 04             	mov    0x4(%edi),%ecx
40af56:	03 ce                	add    %esi,%ecx
40af58:	33 0c 30             	xor    (%eax,%esi,1),%ecx
40af5b:	e8 d9 97 ff ff       	call   0x404739
40af60:	8b 4f 0c             	mov    0xc(%edi),%ecx
40af63:	8b 57 08             	mov    0x8(%edi),%edx
40af66:	03 ce                	add    %esi,%ecx
40af68:	33 0c 32             	xor    (%edx,%esi,1),%ecx
40af6b:	e8 c9 97 ff ff       	call   0x404739
40af70:	8b 45 f4             	mov    -0xc(%ebp),%eax
40af73:	5f                   	pop    %edi
40af74:	5e                   	pop    %esi
40af75:	5b                   	pop    %ebx
40af76:	8b e5                	mov    %ebp,%esp
40af78:	5d                   	pop    %ebp
40af79:	c3                   	ret
40af7a:	8b 4f 04             	mov    0x4(%edi),%ecx
40af7d:	03 ce                	add    %esi,%ecx
40af7f:	33 0c 30             	xor    (%eax,%esi,1),%ecx
40af82:	e8 b2 97 ff ff       	call   0x404739
40af87:	8b 4f 0c             	mov    0xc(%edi),%ecx
40af8a:	8b 47 08             	mov    0x8(%edi),%eax
40af8d:	03 ce                	add    %esi,%ecx
40af8f:	33 0c 30             	xor    (%eax,%esi,1),%ecx
40af92:	e8 a2 97 ff ff       	call   0x404739
40af97:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40af9a:	8b d6                	mov    %esi,%edx
40af9c:	8b 49 08             	mov    0x8(%ecx),%ecx
40af9f:	e8 65 69 00 00       	call   0x411909
40afa4:	cc                   	int3
40afa5:	6a 03                	push   $0x3
40afa7:	e8 69 2c 00 00       	call   0x40dc15
40afac:	59                   	pop    %ecx
40afad:	83 f8 01             	cmp    $0x1,%eax
40afb0:	74 15                	je     0x40afc7
40afb2:	6a 03                	push   $0x3
40afb4:	e8 5c 2c 00 00       	call   0x40dc15
40afb9:	59                   	pop    %ecx
40afba:	85 c0                	test   %eax,%eax
40afbc:	75 1f                	jne    0x40afdd
40afbe:	83 3d 10 21 42 00 01 	cmpl   $0x1,0x422110
40afc5:	75 16                	jne    0x40afdd
40afc7:	68 fc 00 00 00       	push   $0xfc
40afcc:	e8 31 00 00 00       	call   0x40b002
40afd1:	68 ff 00 00 00       	push   $0xff
40afd6:	e8 27 00 00 00       	call   0x40b002
40afdb:	59                   	pop    %ecx
40afdc:	59                   	pop    %ecx
40afdd:	c3                   	ret
40afde:	55                   	push   %ebp
40afdf:	8b ec                	mov    %esp,%ebp
40afe1:	8b 4d 08             	mov    0x8(%ebp),%ecx
40afe4:	33 c0                	xor    %eax,%eax
40afe6:	3b 0c c5 80 ab 41 00 	cmp    0x41ab80(,%eax,8),%ecx
40afed:	74 0a                	je     0x40aff9
40afef:	40                   	inc    %eax
40aff0:	83 f8 17             	cmp    $0x17,%eax
40aff3:	72 f1                	jb     0x40afe6
40aff5:	33 c0                	xor    %eax,%eax
40aff7:	5d                   	pop    %ebp
40aff8:	c3                   	ret
40aff9:	8b 04 c5 84 ab 41 00 	mov    0x41ab84(,%eax,8),%eax
40b000:	5d                   	pop    %ebp
40b001:	c3                   	ret
40b002:	55                   	push   %ebp
40b003:	8b ec                	mov    %esp,%ebp
40b005:	81 ec fc 01 00 00    	sub    $0x1fc,%esp
40b00b:	a1 90 08 42 00       	mov    0x420890,%eax
40b010:	33 c5                	xor    %ebp,%eax
40b012:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b015:	56                   	push   %esi
40b016:	8b 75 08             	mov    0x8(%ebp),%esi
40b019:	57                   	push   %edi
40b01a:	56                   	push   %esi
40b01b:	e8 be ff ff ff       	call   0x40afde
40b020:	8b f8                	mov    %eax,%edi
40b022:	59                   	pop    %ecx
40b023:	85 ff                	test   %edi,%edi
40b025:	0f 84 79 01 00 00    	je     0x40b1a4
40b02b:	53                   	push   %ebx
40b02c:	6a 03                	push   $0x3
40b02e:	e8 e2 2b 00 00       	call   0x40dc15
40b033:	59                   	pop    %ecx
40b034:	83 f8 01             	cmp    $0x1,%eax
40b037:	0f 84 0f 01 00 00    	je     0x40b14c
40b03d:	6a 03                	push   $0x3
40b03f:	e8 d1 2b 00 00       	call   0x40dc15
40b044:	59                   	pop    %ecx
40b045:	85 c0                	test   %eax,%eax
40b047:	75 0d                	jne    0x40b056
40b049:	83 3d 10 21 42 00 01 	cmpl   $0x1,0x422110
40b050:	0f 84 f6 00 00 00    	je     0x40b14c
40b056:	81 fe fc 00 00 00    	cmp    $0xfc,%esi
40b05c:	0f 84 41 01 00 00    	je     0x40b1a3
40b062:	68 20 b5 41 00       	push   $0x41b520
40b067:	68 14 03 00 00       	push   $0x314
40b06c:	68 18 21 42 00       	push   $0x422118
40b071:	e8 62 4a 00 00       	call   0x40fad8
40b076:	83 c4 0c             	add    $0xc,%esp
40b079:	33 db                	xor    %ebx,%ebx
40b07b:	85 c0                	test   %eax,%eax
40b07d:	0f 85 2f 01 00 00    	jne    0x40b1b2
40b083:	68 04 01 00 00       	push   $0x104
40b088:	68 4a 21 42 00       	push   $0x42214a
40b08d:	53                   	push   %ebx
40b08e:	66 a3 52 23 42 00    	mov    %ax,0x422352
40b094:	ff 15 b4 90 41 00    	call   *0x4190b4
40b09a:	be fb 02 00 00       	mov    $0x2fb,%esi
40b09f:	85 c0                	test   %eax,%eax
40b0a1:	75 1b                	jne    0x40b0be
40b0a3:	68 54 b5 41 00       	push   $0x41b554
40b0a8:	56                   	push   %esi
40b0a9:	68 4a 21 42 00       	push   $0x42214a
40b0ae:	e8 25 4a 00 00       	call   0x40fad8
40b0b3:	83 c4 0c             	add    $0xc,%esp
40b0b6:	85 c0                	test   %eax,%eax
40b0b8:	0f 85 f4 00 00 00    	jne    0x40b1b2
40b0be:	68 4a 21 42 00       	push   $0x42214a
40b0c3:	e8 db db ff ff       	call   0x408ca3
40b0c8:	40                   	inc    %eax
40b0c9:	59                   	pop    %ecx
40b0ca:	83 f8 3c             	cmp    $0x3c,%eax
40b0cd:	76 35                	jbe    0x40b104
40b0cf:	68 4a 21 42 00       	push   $0x42214a
40b0d4:	e8 ca db ff ff       	call   0x408ca3
40b0d9:	8d 0c 45 d4 20 42 00 	lea    0x4220d4(,%eax,2),%ecx
40b0e0:	8b c1                	mov    %ecx,%eax
40b0e2:	2d 4a 21 42 00       	sub    $0x42214a,%eax
40b0e7:	6a 03                	push   $0x3
40b0e9:	d1 f8                	sar    $1,%eax
40b0eb:	68 84 b5 41 00       	push   $0x41b584
40b0f0:	2b f0                	sub    %eax,%esi
40b0f2:	56                   	push   %esi
40b0f3:	51                   	push   %ecx
40b0f4:	e8 c5 68 00 00       	call   0x4119be
40b0f9:	83 c4 14             	add    $0x14,%esp
40b0fc:	85 c0                	test   %eax,%eax
40b0fe:	0f 85 ae 00 00 00    	jne    0x40b1b2
40b104:	68 8c b5 41 00       	push   $0x41b58c
40b109:	68 14 03 00 00       	push   $0x314
40b10e:	be 18 21 42 00       	mov    $0x422118,%esi
40b113:	56                   	push   %esi
40b114:	e8 39 68 00 00       	call   0x411952
40b119:	83 c4 0c             	add    $0xc,%esp
40b11c:	85 c0                	test   %eax,%eax
40b11e:	0f 85 8e 00 00 00    	jne    0x40b1b2
40b124:	57                   	push   %edi
40b125:	68 14 03 00 00       	push   $0x314
40b12a:	56                   	push   %esi
40b12b:	e8 22 68 00 00       	call   0x411952
40b130:	83 c4 0c             	add    $0xc,%esp
40b133:	85 c0                	test   %eax,%eax
40b135:	75 7b                	jne    0x40b1b2
40b137:	68 10 20 01 00       	push   $0x12010
40b13c:	68 98 b5 41 00       	push   $0x41b598
40b141:	56                   	push   %esi
40b142:	e8 35 69 00 00       	call   0x411a7c
40b147:	83 c4 0c             	add    $0xc,%esp
40b14a:	eb 57                	jmp    0x40b1a3
40b14c:	6a f4                	push   $0xfffffff4
40b14e:	ff 15 ac 90 41 00    	call   *0x4190ac
40b154:	8b f0                	mov    %eax,%esi
40b156:	85 f6                	test   %esi,%esi
40b158:	74 49                	je     0x40b1a3
40b15a:	83 fe ff             	cmp    $0xffffffff,%esi
40b15d:	74 44                	je     0x40b1a3
40b15f:	33 db                	xor    %ebx,%ebx
40b161:	8b cb                	mov    %ebx,%ecx
40b163:	8a 04 4f             	mov    (%edi,%ecx,2),%al
40b166:	88 84 0d 08 fe ff ff 	mov    %al,-0x1f8(%ebp,%ecx,1)
40b16d:	66 39 1c 4f          	cmp    %bx,(%edi,%ecx,2)
40b171:	74 09                	je     0x40b17c
40b173:	41                   	inc    %ecx
40b174:	81 f9 f4 01 00 00    	cmp    $0x1f4,%ecx
40b17a:	72 e7                	jb     0x40b163
40b17c:	53                   	push   %ebx
40b17d:	8d 85 04 fe ff ff    	lea    -0x1fc(%ebp),%eax
40b183:	50                   	push   %eax
40b184:	8d 85 08 fe ff ff    	lea    -0x1f8(%ebp),%eax
40b18a:	50                   	push   %eax
40b18b:	88 5d fb             	mov    %bl,-0x5(%ebp)
40b18e:	e8 5d ab ff ff       	call   0x405cf0
40b193:	59                   	pop    %ecx
40b194:	50                   	push   %eax
40b195:	8d 85 08 fe ff ff    	lea    -0x1f8(%ebp),%eax
40b19b:	50                   	push   %eax
40b19c:	56                   	push   %esi
40b19d:	ff 15 b0 90 41 00    	call   *0x4190b0
40b1a3:	5b                   	pop    %ebx
40b1a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40b1a7:	5f                   	pop    %edi
40b1a8:	33 cd                	xor    %ebp,%ecx
40b1aa:	5e                   	pop    %esi
40b1ab:	e8 89 95 ff ff       	call   0x404739
40b1b0:	c9                   	leave
40b1b1:	c3                   	ret
40b1b2:	53                   	push   %ebx
40b1b3:	53                   	push   %ebx
40b1b4:	53                   	push   %ebx
40b1b5:	53                   	push   %ebx