4062c8:	e8 2f 02 00 00       	call   0x4064fc
4062cd:	83 c4 0c             	add    $0xc,%esp
4062d0:	85 c0                	test   %eax,%eax
4062d2:	74 15                	je     0x4062e9
4062d4:	ff 05 d8 1d 42 00    	incl   0x421dd8
4062da:	83 c6 18             	add    $0x18,%esi
4062dd:	83 c7 18             	add    $0x18,%edi
4062e0:	83 fe 18             	cmp    $0x18,%esi
4062e3:	72 db                	jb     0x4062c0
4062e5:	b0 01                	mov    $0x1,%al
4062e7:	eb 07                	jmp    0x4062f0
4062e9:	e8 05 00 00 00       	call   0x4062f3
4062ee:	32 c0                	xor    %al,%al
4062f0:	5f                   	pop    %edi
4062f1:	5e                   	pop    %esi
4062f2:	c3                   	ret
4062f3:	56                   	push   %esi
4062f4:	8b 35 d8 1d 42 00    	mov    0x421dd8,%esi
4062fa:	85 f6                	test   %esi,%esi
4062fc:	74 20                	je     0x40631e
4062fe:	6b c6 18             	imul   $0x18,%esi,%eax
406301:	57                   	push   %edi
406302:	8d b8 a8 1d 42 00    	lea    0x421da8(%eax),%edi
406308:	57                   	push   %edi
406309:	ff 15 98 90 41 00    	call   *0x419098
40630f:	ff 0d d8 1d 42 00    	decl   0x421dd8
406315:	83 ef 18             	sub    $0x18,%edi
406318:	83 ee 01             	sub    $0x1,%esi
40631b:	75 eb                	jne    0x406308
40631d:	5f                   	pop    %edi
40631e:	b0 01                	mov    $0x1,%al
406320:	5e                   	pop    %esi
406321:	c3                   	ret
406322:	55                   	push   %ebp
406323:	8b ec                	mov    %esp,%ebp
406325:	51                   	push   %ecx
406326:	51                   	push   %ecx
406327:	8b 45 08             	mov    0x8(%ebp),%eax
40632a:	57                   	push   %edi
40632b:	8d 04 85 24 1e 42 00 	lea    0x421e24(,%eax,4),%eax
406332:	89 45 f8             	mov    %eax,-0x8(%ebp)
406335:	8b 00                	mov    (%eax),%eax
406337:	90                   	nop
406338:	83 cf ff             	or     $0xffffffff,%edi
40633b:	3b c7                	cmp    %edi,%eax
40633d:	75 04                	jne    0x406343
40633f:	33 c0                	xor    %eax,%eax
406341:	eb 56                	jmp    0x406399
406343:	85 c0                	test   %eax,%eax
406345:	75 52                	jne    0x406399
406347:	53                   	push   %ebx
406348:	8b 5d 10             	mov    0x10(%ebp),%ebx
40634b:	56                   	push   %esi
40634c:	eb 3d                	jmp    0x40638b
40634e:	8b 0b                	mov    (%ebx),%ecx
406350:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406353:	8d 04 8d 18 1e 42 00 	lea    0x421e18(,%ecx,4),%eax
40635a:	8b 30                	mov    (%eax),%esi
40635c:	90                   	nop
40635d:	85 f6                	test   %esi,%esi
40635f:	74 06                	je     0x406367
406361:	3b f7                	cmp    %edi,%esi
406363:	75 46                	jne    0x4063ab
406365:	eb 21                	jmp    0x406388
406367:	ff 34 8d 9c 9f 41 00 	push   0x419f9c(,%ecx,4)
40636e:	e8 4f 00 00 00       	call   0x4063c2
406373:	8b 55 fc             	mov    -0x4(%ebp),%edx
406376:	8b f0                	mov    %eax,%esi
406378:	59                   	pop    %ecx
406379:	8d 0c 95 18 1e 42 00 	lea    0x421e18(,%edx,4),%ecx
406380:	85 f6                	test   %esi,%esi
406382:	75 18                	jne    0x40639c
406384:	8b c7                	mov    %edi,%eax
406386:	87 01                	xchg   %eax,(%ecx)
406388:	83 c3 04             	add    $0x4,%ebx
40638b:	3b 5d 14             	cmp    0x14(%ebp),%ebx
40638e:	75 be                	jne    0x40634e
406390:	8b 55 f8             	mov    -0x8(%ebp),%edx
406393:	87 3a                	xchg   %edi,(%edx)
406395:	33 c0                	xor    %eax,%eax
406397:	5e                   	pop    %esi
406398:	5b                   	pop    %ebx
406399:	5f                   	pop    %edi
40639a:	c9                   	leave
40639b:	c3                   	ret
40639c:	8b c6                	mov    %esi,%eax
40639e:	87 01                	xchg   %eax,(%ecx)
4063a0:	85 c0                	test   %eax,%eax
4063a2:	74 07                	je     0x4063ab
4063a4:	56                   	push   %esi
4063a5:	ff 15 b0 90 41 00    	call   *0x4190b0
4063ab:	ff 75 0c             	push   0xc(%ebp)
4063ae:	56                   	push   %esi
4063af:	ff 15 b4 90 41 00    	call   *0x4190b4
4063b5:	85 c0                	test   %eax,%eax
4063b7:	74 d7                	je     0x406390
4063b9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4063bc:	8b c8                	mov    %eax,%ecx
4063be:	87 0a                	xchg   %ecx,(%edx)
4063c0:	eb d5                	jmp    0x406397
4063c2:	55                   	push   %ebp
4063c3:	8b ec                	mov    %esp,%ebp
4063c5:	68 00 08 00 00       	push   $0x800
4063ca:	6a 00                	push   $0x0
4063cc:	ff 75 08             	push   0x8(%ebp)
4063cf:	ff 15 00 90 41 00    	call   *0x419000
4063d5:	85 c0                	test   %eax,%eax
4063d7:	75 32                	jne    0x40640b
4063d9:	ff 15 28 90 41 00    	call   *0x419028
4063df:	83 f8 57             	cmp    $0x57,%eax
4063e2:	75 25                	jne    0x406409
4063e4:	6a 07                	push   $0x7
4063e6:	68 34 a0 41 00       	push   $0x41a034
4063eb:	ff 75 08             	push   0x8(%ebp)
4063ee:	e8 65 42 00 00       	call   0x40a658
4063f3:	83 c4 0c             	add    $0xc,%esp
4063f6:	85 c0                	test   %eax,%eax
4063f8:	74 0f                	je     0x406409
4063fa:	6a 00                	push   $0x0
4063fc:	6a 00                	push   $0x0
4063fe:	ff 75 08             	push   0x8(%ebp)
406401:	ff 15 00 90 41 00    	call   *0x419000
406407:	5d                   	pop    %ebp
406408:	c3                   	ret
406409:	33 c0                	xor    %eax,%eax
40640b:	5d                   	pop    %ebp
40640c:	c3                   	ret
40640d:	55                   	push   %ebp
40640e:	8b ec                	mov    %esp,%ebp
406410:	56                   	push   %esi
406411:	68 4c a0 41 00       	push   $0x41a04c
406416:	68 44 a0 41 00       	push   $0x41a044
40641b:	68 4c a0 41 00       	push   $0x41a04c
406420:	6a 00                	push   $0x0
406422:	e8 fb fe ff ff       	call   0x406322
406427:	8b f0                	mov    %eax,%esi
406429:	83 c4 10             	add    $0x10,%esp
40642c:	85 f6                	test   %esi,%esi
40642e:	74 10                	je     0x406440
406430:	ff 75 08             	push   0x8(%ebp)
406433:	8b ce                	mov    %esi,%ecx
406435:	ff 15 54 91 41 00    	call   *0x419154
40643b:	ff d6                	call   *%esi
40643d:	5e                   	pop    %esi
40643e:	5d                   	pop    %ebp
40643f:	c3                   	ret
406440:	5e                   	pop    %esi
406441:	5d                   	pop    %ebp
406442:	ff 25 a0 90 41 00    	jmp    *0x4190a0
406448:	55                   	push   %ebp
406449:	8b ec                	mov    %esp,%ebp
40644b:	56                   	push   %esi
40644c:	68 60 a0 41 00       	push   $0x41a060
406451:	68 58 a0 41 00       	push   $0x41a058
406456:	68 60 a0 41 00       	push   $0x41a060
40645b:	6a 01                	push   $0x1
40645d:	e8 c0 fe ff ff       	call   0x406322
406462:	83 c4 10             	add    $0x10,%esp
406465:	8b f0                	mov    %eax,%esi
406467:	ff 75 08             	push   0x8(%ebp)
40646a:	85 f6                	test   %esi,%esi
40646c:	74 0c                	je     0x40647a
40646e:	8b ce                	mov    %esi,%ecx
406470:	ff 15 54 91 41 00    	call   *0x419154
406476:	ff d6                	call   *%esi
406478:	eb 06                	jmp    0x406480
40647a:	ff 15 ac 90 41 00    	call   *0x4190ac
406480:	5e                   	pop    %esi
406481:	5d                   	pop    %ebp
406482:	c3                   	ret
406483:	55                   	push   %ebp
406484:	8b ec                	mov    %esp,%ebp
406486:	56                   	push   %esi
406487:	68 70 a0 41 00       	push   $0x41a070
40648c:	68 68 a0 41 00       	push   $0x41a068
406491:	68 70 a0 41 00       	push   $0x41a070
406496:	6a 02                	push   $0x2
406498:	e8 85 fe ff ff       	call   0x406322
40649d:	83 c4 10             	add    $0x10,%esp
4064a0:	8b f0                	mov    %eax,%esi
4064a2:	ff 75 08             	push   0x8(%ebp)
4064a5:	85 f6                	test   %esi,%esi
4064a7:	74 0c                	je     0x4064b5
4064a9:	8b ce                	mov    %esi,%ecx
4064ab:	ff 15 54 91 41 00    	call   *0x419154
4064b1:	ff d6                	call   *%esi
4064b3:	eb 06                	jmp    0x4064bb
4064b5:	ff 15 a4 90 41 00    	call   *0x4190a4
4064bb:	5e                   	pop    %esi
4064bc:	5d                   	pop    %ebp
4064bd:	c3                   	ret
4064be:	55                   	push   %ebp
4064bf:	8b ec                	mov    %esp,%ebp
4064c1:	56                   	push   %esi
4064c2:	68 84 a0 41 00       	push   $0x41a084
4064c7:	68 7c a0 41 00       	push   $0x41a07c
4064cc:	68 84 a0 41 00       	push   $0x41a084
4064d1:	6a 03                	push   $0x3
4064d3:	e8 4a fe ff ff       	call   0x406322
4064d8:	83 c4 10             	add    $0x10,%esp
4064db:	8b f0                	mov    %eax,%esi
4064dd:	ff 75 0c             	push   0xc(%ebp)
4064e0:	ff 75 08             	push   0x8(%ebp)
4064e3:	85 f6                	test   %esi,%esi
4064e5:	74 0c                	je     0x4064f3
4064e7:	8b ce                	mov    %esi,%ecx
4064e9:	ff 15 54 91 41 00    	call   *0x419154
4064ef:	ff d6                	call   *%esi
4064f1:	eb 06                	jmp    0x4064f9
4064f3:	ff 15 a8 90 41 00    	call   *0x4190a8
4064f9:	5e                   	pop    %esi
4064fa:	5d                   	pop    %ebp
4064fb:	c3                   	ret
4064fc:	55                   	push   %ebp
4064fd:	8b ec                	mov    %esp,%ebp
4064ff:	56                   	push   %esi
406500:	68 98 a0 41 00       	push   $0x41a098
406505:	68 90 a0 41 00       	push   $0x41a090
40650a:	68 98 a0 41 00       	push   $0x41a098
40650f:	6a 04                	push   $0x4
406511:	e8 0c fe ff ff       	call   0x406322
406516:	8b f0                	mov    %eax,%esi
406518:	83 c4 10             	add    $0x10,%esp
40651b:	85 f6                	test   %esi,%esi
40651d:	74 15                	je     0x406534
40651f:	ff 75 10             	push   0x10(%ebp)
406522:	8b ce                	mov    %esi,%ecx
406524:	ff 75 0c             	push   0xc(%ebp)
406527:	ff 75 08             	push   0x8(%ebp)
40652a:	ff 15 54 91 41 00    	call   *0x419154
406530:	ff d6                	call   *%esi
406532:	eb 0c                	jmp    0x406540
406534:	ff 75 0c             	push   0xc(%ebp)
406537:	ff 75 08             	push   0x8(%ebp)
40653a:	ff 15 9c 90 41 00    	call   *0x41909c
406540:	5e                   	pop    %esi
406541:	5d                   	pop    %ebp
406542:	c3                   	ret
406543:	56                   	push   %esi
406544:	e8 53 ed ff ff       	call   0x40529c
406549:	8b 70 04             	mov    0x4(%eax),%esi
40654c:	85 f6                	test   %esi,%esi
40654e:	74 0a                	je     0x40655a
406550:	8b ce                	mov    %esi,%ecx
406552:	ff 15 54 91 41 00    	call   *0x419154
406558:	ff d6                	call   *%esi
40655a:	e8 8f 3f 00 00       	call   0x40a4ee
40655f:	cc                   	int3
406560:	55                   	push   %ebp
406561:	8b ec                	mov    %esp,%ebp
406563:	8b 45 10             	mov    0x10(%ebp),%eax
406566:	8b 4d 08             	mov    0x8(%ebp),%ecx
406569:	81 78 04 80 00 00 00 	cmpl   $0x80,0x4(%eax)
406570:	7f 06                	jg     0x406578
406572:	0f be 41 08          	movsbl 0x8(%ecx),%eax
406576:	5d                   	pop    %ebp
406577:	c3                   	ret
406578:	8b 41 08             	mov    0x8(%ecx),%eax
40657b:	5d                   	pop    %ebp
40657c:	c3                   	ret
40657d:	55                   	push   %ebp
40657e:	8b ec                	mov    %esp,%ebp
406580:	8b 45 08             	mov    0x8(%ebp),%eax
406583:	8b 4d 10             	mov    0x10(%ebp),%ecx
406586:	89 48 08             	mov    %ecx,0x8(%eax)
406589:	5d                   	pop    %ebp
40658a:	c3                   	ret
40658b:	cc                   	int3
40658c:	cc                   	int3
40658d:	cc                   	int3
40658e:	cc                   	int3
40658f:	cc                   	int3
406590:	53                   	push   %ebx
406591:	51                   	push   %ecx
406592:	bb 20 11 42 00       	mov    $0x421120,%ebx
406597:	e9 0f 00 00 00       	jmp    0x4065ab
40659c:	cc                   	int3
40659d:	cc                   	int3
40659e:	cc                   	int3
40659f:	cc                   	int3
4065a0:	53                   	push   %ebx
4065a1:	51                   	push   %ecx
4065a2:	bb 20 11 42 00       	mov    $0x421120,%ebx
4065a7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4065ab:	89 4b 08             	mov    %ecx,0x8(%ebx)
4065ae:	89 43 04             	mov    %eax,0x4(%ebx)
4065b1:	89 6b 0c             	mov    %ebp,0xc(%ebx)
4065b4:	55                   	push   %ebp
4065b5:	51                   	push   %ecx
4065b6:	50                   	push   %eax
4065b7:	58                   	pop    %eax
4065b8:	59                   	pop    %ecx
4065b9:	5d                   	pop    %ebp
4065ba:	59                   	pop    %ecx
4065bb:	5b                   	pop    %ebx
4065bc:	c2 04 00             	ret    $0x4
4065bf:	cc                   	int3
4065c0:	ff d0                	call   *%eax
4065c2:	c3                   	ret
4065c3:	a1 3c 1e 42 00       	mov    0x421e3c,%eax
4065c8:	56                   	push   %esi
4065c9:	6a 03                	push   $0x3
4065cb:	5e                   	pop    %esi
4065cc:	85 c0                	test   %eax,%eax
4065ce:	75 07                	jne    0x4065d7
4065d0:	b8 00 02 00 00       	mov    $0x200,%eax
4065d5:	eb 06                	jmp    0x4065dd
4065d7:	3b c6                	cmp    %esi,%eax
4065d9:	7d 07                	jge    0x4065e2
4065db:	8b c6                	mov    %esi,%eax
4065dd:	a3 3c 1e 42 00       	mov    %eax,0x421e3c
4065e2:	6a 04                	push   $0x4
4065e4:	50                   	push   %eax
4065e5:	e8 58 41 00 00       	call   0x40a742
4065ea:	6a 00                	push   $0x0
4065ec:	a3 40 1e 42 00       	mov    %eax,0x421e40
4065f1:	e8 a9 41 00 00       	call   0x40a79f
4065f6:	83 c4 0c             	add    $0xc,%esp
4065f9:	83 3d 40 1e 42 00 00 	cmpl   $0x0,0x421e40
406600:	75 2b                	jne    0x40662d
406602:	6a 04                	push   $0x4
406604:	56                   	push   %esi
406605:	89 35 3c 1e 42 00    	mov    %esi,0x421e3c
40660b:	e8 32 41 00 00       	call   0x40a742
406610:	6a 00                	push   $0x0
406612:	a3 40 1e 42 00       	mov    %eax,0x421e40
406617:	e8 83 41 00 00       	call   0x40a79f
40661c:	83 c4 0c             	add    $0xc,%esp
40661f:	83 3d 40 1e 42 00 00 	cmpl   $0x0,0x421e40
406626:	75 05                	jne    0x40662d
406628:	83 c8 ff             	or     $0xffffffff,%eax
40662b:	5e                   	pop    %esi
40662c:	c3                   	ret
40662d:	57                   	push   %edi
40662e:	33 ff                	xor    %edi,%edi
406630:	be 30 11 42 00       	mov    $0x421130,%esi
406635:	6a 00                	push   $0x0
406637:	68 a0 0f 00 00       	push   $0xfa0
40663c:	8d 46 20             	lea    0x20(%esi),%eax
40663f:	50                   	push   %eax
406640:	e8 ce 44 00 00       	call   0x40ab13
406645:	a1 40 1e 42 00       	mov    0x421e40,%eax
40664a:	8b d7                	mov    %edi,%edx
40664c:	c1 fa 06             	sar    $0x6,%edx
40664f:	89 34 b8             	mov    %esi,(%eax,%edi,4)
406652:	8b c7                	mov    %edi,%eax
406654:	83 e0 3f             	and    $0x3f,%eax
406657:	6b c8 38             	imul   $0x38,%eax,%ecx
40665a:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
406661:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax