467006:	8b d1                	mov    %ecx,%edx
467008:	3b c1                	cmp    %ecx,%eax
46700a:	77 02                	ja     0x46700e
46700c:	8b d0                	mov    %eax,%edx
46700e:	01 55 08             	add    %edx,0x8(%ebp)
467011:	2b fa                	sub    %edx,%edi
467013:	3b c1                	cmp    %ecx,%eax
467015:	72 41                	jb     0x467058
467017:	8b 4d 08             	mov    0x8(%ebp),%ecx
46701a:	8b 55 fc             	mov    -0x4(%ebp),%edx
46701d:	eb 29                	jmp    0x467048
46701f:	0f be 01             	movsbl (%ecx),%eax
467022:	53                   	push   %ebx
467023:	50                   	push   %eax
467024:	e8 20 19 01 00       	call   0x478949
467029:	59                   	pop    %ecx
46702a:	59                   	pop    %ecx
46702b:	83 f8 ff             	cmp    $0xffffffff,%eax
46702e:	74 31                	je     0x467061
467030:	8b 4d 08             	mov    0x8(%ebp),%ecx
467033:	8b 53 18             	mov    0x18(%ebx),%edx
467036:	41                   	inc    %ecx
467037:	4f                   	dec    %edi
467038:	89 4d 08             	mov    %ecx,0x8(%ebp)
46703b:	89 55 fc             	mov    %edx,-0x4(%ebp)
46703e:	85 d2                	test   %edx,%edx
467040:	7f 06                	jg     0x467048
467042:	33 d2                	xor    %edx,%edx
467044:	42                   	inc    %edx
467045:	89 55 fc             	mov    %edx,-0x4(%ebp)
467048:	85 ff                	test   %edi,%edi
46704a:	0f 85 1a ff ff ff    	jne    0x466f6a
467050:	8b 45 10             	mov    0x10(%ebp),%eax
467053:	e9 d0 fe ff ff       	jmp    0x466f28
467058:	8b 45 f4             	mov    -0xc(%ebp),%eax
46705b:	6a 10                	push   $0x10
46705d:	59                   	pop    %ecx
46705e:	f0 09 08             	lock or %ecx,(%eax)
467061:	2b f7                	sub    %edi,%esi
467063:	33 d2                	xor    %edx,%edx
467065:	8b c6                	mov    %esi,%eax
467067:	f7 75 0c             	divl   0xc(%ebp)
46706a:	e9 b9 fe ff ff       	jmp    0x466f28
46706f:	8b ff                	mov    %edi,%edi
467071:	55                   	push   %ebp
467072:	8b ec                	mov    %esp,%ebp
467074:	83 ec 10             	sub    $0x10,%esp
467077:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46707b:	74 1c                	je     0x467099
46707d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
467081:	74 16                	je     0x467099
467083:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
467087:	75 16                	jne    0x46709f
467089:	e8 a1 5d fe ff       	call   0x44ce2f
46708e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
467094:	e8 3d 5c fe ff       	call   0x44ccd6
467099:	33 c0                	xor    %eax,%eax
46709b:	8b e5                	mov    %ebp,%esp
46709d:	5d                   	pop    %ebp
46709e:	c3                   	ret
46709f:	8d 45 14             	lea    0x14(%ebp),%eax
4670a2:	89 45 f0             	mov    %eax,-0x10(%ebp)
4670a5:	8d 45 08             	lea    0x8(%ebp),%eax
4670a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4670ab:	8d 45 0c             	lea    0xc(%ebp),%eax
4670ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
4670b1:	8d 45 10             	lea    0x10(%ebp),%eax
4670b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4670b7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4670ba:	50                   	push   %eax
4670bb:	ff 75 14             	push   0x14(%ebp)
4670be:	e8 6d fd ff ff       	call   0x466e30
4670c3:	59                   	pop    %ecx
4670c4:	59                   	pop    %ecx
4670c5:	eb d4                	jmp    0x46709b
4670c7:	8b ff                	mov    %edi,%edi
4670c9:	55                   	push   %ebp
4670ca:	8b ec                	mov    %esp,%ebp
4670cc:	8b 55 0c             	mov    0xc(%ebp),%edx
4670cf:	56                   	push   %esi
4670d0:	8b 75 08             	mov    0x8(%ebp),%esi
4670d3:	57                   	push   %edi
4670d4:	0f b7 3a             	movzwl (%edx),%edi
4670d7:	0f b7 0e             	movzwl (%esi),%ecx
4670da:	2b cf                	sub    %edi,%ecx
4670dc:	75 15                	jne    0x4670f3
4670de:	2b f2                	sub    %edx,%esi
4670e0:	66 85 ff             	test   %di,%di
4670e3:	74 0e                	je     0x4670f3
4670e5:	83 c2 02             	add    $0x2,%edx
4670e8:	0f b7 3a             	movzwl (%edx),%edi
4670eb:	0f b7 0c 16          	movzwl (%esi,%edx,1),%ecx
4670ef:	2b cf                	sub    %edi,%ecx
4670f1:	74 ed                	je     0x4670e0
4670f3:	5f                   	pop    %edi
4670f4:	5e                   	pop    %esi
4670f5:	85 c9                	test   %ecx,%ecx
4670f7:	79 05                	jns    0x4670fe
4670f9:	83 c8 ff             	or     $0xffffffff,%eax
4670fc:	5d                   	pop    %ebp
4670fd:	c3                   	ret
4670fe:	33 c0                	xor    %eax,%eax
467100:	85 c9                	test   %ecx,%ecx
467102:	0f 9f c0             	setg   %al
467105:	5d                   	pop    %ebp
467106:	c3                   	ret
467107:	8b ff                	mov    %edi,%edi
467109:	55                   	push   %ebp
46710a:	8b ec                	mov    %esp,%ebp
46710c:	83 3d 08 bf 4b 00 00 	cmpl   $0x0,0x4bbf08
467113:	75 75                	jne    0x46718a
467115:	8b 55 08             	mov    0x8(%ebp),%edx
467118:	85 d2                	test   %edx,%edx
46711a:	75 17                	jne    0x467133
46711c:	e8 0e 5d fe ff       	call   0x44ce2f
467121:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
467127:	e8 aa 5b fe ff       	call   0x44ccd6
46712c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
467131:	5d                   	pop    %ebp
467132:	c3                   	ret
467133:	8b 4d 0c             	mov    0xc(%ebp),%ecx
467136:	85 c9                	test   %ecx,%ecx
467138:	74 e2                	je     0x46711c
46713a:	53                   	push   %ebx
46713b:	56                   	push   %esi
46713c:	57                   	push   %edi
46713d:	6a 41                	push   $0x41
46713f:	5f                   	pop    %edi
467140:	6a 5a                	push   $0x5a
467142:	2b d1                	sub    %ecx,%edx
467144:	5b                   	pop    %ebx
467145:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
467149:	66 3b c7             	cmp    %di,%ax
46714c:	72 0d                	jb     0x46715b
46714e:	66 3b c3             	cmp    %bx,%ax
467151:	77 08                	ja     0x46715b
467153:	83 c0 20             	add    $0x20,%eax
467156:	0f b7 f0             	movzwl %ax,%esi
467159:	eb 02                	jmp    0x46715d
46715b:	8b f0                	mov    %eax,%esi
46715d:	0f b7 01             	movzwl (%ecx),%eax
467160:	66 3b c7             	cmp    %di,%ax
467163:	72 0b                	jb     0x467170
467165:	66 3b c3             	cmp    %bx,%ax
467168:	77 06                	ja     0x467170
46716a:	83 c0 20             	add    $0x20,%eax
46716d:	0f b7 c0             	movzwl %ax,%eax
467170:	83 c1 02             	add    $0x2,%ecx
467173:	66 85 f6             	test   %si,%si
467176:	74 05                	je     0x46717d
467178:	66 3b f0             	cmp    %ax,%si
46717b:	74 c8                	je     0x467145
46717d:	0f b7 c8             	movzwl %ax,%ecx
467180:	5f                   	pop    %edi
467181:	0f b7 c6             	movzwl %si,%eax
467184:	5e                   	pop    %esi
467185:	2b c1                	sub    %ecx,%eax
467187:	5b                   	pop    %ebx
467188:	5d                   	pop    %ebp
467189:	c3                   	ret
46718a:	6a 00                	push   $0x0
46718c:	ff 75 0c             	push   0xc(%ebp)
46718f:	ff 75 08             	push   0x8(%ebp)
467192:	e8 05 00 00 00       	call   0x46719c
467197:	83 c4 0c             	add    $0xc,%esp
46719a:	5d                   	pop    %ebp
46719b:	c3                   	ret
46719c:	8b ff                	mov    %edi,%edi
46719e:	55                   	push   %ebp
46719f:	8b ec                	mov    %esp,%ebp
4671a1:	83 ec 10             	sub    $0x10,%esp
4671a4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4671a7:	53                   	push   %ebx
4671a8:	56                   	push   %esi
4671a9:	ff 75 10             	push   0x10(%ebp)
4671ac:	e8 57 7e fe ff       	call   0x44f008
4671b1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4671b4:	85 db                	test   %ebx,%ebx
4671b6:	74 07                	je     0x4671bf
4671b8:	8b 75 0c             	mov    0xc(%ebp),%esi
4671bb:	85 f6                	test   %esi,%esi
4671bd:	75 1a                	jne    0x4671d9
4671bf:	e8 6b 5c fe ff       	call   0x44ce2f
4671c4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4671ca:	e8 07 5b fe ff       	call   0x44ccd6
4671cf:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4671d4:	e9 8b 00 00 00       	jmp    0x467264
4671d9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4671dc:	57                   	push   %edi
4671dd:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
4671e4:	75 42                	jne    0x467228
4671e6:	6a 41                	push   $0x41
4671e8:	59                   	pop    %ecx
4671e9:	6a 5a                	push   $0x5a
4671eb:	2b de                	sub    %esi,%ebx
4671ed:	5a                   	pop    %edx
4671ee:	0f b7 04 33          	movzwl (%ebx,%esi,1),%eax
4671f2:	66 3b c1             	cmp    %cx,%ax
4671f5:	72 0d                	jb     0x467204
4671f7:	66 3b c2             	cmp    %dx,%ax
4671fa:	77 08                	ja     0x467204
4671fc:	83 c0 20             	add    $0x20,%eax
4671ff:	0f b7 f8             	movzwl %ax,%edi
467202:	eb 02                	jmp    0x467206
467204:	8b f8                	mov    %eax,%edi
467206:	0f b7 06             	movzwl (%esi),%eax
467209:	66 3b c1             	cmp    %cx,%ax
46720c:	72 0b                	jb     0x467219
46720e:	66 3b c2             	cmp    %dx,%ax
467211:	77 06                	ja     0x467219
467213:	83 c0 20             	add    $0x20,%eax
467216:	0f b7 c0             	movzwl %ax,%eax
467219:	83 c6 02             	add    $0x2,%esi
46721c:	66 85 ff             	test   %di,%di
46721f:	74 3a                	je     0x46725b
467221:	66 3b f8             	cmp    %ax,%di
467224:	74 c8                	je     0x4671ee
467226:	eb 33                	jmp    0x46725b
467228:	0f b7 03             	movzwl (%ebx),%eax
46722b:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46722e:	51                   	push   %ecx
46722f:	50                   	push   %eax
467230:	e8 0e 32 01 00       	call   0x47a443
467235:	8d 4d f4             	lea    -0xc(%ebp),%ecx
467238:	0f b7 f8             	movzwl %ax,%edi
46723b:	0f b7 06             	movzwl (%esi),%eax
46723e:	8d 5b 02             	lea    0x2(%ebx),%ebx
467241:	51                   	push   %ecx
467242:	50                   	push   %eax
467243:	e8 fb 31 01 00       	call   0x47a443
467248:	83 c4 10             	add    $0x10,%esp
46724b:	0f b7 c0             	movzwl %ax,%eax
46724e:	8d 76 02             	lea    0x2(%esi),%esi
467251:	66 85 ff             	test   %di,%di
467254:	74 05                	je     0x46725b
467256:	66 3b f8             	cmp    %ax,%di
467259:	74 cd                	je     0x467228
46725b:	0f b7 d7             	movzwl %di,%edx
46725e:	0f b7 c0             	movzwl %ax,%eax
467261:	2b d0                	sub    %eax,%edx
467263:	5f                   	pop    %edi
467264:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
467268:	5e                   	pop    %esi
467269:	5b                   	pop    %ebx
46726a:	74 0a                	je     0x467276
46726c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46726f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
467276:	8b c2                	mov    %edx,%eax
467278:	8b e5                	mov    %ebp,%esp
46727a:	5d                   	pop    %ebp
46727b:	c3                   	ret
46727c:	8b ff                	mov    %edi,%edi
46727e:	55                   	push   %ebp
46727f:	8b ec                	mov    %esp,%ebp
467281:	ff 75 08             	push   0x8(%ebp)
467284:	e8 b0 b0 00 00       	call   0x472339
467289:	59                   	pop    %ecx
46728a:	5d                   	pop    %ebp
46728b:	c2 04 00             	ret    $0x4
46728e:	8b ff                	mov    %edi,%edi
467290:	55                   	push   %ebp
467291:	8b ec                	mov    %esp,%ebp
467293:	56                   	push   %esi
467294:	e8 b5 ae 00 00       	call   0x47214e
467299:	8b f0                	mov    %eax,%esi
46729b:	85 f6                	test   %esi,%esi
46729d:	75 07                	jne    0x4672a6
46729f:	b8 30 cb 49 00       	mov    $0x49cb30,%eax
4672a4:	eb 31                	jmp    0x4672d7
4672a6:	53                   	push   %ebx
4672a7:	57                   	push   %edi
4672a8:	8b 7e 40             	mov    0x40(%esi),%edi
4672ab:	33 db                	xor    %ebx,%ebx
4672ad:	85 ff                	test   %edi,%edi
4672af:	75 29                	jne    0x4672da
4672b1:	6a 01                	push   $0x1
4672b3:	68 86 00 00 00       	push   $0x86
4672b8:	e8 96 af 00 00       	call   0x472253
4672bd:	53                   	push   %ebx
4672be:	89 46 40             	mov    %eax,0x40(%esi)
4672c1:	e8 73 b0 00 00       	call   0x472339
4672c6:	8b 7e 40             	mov    0x40(%esi),%edi
4672c9:	83 c4 0c             	add    $0xc,%esp
4672cc:	85 ff                	test   %edi,%edi
4672ce:	75 0a                	jne    0x4672da
4672d0:	b8 30 cb 49 00       	mov    $0x49cb30,%eax
4672d5:	5f                   	pop    %edi
4672d6:	5b                   	pop    %ebx
4672d7:	5e                   	pop    %esi
4672d8:	5d                   	pop    %ebp
4672d9:	c3                   	ret
4672da:	ff 75 08             	push   0x8(%ebp)
4672dd:	e8 12 02 00 00       	call   0x4674f4
4672e2:	68 85 00 00 00       	push   $0x85
4672e7:	50                   	push   %eax
4672e8:	68 86 00 00 00       	push   $0x86
4672ed:	57                   	push   %edi
4672ee:	e8 9a 35 01 00       	call   0x47a88d
4672f3:	83 c4 14             	add    $0x14,%esp
4672f6:	85 c0                	test   %eax,%eax
4672f8:	75 05                	jne    0x4672ff
4672fa:	8b 46 40             	mov    0x40(%esi),%eax
4672fd:	eb d6                	jmp    0x4672d5
4672ff:	53                   	push   %ebx
467300:	53                   	push   %ebx
467301:	53                   	push   %ebx
467302:	53                   	push   %ebx
467303:	53                   	push   %ebx
467304:	e8 fa 59 fe ff       	call   0x44cd03
467309:	cc                   	int3
46730a:	8b ff                	mov    %edi,%edi
46730c:	55                   	push   %ebp
46730d:	8b ec                	mov    %esp,%ebp
46730f:	56                   	push   %esi
467310:	e8 39 ae 00 00       	call   0x47214e
467315:	8b f0                	mov    %eax,%esi
467317:	85 f6                	test   %esi,%esi
467319:	75 07                	jne    0x467322
46731b:	b8 70 cb 49 00       	mov    $0x49cb70,%eax
467320:	eb 31                	jmp    0x467353
467322:	53                   	push   %ebx
467323:	57                   	push   %edi
467324:	8b 7e 44             	mov    0x44(%esi),%edi
467327:	33 db                	xor    %ebx,%ebx
467329:	85 ff                	test   %edi,%edi
46732b:	75 29                	jne    0x467356
46732d:	6a 02                	push   $0x2
46732f:	68 86 00 00 00       	push   $0x86
467334:	e8 1a af 00 00       	call   0x472253
467339:	53                   	push   %ebx
46733a:	89 46 44             	mov    %eax,0x44(%esi)
46733d:	e8 f7 af 00 00       	call   0x472339
467342:	8b 7e 44             	mov    0x44(%esi),%edi
467345:	83 c4 0c             	add    $0xc,%esp
467348:	85 ff                	test   %edi,%edi
46734a:	75 0a                	jne    0x467356
46734c:	b8 70 cb 49 00       	mov    $0x49cb70,%eax
467351:	5f                   	pop    %edi
467352:	5b                   	pop    %ebx
467353:	5e                   	pop    %esi
467354:	5d                   	pop    %ebp
467355:	c3                   	ret
467356:	ff 75 08             	push   0x8(%ebp)
467359:	e8 96 01 00 00       	call   0x4674f4
46735e:	68 85 00 00 00       	push   $0x85
467363:	50                   	push   %eax
467364:	68 86 00 00 00       	push   $0x86
467369:	57                   	push   %edi
46736a:	53                   	push   %ebx
46736b:	e8 4c 34 01 00       	call   0x47a7bc