4063be:	74 1b                	je     0x4063db
4063c0:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4063c4:	e8 a7 06 00 00       	call   0x406a70
4063c9:	57                   	push   %edi
4063ca:	ff 74 24 18          	push   0x18(%esp)
4063ce:	8d 54 24 30          	lea    0x30(%esp),%edx
4063d2:	8b cb                	mov    %ebx,%ecx
4063d4:	6a 00                	push   $0x0
4063d6:	e8 b9 04 00 00       	call   0x406894
4063db:	8b 44 24 18          	mov    0x18(%esp),%eax
4063df:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4063e3:	a3 ac 10 41 00       	mov    %eax,0x4110ac
4063e8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4063ec:	a3 a8 10 41 00       	mov    %eax,0x4110a8
4063f1:	e8 f6 05 00 00       	call   0x4069ec
4063f6:	85 c0                	test   %eax,%eax
4063f8:	74 1a                	je     0x406414
4063fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4063fe:	e8 6d 06 00 00       	call   0x406a70
406403:	57                   	push   %edi
406404:	ff 74 24 18          	push   0x18(%esp)
406408:	8d 54 24 30          	lea    0x30(%esp),%edx
40640c:	8b cb                	mov    %ebx,%ecx
40640e:	57                   	push   %edi
40640f:	e8 80 04 00 00       	call   0x406894
406414:	53                   	push   %ebx
406415:	56                   	push   %esi
406416:	e9 04 f9 ff ff       	jmp    0x405d1f
40641b:	8b 45 14             	mov    0x14(%ebp),%eax
40641e:	0f bf f8             	movswl %ax,%edi
406421:	c1 e8 10             	shr    $0x10,%eax
406424:	83 3d 60 25 43 00 00 	cmpl   $0x0,0x432560
40642b:	0f bf d8             	movswl %ax,%ebx
40642e:	0f 84 9b 00 00 00    	je     0x4064cf
406434:	53                   	push   %ebx
406435:	57                   	push   %edi
406436:	68 cc 18 41 00       	push   $0x4118cc
40643b:	ff 15 28 32 43 00    	call   *0x433228
406441:	85 c0                	test   %eax,%eax
406443:	0f 84 86 00 00 00    	je     0x4064cf
406449:	53                   	push   %ebx
40644a:	57                   	push   %edi
40644b:	e8 81 06 00 00       	call   0x406ad1
406450:	85 c0                	test   %eax,%eax
406452:	75 7b                	jne    0x4064cf
406454:	2b 1d f8 18 41 00    	sub    0x4118f8,%ebx
40645a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
40645e:	8b c3                	mov    %ebx,%eax
406460:	2b 3d dc 18 41 00    	sub    0x4118dc,%edi
406466:	99                   	cltd
406467:	f7 3d f0 18 41 00    	idivl  0x4118f0
40646d:	8b d8                	mov    %eax,%ebx
40646f:	8b c7                	mov    %edi,%eax
406471:	99                   	cltd
406472:	f7 3d f4 18 41 00    	idivl  0x4118f4
406478:	03 1d 70 25 43 00    	add    0x432570,%ebx
40647e:	8b f8                	mov    %eax,%edi
406480:	89 5c 24 18          	mov    %ebx,0x18(%esp)
406484:	03 3d 6c 25 43 00    	add    0x43256c,%edi
40648a:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40648e:	e8 59 05 00 00       	call   0x4069ec
406493:	89 44 24 24          	mov    %eax,0x24(%esp)
406497:	85 c0                	test   %eax,%eax
406499:	74 0d                	je     0x4064a8
40649b:	8b d7                	mov    %edi,%edx
40649d:	8b cb                	mov    %ebx,%ecx
40649f:	e8 f6 05 00 00       	call   0x406a9a
4064a4:	85 c0                	test   %eax,%eax
4064a6:	74 27                	je     0x4064cf
4064a8:	56                   	push   %esi
4064a9:	ff 15 f0 32 43 00    	call   *0x4332f0
4064af:	33 ff                	xor    %edi,%edi
4064b1:	47                   	inc    %edi
4064b2:	e9 00 ff ff ff       	jmp    0x4063b7
4064b7:	51                   	push   %ecx
4064b8:	ff 75 10             	push   0x10(%ebp)
4064bb:	8b ce                	mov    %esi,%ecx
4064bd:	e8 fd 00 00 00       	call   0x4065bf
4064c2:	eb 0b                	jmp    0x4064cf
4064c4:	51                   	push   %ecx
4064c5:	ff 75 10             	push   0x10(%ebp)
4064c8:	8b ce                	mov    %esi,%ecx
4064ca:	e8 19 00 00 00       	call   0x4064e8
4064cf:	33 c0                	xor    %eax,%eax
4064d1:	8b 8c 24 bc 00 00 00 	mov    0xbc(%esp),%ecx
4064d8:	5f                   	pop    %edi
4064d9:	5e                   	pop    %esi
4064da:	5b                   	pop    %ebx
4064db:	33 cc                	xor    %esp,%ecx
4064dd:	e8 4e 9f 00 00       	call   0x410430
4064e2:	8b e5                	mov    %ebp,%esp
4064e4:	5d                   	pop    %ebp
4064e5:	c2 10 00             	ret    $0x10
4064e8:	8b ff                	mov    %edi,%edi
4064ea:	55                   	push   %ebp
4064eb:	8b ec                	mov    %esp,%ebp
4064ed:	83 ec 20             	sub    $0x20,%esp
4064f0:	a1 64 10 41 00       	mov    0x411064,%eax
4064f5:	33 c5                	xor    %ebp,%eax
4064f7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064fa:	56                   	push   %esi
4064fb:	8d 45 e0             	lea    -0x20(%ebp),%eax
4064fe:	c7 45 e0 1c 00 00 00 	movl   $0x1c,-0x20(%ebp)
406505:	50                   	push   %eax
406506:	6a 02                	push   $0x2
406508:	ff 35 c8 18 41 00    	push   0x4118c8
40650e:	8b f1                	mov    %ecx,%esi
406510:	c7 45 e4 07 00 00 00 	movl   $0x7,-0x1c(%ebp)
406517:	ff 15 34 32 43 00    	call   *0x433234
40651d:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
406521:	83 e8 00             	sub    $0x0,%eax
406524:	74 4f                	je     0x406575
406526:	83 e8 01             	sub    $0x1,%eax
406529:	74 3d                	je     0x406568
40652b:	83 e8 01             	sub    $0x1,%eax
40652e:	74 29                	je     0x406559
406530:	83 e8 01             	sub    $0x1,%eax
406533:	74 12                	je     0x406547
406535:	83 e8 03             	sub    $0x3,%eax
406538:	74 09                	je     0x406543
40653a:	83 e8 01             	sub    $0x1,%eax
40653d:	74 15                	je     0x406554
40653f:	33 c0                	xor    %eax,%eax
406541:	eb 6d                	jmp    0x4065b0
406543:	33 c0                	xor    %eax,%eax
406545:	eb 38                	jmp    0x40657f
406547:	a1 6c 25 43 00       	mov    0x43256c,%eax
40654c:	83 c0 03             	add    $0x3,%eax
40654f:	3b 45 ec             	cmp    -0x14(%ebp),%eax
406552:	7e 2b                	jle    0x40657f
406554:	8b 45 ec             	mov    -0x14(%ebp),%eax
406557:	eb 26                	jmp    0x40657f
406559:	a1 6c 25 43 00       	mov    0x43256c,%eax
40655e:	83 f8 03             	cmp    $0x3,%eax
406561:	7c e0                	jl     0x406543
406563:	83 c0 fd             	add    $0xfffffffd,%eax
406566:	eb 17                	jmp    0x40657f
406568:	a1 6c 25 43 00       	mov    0x43256c,%eax
40656d:	3b 45 ec             	cmp    -0x14(%ebp),%eax
406570:	7d 12                	jge    0x406584
406572:	40                   	inc    %eax
406573:	eb 0a                	jmp    0x40657f
406575:	a1 6c 25 43 00       	mov    0x43256c,%eax
40657a:	85 c0                	test   %eax,%eax
40657c:	74 06                	je     0x406584
40657e:	48                   	dec    %eax
40657f:	a3 6c 25 43 00       	mov    %eax,0x43256c
406584:	6a 01                	push   $0x1
406586:	8d 4d e0             	lea    -0x20(%ebp),%ecx
406589:	89 45 f4             	mov    %eax,-0xc(%ebp)
40658c:	51                   	push   %ecx
40658d:	6a 02                	push   $0x2
40658f:	ff 35 c8 18 41 00    	push   0x4118c8
406595:	c7 45 e4 04 00 00 00 	movl   $0x4,-0x1c(%ebp)
40659c:	ff 15 18 32 43 00    	call   *0x433218
4065a2:	6a 00                	push   $0x0
4065a4:	6a 00                	push   $0x0
4065a6:	56                   	push   %esi
4065a7:	ff 15 fc 31 43 00    	call   *0x4331fc
4065ad:	33 c0                	xor    %eax,%eax
4065af:	40                   	inc    %eax
4065b0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4065b3:	33 cd                	xor    %ebp,%ecx
4065b5:	5e                   	pop    %esi
4065b6:	e8 75 9e 00 00       	call   0x410430
4065bb:	c9                   	leave
4065bc:	c2 08 00             	ret    $0x8
4065bf:	8b ff                	mov    %edi,%edi
4065c1:	55                   	push   %ebp
4065c2:	8b ec                	mov    %esp,%ebp
4065c4:	83 ec 20             	sub    $0x20,%esp
4065c7:	a1 64 10 41 00       	mov    0x411064,%eax
4065cc:	33 c5                	xor    %ebp,%eax
4065ce:	89 45 fc             	mov    %eax,-0x4(%ebp)
4065d1:	56                   	push   %esi
4065d2:	57                   	push   %edi
4065d3:	6a 07                	push   $0x7
4065d5:	5e                   	pop    %esi
4065d6:	8d 45 e0             	lea    -0x20(%ebp),%eax
4065d9:	c7 45 e0 1c 00 00 00 	movl   $0x1c,-0x20(%ebp)
4065e0:	50                   	push   %eax
4065e1:	6a 02                	push   $0x2
4065e3:	ff 35 c4 18 41 00    	push   0x4118c4
4065e9:	8b f9                	mov    %ecx,%edi
4065eb:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4065ee:	ff 15 34 32 43 00    	call   *0x433234
4065f4:	8b 55 08             	mov    0x8(%ebp),%edx
4065f7:	0f b7 c2             	movzwl %dx,%eax
4065fa:	3b c6                	cmp    %esi,%eax
4065fc:	0f 87 a7 00 00 00    	ja     0x4066a9
406602:	ff 24 85 bb 66 40 00 	jmp    *0x4066bb(,%eax,4)
406609:	33 d2                	xor    %edx,%edx
40660b:	eb 68                	jmp    0x406675
40660d:	8b 55 ec             	mov    -0x14(%ebp),%edx
406610:	2b 15 68 25 43 00    	sub    0x432568,%edx
406616:	42                   	inc    %edx
406617:	eb 5c                	jmp    0x406675
406619:	8b 15 70 25 43 00    	mov    0x432570,%edx
40661f:	85 d2                	test   %edx,%edx
406621:	74 58                	je     0x40667b
406623:	4a                   	dec    %edx
406624:	eb 4f                	jmp    0x406675
406626:	8b 45 ec             	mov    -0x14(%ebp),%eax
406629:	2b 05 68 25 43 00    	sub    0x432568,%eax
40662f:	8b 15 70 25 43 00    	mov    0x432570,%edx
406635:	40                   	inc    %eax
406636:	3b d0                	cmp    %eax,%edx
406638:	7d 41                	jge    0x40667b
40663a:	eb da                	jmp    0x406616
40663c:	8b 15 70 25 43 00    	mov    0x432570,%edx
406642:	a1 68 25 43 00       	mov    0x432568,%eax
406647:	3b d0                	cmp    %eax,%edx
406649:	7e be                	jle    0x406609
40664b:	2b d0                	sub    %eax,%edx
40664d:	eb 26                	jmp    0x406675
40664f:	8b 35 68 25 43 00    	mov    0x432568,%esi
406655:	8b 55 ec             	mov    -0x14(%ebp),%edx
406658:	8b ca                	mov    %edx,%ecx
40665a:	8d 04 36             	lea    (%esi,%esi,1),%eax
40665d:	2b c8                	sub    %eax,%ecx
40665f:	a1 70 25 43 00       	mov    0x432570,%eax
406664:	41                   	inc    %ecx
406665:	3b c1                	cmp    %ecx,%eax
406667:	7d 05                	jge    0x40666e
406669:	8d 14 06             	lea    (%esi,%eax,1),%edx
40666c:	eb 07                	jmp    0x406675
40666e:	2b d6                	sub    %esi,%edx
406670:	eb a4                	jmp    0x406616
406672:	c1 ea 10             	shr    $0x10,%edx
406675:	89 15 70 25 43 00    	mov    %edx,0x432570
40667b:	6a 01                	push   $0x1
40667d:	8d 4d e0             	lea    -0x20(%ebp),%ecx
406680:	89 55 f4             	mov    %edx,-0xc(%ebp)
406683:	51                   	push   %ecx
406684:	6a 02                	push   $0x2
406686:	ff 35 c4 18 41 00    	push   0x4118c4
40668c:	c7 45 e4 04 00 00 00 	movl   $0x4,-0x1c(%ebp)
406693:	ff 15 18 32 43 00    	call   *0x433218
406699:	6a 00                	push   $0x0
40669b:	6a 00                	push   $0x0
40669d:	57                   	push   %edi
40669e:	ff 15 fc 31 43 00    	call   *0x4331fc
4066a4:	33 c0                	xor    %eax,%eax
4066a6:	40                   	inc    %eax
4066a7:	eb 02                	jmp    0x4066ab
4066a9:	33 c0                	xor    %eax,%eax
4066ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4066ae:	5f                   	pop    %edi
4066af:	33 cd                	xor    %ebp,%ecx
4066b1:	5e                   	pop    %esi
4066b2:	e8 79 9d 00 00       	call   0x410430
4066b7:	c9                   	leave
4066b8:	c2 08 00             	ret    $0x8
4066bb:	19 66 40             	sbb    %esp,0x40(%esi)
4066be:	00 26                	add    %ah,(%esi)
4066c0:	66 40                	inc    %ax
4066c2:	00 3c 66             	add    %bh,(%esi,%eiz,2)
4066c5:	40                   	inc    %eax
4066c6:	00 4f 66             	add    %cl,0x66(%edi)
4066c9:	40                   	inc    %eax
4066ca:	00 72 66             	add    %dh,0x66(%edx)
4066cd:	40                   	inc    %eax
4066ce:	00 72 66             	add    %dh,0x66(%edx)
4066d1:	40                   	inc    %eax
4066d2:	00 09                	add    %cl,(%ecx)
4066d4:	66 40                	inc    %ax
4066d6:	00 0d 66 40 00 a1    	add    %cl,0xa1004066
4066dc:	88 25 43 00 85 c0    	mov    %ah,0xc0850043
4066e2:	74 07                	je     0x4066eb
4066e4:	50                   	push   %eax
4066e5:	ff 15 00 33 43 00    	call   *0x433300
4066eb:	c3                   	ret
4066ec:	8b ff                	mov    %edi,%edi
4066ee:	55                   	push   %ebp
4066ef:	8b ec                	mov    %esp,%ebp
4066f1:	83 ec 2c             	sub    $0x2c,%esp
4066f4:	a1 64 10 41 00       	mov    0x411064,%eax
4066f9:	33 c5                	xor    %ebp,%eax
4066fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4066fe:	a1 74 25 43 00       	mov    0x432574,%eax
406703:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
406707:	53                   	push   %ebx
406708:	56                   	push   %esi
406709:	8b 40 08             	mov    0x8(%eax),%eax
40670c:	8b 35 f0 18 41 00    	mov    0x4118f0,%esi
406712:	89 45 e0             	mov    %eax,-0x20(%ebp)
406715:	a1 f8 18 41 00       	mov    0x4118f8,%eax
40671a:	57                   	push   %edi
40671b:	8b 3d 68 25 43 00    	mov    0x432568,%edi
406721:	89 55 d8             	mov    %edx,-0x28(%ebp)
406724:	89 45 f0             	mov    %eax,-0x10(%ebp)
406727:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
40672a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40672d:	85 ff                	test   %edi,%edi
40672f:	0f 8e ec 00 00 00    	jle    0x406821
406735:	8b 15 dc 18 41 00    	mov    0x4118dc,%edx
40673b:	8b 1d f4 18 41 00    	mov    0x4118f4,%ebx
406741:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
406745:	8d 04 13             	lea    (%ebx,%edx,1),%eax
406748:	83 3d 64 25 43 00 00 	cmpl   $0x0,0x432564
40674f:	89 55 ec             	mov    %edx,-0x14(%ebp)
406752:	89 45 f4             	mov    %eax,-0xc(%ebp)
406755:	0f 8e a9 00 00 00    	jle    0x406804
40675b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40675e:	8b 7d e8             	mov    -0x18(%ebp),%edi
406761:	8b 55 e0             	mov    -0x20(%ebp),%edx
406764:	8b 1d 70 25 43 00    	mov    0x432570,%ebx
40676a:	8b 0d 6c 25 43 00    	mov    0x43256c,%ecx
406770:	03 de                	add    %esi,%ebx
406772:	0f b7 42 0e          	movzwl 0xe(%edx),%eax
406776:	0f af c3             	imul   %ebx,%eax
406779:	03 c1                	add    %ecx,%eax
40677b:	03 c7                	add    %edi,%eax
40677d:	03 c0                	add    %eax,%eax
40677f:	8b 54 c2 10          	mov    0x10(%edx,%eax,8),%edx
406783:	a1 74 25 43 00       	mov    0x432574,%eax
406788:	03 50 08             	add    0x8(%eax),%edx
40678b:	89 55 dc             	mov    %edx,-0x24(%ebp)
40678e:	8d 14 39             	lea    (%ecx,%edi,1),%edx
406791:	3b 15 a8 10 41 00    	cmp    0x4110a8,%edx
406797:	75 17                	jne    0x4067b0
406799:	a1 ac 10 41 00       	mov    0x4110ac,%eax
40679e:	3b d8                	cmp    %eax,%ebx
4067a0:	75 0e                	jne    0x4067b0
4067a2:	83 f8 ff             	cmp    $0xffffffff,%eax
4067a5:	74 09                	je     0x4067b0
4067a7:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
4067ae:	eb 04                	jmp    0x4067b4
4067b0:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4067b4:	8b cb                	mov    %ebx,%ecx
4067b6:	e8 df 02 00 00       	call   0x406a9a
4067bb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4067be:	8d 55 ec             	lea    -0x14(%ebp),%edx
4067c1:	50                   	push   %eax
4067c2:	8b 45 dc             	mov    -0x24(%ebp),%eax
4067c5:	0f b7 00             	movzwl (%eax),%eax
4067c8:	50                   	push   %eax
4067c9:	ff 75 e8             	push   -0x18(%ebp)
4067cc:	e8 c3 00 00 00       	call   0x406894
4067d1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4067d4:	8b 1d f4 18 41 00    	mov    0x4118f4,%ebx
4067da:	89 45 ec             	mov    %eax,-0x14(%ebp)
4067dd:	03 c3                	add    %ebx,%eax
4067df:	47                   	inc    %edi
4067e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4067e3:	3b 3d 64 25 43 00    	cmp    0x432564,%edi
4067e9:	0f 8c 72 ff ff ff    	jl     0x406761
4067ef:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4067f2:	8b 35 f0 18 41 00    	mov    0x4118f0,%esi
4067f8:	8b 3d 68 25 43 00    	mov    0x432568,%edi