40af42:	eb 02                	jmp    0x40af46
40af44:	33 c9                	xor    %ecx,%ecx
40af46:	85 c9                	test   %ecx,%ecx
40af48:	0f 85 6b f3 ff ff    	jne    0x40a2b9
40af4e:	0f b6 7e fd          	movzbl -0x3(%esi),%edi
40af52:	0f b6 42 fd          	movzbl -0x3(%edx),%eax
40af56:	2b f8                	sub    %eax,%edi
40af58:	74 16                	je     0x40af70
40af5a:	33 c9                	xor    %ecx,%ecx
40af5c:	85 ff                	test   %edi,%edi
40af5e:	0f 9f c1             	setg   %cl
40af61:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40af68:	85 c9                	test   %ecx,%ecx
40af6a:	0f 85 49 f3 ff ff    	jne    0x40a2b9
40af70:	0f b6 42 fe          	movzbl -0x2(%edx),%eax
40af74:	0f b6 7e fe          	movzbl -0x2(%esi),%edi
40af78:	2b f8                	sub    %eax,%edi
40af7a:	0f 84 53 f7 ff ff    	je     0x40a6d3
40af80:	33 c9                	xor    %ecx,%ecx
40af82:	85 ff                	test   %edi,%edi
40af84:	0f 9f c1             	setg   %cl
40af87:	8d 0c 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%ecx
40af8e:	e9 38 f7 ff ff       	jmp    0x40a6cb
40af93:	8b 4d 08             	mov    0x8(%ebp),%ecx
40af96:	0f b6 02             	movzbl (%edx),%eax
40af99:	0f b6 31             	movzbl (%ecx),%esi
40af9c:	2b f0                	sub    %eax,%esi
40af9e:	74 16                	je     0x40afb6
40afa0:	33 c0                	xor    %eax,%eax
40afa2:	85 f6                	test   %esi,%esi
40afa4:	0f 9f c0             	setg   %al
40afa7:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40afae:	85 c0                	test   %eax,%eax
40afb0:	0f 85 f1 00 00 00    	jne    0x40b0a7
40afb6:	0f b6 71 01          	movzbl 0x1(%ecx),%esi
40afba:	0f b6 42 01          	movzbl 0x1(%edx),%eax
40afbe:	2b f0                	sub    %eax,%esi
40afc0:	74 16                	je     0x40afd8
40afc2:	33 c0                	xor    %eax,%eax
40afc4:	85 f6                	test   %esi,%esi
40afc6:	0f 9f c0             	setg   %al
40afc9:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40afd0:	85 c0                	test   %eax,%eax
40afd2:	0f 85 cf 00 00 00    	jne    0x40b0a7
40afd8:	0f b6 71 02          	movzbl 0x2(%ecx),%esi
40afdc:	0f b6 42 02          	movzbl 0x2(%edx),%eax
40afe0:	2b f0                	sub    %eax,%esi
40afe2:	74 16                	je     0x40affa
40afe4:	33 c0                	xor    %eax,%eax
40afe6:	85 f6                	test   %esi,%esi
40afe8:	0f 9f c0             	setg   %al
40afeb:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40aff2:	85 c0                	test   %eax,%eax
40aff4:	0f 85 ad 00 00 00    	jne    0x40b0a7
40affa:	0f b6 49 03          	movzbl 0x3(%ecx),%ecx
40affe:	0f b6 42 03          	movzbl 0x3(%edx),%eax
40b002:	2b c8                	sub    %eax,%ecx
40b004:	74 0e                	je     0x40b014
40b006:	33 c0                	xor    %eax,%eax
40b008:	85 c9                	test   %ecx,%ecx
40b00a:	0f 9f c0             	setg   %al
40b00d:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
40b014:	8b c1                	mov    %ecx,%eax
40b016:	e9 8c 00 00 00       	jmp    0x40b0a7
40b01b:	8b 55 08             	mov    0x8(%ebp),%edx
40b01e:	8b 75 0c             	mov    0xc(%ebp),%esi
40b021:	0f b6 0a             	movzbl (%edx),%ecx
40b024:	0f b6 06             	movzbl (%esi),%eax
40b027:	2b c8                	sub    %eax,%ecx
40b029:	74 12                	je     0x40b03d
40b02b:	33 c0                	xor    %eax,%eax
40b02d:	85 c9                	test   %ecx,%ecx
40b02f:	0f 9f c0             	setg   %al
40b032:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40b039:	85 c0                	test   %eax,%eax
40b03b:	75 6a                	jne    0x40b0a7
40b03d:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
40b041:	0f b6 46 01          	movzbl 0x1(%esi),%eax
40b045:	2b c8                	sub    %eax,%ecx
40b047:	74 12                	je     0x40b05b
40b049:	33 c0                	xor    %eax,%eax
40b04b:	85 c9                	test   %ecx,%ecx
40b04d:	0f 9f c0             	setg   %al
40b050:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40b057:	85 c0                	test   %eax,%eax
40b059:	75 4c                	jne    0x40b0a7
40b05b:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
40b05f:	0f b6 46 02          	movzbl 0x2(%esi),%eax
40b063:	eb 9d                	jmp    0x40b002
40b065:	8b 55 08             	mov    0x8(%ebp),%edx
40b068:	8b 75 0c             	mov    0xc(%ebp),%esi
40b06b:	0f b6 0a             	movzbl (%edx),%ecx
40b06e:	0f b6 06             	movzbl (%esi),%eax
40b071:	2b c8                	sub    %eax,%ecx
40b073:	74 12                	je     0x40b087
40b075:	33 c0                	xor    %eax,%eax
40b077:	85 c9                	test   %ecx,%ecx
40b079:	0f 9f c0             	setg   %al
40b07c:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
40b083:	85 c0                	test   %eax,%eax
40b085:	75 20                	jne    0x40b0a7
40b087:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
40b08b:	0f b6 46 01          	movzbl 0x1(%esi),%eax
40b08f:	e9 6e ff ff ff       	jmp    0x40b002
40b094:	8b 45 08             	mov    0x8(%ebp),%eax
40b097:	0f b6 08             	movzbl (%eax),%ecx
40b09a:	8b 45 0c             	mov    0xc(%ebp),%eax
40b09d:	0f b6 00             	movzbl (%eax),%eax
40b0a0:	e9 5d ff ff ff       	jmp    0x40b002
40b0a5:	33 c0                	xor    %eax,%eax
40b0a7:	5e                   	pop    %esi
40b0a8:	5b                   	pop    %ebx
40b0a9:	5d                   	pop    %ebp
40b0aa:	c3                   	ret
40b0ab:	8b ff                	mov    %edi,%edi
40b0ad:	b7 a2                	mov    $0xa2,%bh
40b0af:	40                   	inc    %eax
40b0b0:	00 d3                	add    %dl,%bl
40b0b2:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
40b0b3:	40                   	inc    %eax
40b0b4:	00 18                	add    %bl,(%eax)
40b0b6:	ab                   	stos   %eax,%es:(%edi)
40b0b7:	40                   	inc    %eax
40b0b8:	00 4e af             	add    %cl,-0x51(%esi)
40b0bb:	40                   	inc    %eax
40b0bc:	00 34 a2             	add    %dh,(%edx,%eiz,4)
40b0bf:	40                   	inc    %eax
40b0c0:	00 3c a6             	add    %bh,(%esi,%eiz,4)
40b0c3:	40                   	inc    %eax
40b0c4:	00 81 aa 40 00 b7    	add    %al,-0x48ffbf56(%ecx)
40b0ca:	ae                   	scas   %es:(%edi),%al
40b0cb:	40                   	inc    %eax
40b0cc:	00 9d a1 40 00 a4    	add    %bl,-0x5bffbf5f(%ebp)
40b0d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b0d3:	40                   	inc    %eax
40b0d4:	00 e9                	add    %ch,%cl
40b0d6:	a9 40 00 20 ae       	test   $0xae200040,%eax
40b0db:	40                   	inc    %eax
40b0dc:	00 05 a1 40 00 0d    	add    %al,0xd0040a1
40b0e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40b0e3:	40                   	inc    %eax
40b0e4:	00 52 a9             	add    %dl,-0x57(%edx)
40b0e7:	40                   	inc    %eax
40b0e8:	00 88 ad 40 00 6e    	add    %cl,0x6e0040ad(%eax)
40b0ee:	a0 40 00 76 a4       	mov    0xa4760040,%al
40b0f3:	40                   	inc    %eax
40b0f4:	00 bb a8 40 00 f1    	add    %bh,-0xeffbf58(%ebx)
40b0fa:	ac                   	lods   %ds:(%esi),%al
40b0fb:	40                   	inc    %eax
40b0fc:	00 d7                	add    %dl,%bh
40b0fe:	9f                   	lahf
40b0ff:	40                   	inc    %eax
40b100:	00 df                	add    %bl,%bh
40b102:	a3 40 00 24 a8       	mov    %eax,0xa8240040
40b107:	40                   	inc    %eax
40b108:	00 5a ac             	add    %bl,-0x54(%edx)
40b10b:	40                   	inc    %eax
40b10c:	00 40 9f             	add    %al,-0x61(%eax)
40b10f:	40                   	inc    %eax
40b110:	00 48 a3             	add    %cl,-0x5d(%eax)
40b113:	40                   	inc    %eax
40b114:	00 8d a7 40 00 c3    	add    %cl,-0x3cffbf59(%ebp)
40b11a:	ab                   	stos   %eax,%es:(%edi)
40b11b:	40                   	inc    %eax
40b11c:	00 a9 9e 40 00 c1    	add    %ch,-0x3effbf62(%ecx)
40b122:	a2 40 00 f6 a6       	mov    %al,0xa6f60040
40b127:	40                   	inc    %eax
40b128:	00 2b                	add    %ch,(%ebx)
40b12a:	ab                   	stos   %eax,%es:(%edi)
40b12b:	40                   	inc    %eax
40b12c:	00 e8                	add    %ch,%al
40b12e:	0b 05 00 00 e8 5e    	or     0x5ee80000,%eax
40b134:	04 00                	add    $0x0,%al
40b136:	00 e8                	add    %ch,%al
40b138:	9e                   	sahf
40b139:	06                   	push   %es
40b13a:	00 00                	add    %al,(%eax)
40b13c:	84 c0                	test   %al,%al
40b13e:	75 03                	jne    0x40b143
40b140:	32 c0                	xor    %al,%al
40b142:	c3                   	ret
40b143:	e8 ce 05 00 00       	call   0x40b716
40b148:	84 c0                	test   %al,%al
40b14a:	75 07                	jne    0x40b153
40b14c:	e8 c5 06 00 00       	call   0x40b816
40b151:	eb ed                	jmp    0x40b140
40b153:	b0 01                	mov    $0x1,%al
40b155:	c3                   	ret
40b156:	55                   	push   %ebp
40b157:	8b ec                	mov    %esp,%ebp
40b159:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40b15d:	75 12                	jne    0x40b171
40b15f:	e8 e5 05 00 00       	call   0x40b749
40b164:	e8 ad 06 00 00       	call   0x40b816
40b169:	6a 00                	push   $0x0
40b16b:	e8 5f 04 00 00       	call   0x40b5cf
40b170:	59                   	pop    %ecx
40b171:	b0 01                	mov    $0x1,%al
40b173:	5d                   	pop    %ebp
40b174:	c3                   	ret
40b175:	cc                   	int3
40b176:	cc                   	int3
40b177:	cc                   	int3
40b178:	cc                   	int3
40b179:	cc                   	int3
40b17a:	cc                   	int3
40b17b:	cc                   	int3
40b17c:	cc                   	int3
40b17d:	cc                   	int3
40b17e:	cc                   	int3
40b17f:	cc                   	int3
40b180:	55                   	push   %ebp
40b181:	8b ec                	mov    %esp,%ebp
40b183:	56                   	push   %esi
40b184:	8b 75 08             	mov    0x8(%ebp),%esi
40b187:	57                   	push   %edi
40b188:	8b 7d 0c             	mov    0xc(%ebp),%edi
40b18b:	8b 06                	mov    (%esi),%eax
40b18d:	83 f8 fe             	cmp    $0xfffffffe,%eax
40b190:	74 0d                	je     0x40b19f
40b192:	8b 4e 04             	mov    0x4(%esi),%ecx
40b195:	03 cf                	add    %edi,%ecx
40b197:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40b19a:	e8 c1 be ff ff       	call   0x407060
40b19f:	8b 46 08             	mov    0x8(%esi),%eax
40b1a2:	8b 4e 0c             	mov    0xc(%esi),%ecx
40b1a5:	03 cf                	add    %edi,%ecx
40b1a7:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40b1aa:	5f                   	pop    %edi
40b1ab:	5e                   	pop    %esi
40b1ac:	5d                   	pop    %ebp
40b1ad:	e9 ae be ff ff       	jmp    0x407060
40b1b2:	cc                   	int3
40b1b3:	cc                   	int3
40b1b4:	cc                   	int3
40b1b5:	cc                   	int3
40b1b6:	cc                   	int3
40b1b7:	cc                   	int3
40b1b8:	cc                   	int3
40b1b9:	cc                   	int3
40b1ba:	cc                   	int3
40b1bb:	cc                   	int3
40b1bc:	cc                   	int3
40b1bd:	cc                   	int3
40b1be:	cc                   	int3
40b1bf:	cc                   	int3
40b1c0:	55                   	push   %ebp
40b1c1:	8b ec                	mov    %esp,%ebp
40b1c3:	83 ec 1c             	sub    $0x1c,%esp
40b1c6:	53                   	push   %ebx
40b1c7:	56                   	push   %esi
40b1c8:	8b 75 0c             	mov    0xc(%ebp),%esi
40b1cb:	57                   	push   %edi
40b1cc:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40b1d0:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
40b1d7:	8b 5e 08             	mov    0x8(%esi),%ebx
40b1da:	8d 46 10             	lea    0x10(%esi),%eax
40b1dd:	33 1d 28 ba 43 00    	xor    0x43ba28,%ebx
40b1e3:	50                   	push   %eax
40b1e4:	53                   	push   %ebx
40b1e5:	89 45 ec             	mov    %eax,-0x14(%ebp)
40b1e8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40b1eb:	e8 90 ff ff ff       	call   0x40b180
40b1f0:	8b 7d 10             	mov    0x10(%ebp),%edi
40b1f3:	57                   	push   %edi
40b1f4:	e8 c3 05 00 00       	call   0x40b7bc
40b1f9:	8b 45 08             	mov    0x8(%ebp),%eax
40b1fc:	83 c4 0c             	add    $0xc,%esp
40b1ff:	f6 40 04 66          	testb  $0x66,0x4(%eax)
40b203:	0f 85 ba 00 00 00    	jne    0x40b2c3
40b209:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40b20c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40b20f:	89 7d e8             	mov    %edi,-0x18(%ebp)
40b212:	8b 7e 0c             	mov    0xc(%esi),%edi
40b215:	89 46 fc             	mov    %eax,-0x4(%esi)
40b218:	83 ff fe             	cmp    $0xfffffffe,%edi
40b21b:	0f 84 c9 00 00 00    	je     0x40b2ea
40b221:	8d 47 02             	lea    0x2(%edi),%eax
40b224:	8d 04 47             	lea    (%edi,%eax,2),%eax
40b227:	8b 4c 83 04          	mov    0x4(%ebx,%eax,4),%ecx
40b22b:	8d 04 83             	lea    (%ebx,%eax,4),%eax
40b22e:	8b 18                	mov    (%eax),%ebx
40b230:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b233:	85 c9                	test   %ecx,%ecx
40b235:	74 65                	je     0x40b29c
40b237:	8d 56 10             	lea    0x10(%esi),%edx
40b23a:	e8 0f 07 00 00       	call   0x40b94e
40b23f:	b1 01                	mov    $0x1,%cl
40b241:	88 4d ff             	mov    %cl,-0x1(%ebp)
40b244:	85 c0                	test   %eax,%eax
40b246:	78 66                	js     0x40b2ae
40b248:	7e 55                	jle    0x40b29f
40b24a:	8b 45 08             	mov    0x8(%ebp),%eax
40b24d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40b253:	75 37                	jne    0x40b28c
40b255:	83 3d 64 a6 42 00 00 	cmpl   $0x0,0x42a664
40b25c:	74 2e                	je     0x40b28c
40b25e:	68 64 a6 42 00       	push   $0x42a664
40b263:	e8 c8 af 01 00       	call   0x426230
40b268:	83 c4 04             	add    $0x4,%esp
40b26b:	85 c0                	test   %eax,%eax
40b26d:	74 1a                	je     0x40b289
40b26f:	8b 35 64 a6 42 00    	mov    0x42a664,%esi
40b275:	8b ce                	mov    %esi,%ecx
40b277:	6a 01                	push   $0x1
40b279:	ff 75 08             	push   0x8(%ebp)
40b27c:	e8 f0 bd ff ff       	call   0x407071
40b281:	ff d6                	call   *%esi
40b283:	8b 75 0c             	mov    0xc(%ebp),%esi
40b286:	83 c4 08             	add    $0x8,%esp
40b289:	8b 45 08             	mov    0x8(%ebp),%eax
40b28c:	8b d0                	mov    %eax,%edx
40b28e:	8b ce                	mov    %esi,%ecx
40b290:	e8 e9 06 00 00       	call   0x40b97e
40b295:	39 7e 0c             	cmp    %edi,0xc(%esi)
40b298:	74 6c                	je     0x40b306
40b29a:	eb 58                	jmp    0x40b2f4
40b29c:	8a 4d ff             	mov    -0x1(%ebp),%cl
40b29f:	8b fb                	mov    %ebx,%edi
40b2a1:	83 fb fe             	cmp    $0xfffffffe,%ebx
40b2a4:	74 14                	je     0x40b2ba
40b2a6:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2a9:	e9 73 ff ff ff       	jmp    0x40b221
40b2ae:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2b1:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40b2b8:	eb 24                	jmp    0x40b2de
40b2ba:	84 c9                	test   %cl,%cl
40b2bc:	74 2c                	je     0x40b2ea
40b2be:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40b2c1:	eb 1b                	jmp    0x40b2de
40b2c3:	83 7e 0c fe          	cmpl   $0xfffffffe,0xc(%esi)
40b2c7:	74 21                	je     0x40b2ea
40b2c9:	68 28 ba 43 00       	push   $0x43ba28
40b2ce:	8d 46 10             	lea    0x10(%esi),%eax
40b2d1:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
40b2d6:	50                   	push   %eax
40b2d7:	8b ce                	mov    %esi,%ecx
40b2d9:	e8 b9 06 00 00       	call   0x40b997
40b2de:	ff 75 ec             	push   -0x14(%ebp)
40b2e1:	53                   	push   %ebx
40b2e2:	e8 99 fe ff ff       	call   0x40b180
40b2e7:	83 c4 08             	add    $0x8,%esp
40b2ea:	8b 45 f4             	mov    -0xc(%ebp),%eax
40b2ed:	5f                   	pop    %edi
40b2ee:	5e                   	pop    %esi
40b2ef:	5b                   	pop    %ebx
40b2f0:	8b e5                	mov    %ebp,%esp
40b2f2:	5d                   	pop    %ebp
40b2f3:	c3                   	ret
40b2f4:	68 28 ba 43 00       	push   $0x43ba28