406375:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406378:	8b 45 0c             	mov    0xc(%ebp),%eax
40637b:	89 45 e8             	mov    %eax,-0x18(%ebp)
40637e:	8b 45 1c             	mov    0x1c(%ebp),%eax
406381:	89 45 ec             	mov    %eax,-0x14(%ebp)
406384:	8b 45 20             	mov    0x20(%ebp),%eax
406387:	89 45 f0             	mov    %eax,-0x10(%ebp)
40638a:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40638e:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
406392:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406396:	89 65 f4             	mov    %esp,-0xc(%ebp)
406399:	89 6d f8             	mov    %ebp,-0x8(%ebp)
40639c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4063a2:	89 45 d8             	mov    %eax,-0x28(%ebp)
4063a5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4063a8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4063ae:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
4063b5:	8b 45 08             	mov    0x8(%ebp),%eax
4063b8:	89 45 cc             	mov    %eax,-0x34(%ebp)
4063bb:	8b 45 10             	mov    0x10(%ebp),%eax
4063be:	89 45 d0             	mov    %eax,-0x30(%ebp)
4063c1:	e8 7b 46 00 00       	call   0x40aa41
4063c6:	8b 80 80 00 00 00    	mov    0x80(%eax),%eax
4063cc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4063cf:	8d 45 cc             	lea    -0x34(%ebp),%eax
4063d2:	50                   	push   %eax
4063d3:	8b 45 08             	mov    0x8(%ebp),%eax
4063d6:	ff 30                	push   (%eax)
4063d8:	ff 55 d4             	call   *-0x2c(%ebp)
4063db:	59                   	pop    %ecx
4063dc:	59                   	pop    %ecx
4063dd:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
4063e1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4063e5:	74 17                	je     0x4063fe
4063e7:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
4063ee:	8b 03                	mov    (%ebx),%eax
4063f0:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4063f3:	89 03                	mov    %eax,(%ebx)
4063f5:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
4063fc:	eb 09                	jmp    0x406407
4063fe:	8b 45 d8             	mov    -0x28(%ebp),%eax
406401:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406407:	8b 45 c8             	mov    -0x38(%ebp),%eax
40640a:	5b                   	pop    %ebx
40640b:	c9                   	leave
40640c:	c3                   	ret
40640d:	8b ff                	mov    %edi,%edi
40640f:	55                   	push   %ebp
406410:	8b ec                	mov    %esp,%ebp
406412:	51                   	push   %ecx
406413:	53                   	push   %ebx
406414:	fc                   	cld
406415:	8b 45 0c             	mov    0xc(%ebp),%eax
406418:	8b 48 08             	mov    0x8(%eax),%ecx
40641b:	33 4d 0c             	xor    0xc(%ebp),%ecx
40641e:	e8 03 02 00 00       	call   0x406626
406423:	8b 45 08             	mov    0x8(%ebp),%eax
406426:	8b 40 04             	mov    0x4(%eax),%eax
406429:	83 e0 66             	and    $0x66,%eax
40642c:	74 11                	je     0x40643f
40642e:	8b 45 0c             	mov    0xc(%ebp),%eax
406431:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
406438:	33 c0                	xor    %eax,%eax
40643a:	40                   	inc    %eax
40643b:	eb 6c                	jmp    0x4064a9
40643d:	eb 6a                	jmp    0x4064a9
40643f:	6a 01                	push   $0x1
406441:	8b 45 0c             	mov    0xc(%ebp),%eax
406444:	ff 70 18             	push   0x18(%eax)
406447:	8b 45 0c             	mov    0xc(%ebp),%eax
40644a:	ff 70 14             	push   0x14(%eax)
40644d:	8b 45 0c             	mov    0xc(%ebp),%eax
406450:	ff 70 0c             	push   0xc(%eax)
406453:	6a 00                	push   $0x0
406455:	ff 75 10             	push   0x10(%ebp)
406458:	8b 45 0c             	mov    0xc(%ebp),%eax
40645b:	ff 70 10             	push   0x10(%eax)
40645e:	ff 75 08             	push   0x8(%ebp)
406461:	e8 3f 80 00 00       	call   0x40e4a5
406466:	83 c4 20             	add    $0x20,%esp
406469:	8b 45 0c             	mov    0xc(%ebp),%eax
40646c:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
406470:	75 0b                	jne    0x40647d
406472:	ff 75 08             	push   0x8(%ebp)
406475:	ff 75 0c             	push   0xc(%ebp)
406478:	e8 fc fd ff ff       	call   0x406279
40647d:	6a 00                	push   $0x0
40647f:	6a 00                	push   $0x0
406481:	6a 00                	push   $0x0
406483:	6a 00                	push   $0x0
406485:	6a 00                	push   $0x0
406487:	8d 45 fc             	lea    -0x4(%ebp),%eax
40648a:	50                   	push   %eax
40648b:	68 23 01 00 00       	push   $0x123
406490:	e8 a1 fe ff ff       	call   0x406336
406495:	83 c4 1c             	add    $0x1c,%esp
406498:	8b 45 fc             	mov    -0x4(%ebp),%eax
40649b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40649e:	8b 63 1c             	mov    0x1c(%ebx),%esp
4064a1:	8b 6b 20             	mov    0x20(%ebx),%ebp
4064a4:	ff e0                	jmp    *%eax
4064a6:	33 c0                	xor    %eax,%eax
4064a8:	40                   	inc    %eax
4064a9:	5b                   	pop    %ebx
4064aa:	c9                   	leave
4064ab:	c3                   	ret
4064ac:	8b ff                	mov    %edi,%edi
4064ae:	55                   	push   %ebp
4064af:	8b ec                	mov    %esp,%ebp
4064b1:	51                   	push   %ecx
4064b2:	53                   	push   %ebx
4064b3:	56                   	push   %esi
4064b4:	57                   	push   %edi
4064b5:	8b 7d 08             	mov    0x8(%ebp),%edi
4064b8:	8b 47 10             	mov    0x10(%edi),%eax
4064bb:	8b 77 0c             	mov    0xc(%edi),%esi
4064be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4064c1:	8b de                	mov    %esi,%ebx
4064c3:	eb 2d                	jmp    0x4064f2
4064c5:	83 fe ff             	cmp    $0xffffffff,%esi
4064c8:	75 05                	jne    0x4064cf
4064ca:	e8 08 81 00 00       	call   0x40e5d7
4064cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4064d2:	4e                   	dec    %esi
4064d3:	8b c6                	mov    %esi,%eax
4064d5:	6b c0 14             	imul   $0x14,%eax,%eax
4064d8:	03 c1                	add    %ecx,%eax
4064da:	8b 4d 10             	mov    0x10(%ebp),%ecx
4064dd:	39 48 04             	cmp    %ecx,0x4(%eax)
4064e0:	7d 05                	jge    0x4064e7
4064e2:	3b 48 08             	cmp    0x8(%eax),%ecx
4064e5:	7e 05                	jle    0x4064ec
4064e7:	83 fe ff             	cmp    $0xffffffff,%esi
4064ea:	75 09                	jne    0x4064f5
4064ec:	ff 4d 0c             	decl   0xc(%ebp)
4064ef:	8b 5d 08             	mov    0x8(%ebp),%ebx
4064f2:	89 75 08             	mov    %esi,0x8(%ebp)
4064f5:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4064f9:	7d ca                	jge    0x4064c5
4064fb:	8b 45 14             	mov    0x14(%ebp),%eax
4064fe:	46                   	inc    %esi
4064ff:	89 30                	mov    %esi,(%eax)
406501:	8b 45 18             	mov    0x18(%ebp),%eax
406504:	89 18                	mov    %ebx,(%eax)
406506:	3b 5f 0c             	cmp    0xc(%edi),%ebx
406509:	77 04                	ja     0x40650f
40650b:	3b f3                	cmp    %ebx,%esi
40650d:	76 05                	jbe    0x406514
40650f:	e8 c3 80 00 00       	call   0x40e5d7
406514:	8b c6                	mov    %esi,%eax
406516:	6b c0 14             	imul   $0x14,%eax,%eax
406519:	03 45 fc             	add    -0x4(%ebp),%eax
40651c:	5f                   	pop    %edi
40651d:	5e                   	pop    %esi
40651e:	5b                   	pop    %ebx
40651f:	c9                   	leave
406520:	c3                   	ret
406521:	8b ff                	mov    %edi,%edi
406523:	55                   	push   %ebp
406524:	8b ec                	mov    %esp,%ebp
406526:	8b 45 0c             	mov    0xc(%ebp),%eax
406529:	56                   	push   %esi
40652a:	8b 75 08             	mov    0x8(%ebp),%esi
40652d:	89 06                	mov    %eax,(%esi)
40652f:	e8 0d 45 00 00       	call   0x40aa41
406534:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
40653a:	89 46 04             	mov    %eax,0x4(%esi)
40653d:	e8 ff 44 00 00       	call   0x40aa41
406542:	89 b0 98 00 00 00    	mov    %esi,0x98(%eax)
406548:	8b c6                	mov    %esi,%eax
40654a:	5e                   	pop    %esi
40654b:	5d                   	pop    %ebp
40654c:	c3                   	ret
40654d:	8b ff                	mov    %edi,%edi
40654f:	55                   	push   %ebp
406550:	8b ec                	mov    %esp,%ebp
406552:	e8 ea 44 00 00       	call   0x40aa41
406557:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
40655d:	eb 0a                	jmp    0x406569
40655f:	8b 08                	mov    (%eax),%ecx
406561:	3b 4d 08             	cmp    0x8(%ebp),%ecx
406564:	74 0a                	je     0x406570
406566:	8b 40 04             	mov    0x4(%eax),%eax
406569:	85 c0                	test   %eax,%eax
40656b:	75 f2                	jne    0x40655f
40656d:	40                   	inc    %eax
40656e:	5d                   	pop    %ebp
40656f:	c3                   	ret
406570:	33 c0                	xor    %eax,%eax
406572:	5d                   	pop    %ebp
406573:	c3                   	ret
406574:	8b ff                	mov    %edi,%edi
406576:	55                   	push   %ebp
406577:	8b ec                	mov    %esp,%ebp
406579:	56                   	push   %esi
40657a:	e8 c2 44 00 00       	call   0x40aa41
40657f:	8b 75 08             	mov    0x8(%ebp),%esi
406582:	3b b0 98 00 00 00    	cmp    0x98(%eax),%esi
406588:	75 11                	jne    0x40659b
40658a:	e8 b2 44 00 00       	call   0x40aa41
40658f:	8b 4e 04             	mov    0x4(%esi),%ecx
406592:	89 88 98 00 00 00    	mov    %ecx,0x98(%eax)
406598:	5e                   	pop    %esi
406599:	5d                   	pop    %ebp
40659a:	c3                   	ret
40659b:	e8 a1 44 00 00       	call   0x40aa41
4065a0:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
4065a6:	eb 09                	jmp    0x4065b1
4065a8:	8b 48 04             	mov    0x4(%eax),%ecx
4065ab:	3b f1                	cmp    %ecx,%esi
4065ad:	74 0f                	je     0x4065be
4065af:	8b c1                	mov    %ecx,%eax
4065b1:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
4065b5:	75 f1                	jne    0x4065a8
4065b7:	5e                   	pop    %esi
4065b8:	5d                   	pop    %ebp
4065b9:	e9 19 80 00 00       	jmp    0x40e5d7
4065be:	8b 4e 04             	mov    0x4(%esi),%ecx
4065c1:	89 48 04             	mov    %ecx,0x4(%eax)
4065c4:	eb d2                	jmp    0x406598
4065c6:	8b ff                	mov    %edi,%edi
4065c8:	55                   	push   %ebp
4065c9:	8b ec                	mov    %esp,%ebp
4065cb:	83 ec 18             	sub    $0x18,%esp
4065ce:	a1 68 b2 42 00       	mov    0x42b268,%eax
4065d3:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
4065d7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4065da:	33 c1                	xor    %ecx,%eax
4065dc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4065df:	89 45 f0             	mov    %eax,-0x10(%ebp)
4065e2:	8b 45 0c             	mov    0xc(%ebp),%eax
4065e5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4065e8:	8b 45 14             	mov    0x14(%ebp),%eax
4065eb:	40                   	inc    %eax
4065ec:	c7 45 ec 03 63 40 00 	movl   $0x406303,-0x14(%ebp)
4065f3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4065f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4065f9:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4065ff:	89 45 e8             	mov    %eax,-0x18(%ebp)
406602:	8d 45 e8             	lea    -0x18(%ebp),%eax
406605:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40660b:	ff 75 18             	push   0x18(%ebp)
40660e:	51                   	push   %ecx
40660f:	ff 75 10             	push   0x10(%ebp)
406612:	e8 09 80 00 00       	call   0x40e620
406617:	8b c8                	mov    %eax,%ecx
406619:	8b 45 e8             	mov    -0x18(%ebp),%eax
40661c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406622:	8b c1                	mov    %ecx,%eax
406624:	c9                   	leave
406625:	c3                   	ret
406626:	3b 0d 68 b2 42 00    	cmp    0x42b268,%ecx
40662c:	75 02                	jne    0x406630
40662e:	f3 c3                	repz ret
406630:	e9 37 80 00 00       	jmp    0x40e66c
406635:	50                   	push   %eax
406636:	64 ff 35 00 00 00 00 	push   %fs:0x0
40663d:	8d 44 24 0c          	lea    0xc(%esp),%eax
406641:	2b 64 24 0c          	sub    0xc(%esp),%esp
406645:	53                   	push   %ebx
406646:	56                   	push   %esi
406647:	57                   	push   %edi
406648:	89 28                	mov    %ebp,(%eax)
40664a:	8b e8                	mov    %eax,%ebp
40664c:	a1 68 b2 42 00       	mov    0x42b268,%eax
406651:	33 c5                	xor    %ebp,%eax
406653:	50                   	push   %eax
406654:	ff 75 fc             	push   -0x4(%ebp)
406657:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40665e:	8d 45 f4             	lea    -0xc(%ebp),%eax
406661:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406667:	c3                   	ret
406668:	50                   	push   %eax
406669:	64 ff 35 00 00 00 00 	push   %fs:0x0
406670:	8d 44 24 0c          	lea    0xc(%esp),%eax
406674:	2b 64 24 0c          	sub    0xc(%esp),%esp
406678:	53                   	push   %ebx
406679:	56                   	push   %esi
40667a:	57                   	push   %edi
40667b:	89 28                	mov    %ebp,(%eax)
40667d:	8b e8                	mov    %eax,%ebp
40667f:	a1 68 b2 42 00       	mov    0x42b268,%eax
406684:	33 c5                	xor    %ebp,%eax
406686:	50                   	push   %eax
406687:	89 65 f0             	mov    %esp,-0x10(%ebp)
40668a:	ff 75 fc             	push   -0x4(%ebp)
40668d:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
406694:	8d 45 f4             	lea    -0xc(%ebp),%eax
406697:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40669d:	c3                   	ret
40669e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4066a1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4066a8:	59                   	pop    %ecx
4066a9:	5f                   	pop    %edi
4066aa:	5f                   	pop    %edi
4066ab:	5e                   	pop    %esi
4066ac:	5b                   	pop    %ebx
4066ad:	8b e5                	mov    %ebp,%esp
4066af:	5d                   	pop    %ebp
4066b0:	51                   	push   %ecx
4066b1:	c3                   	ret
4066b2:	8b ff                	mov    %edi,%edi
4066b4:	55                   	push   %ebp
4066b5:	8b ec                	mov    %esp,%ebp
4066b7:	83 ec 20             	sub    $0x20,%esp
4066ba:	8b 45 08             	mov    0x8(%ebp),%eax
4066bd:	56                   	push   %esi
4066be:	57                   	push   %edi
4066bf:	6a 08                	push   $0x8
4066c1:	59                   	pop    %ecx
4066c2:	be a8 a2 41 00       	mov    $0x41a2a8,%esi
4066c7:	8d 7d e0             	lea    -0x20(%ebp),%edi
4066ca:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4066cc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4066cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4066d2:	5f                   	pop    %edi
4066d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4066d6:	5e                   	pop    %esi
4066d7:	85 c0                	test   %eax,%eax
4066d9:	74 0c                	je     0x4066e7
4066db:	f6 00 08             	testb  $0x8,(%eax)
4066de:	74 07                	je     0x4066e7
4066e0:	c7 45 f4 00 40 99 01 	movl   $0x1994000,-0xc(%ebp)
4066e7:	8d 45 f4             	lea    -0xc(%ebp),%eax
4066ea:	50                   	push   %eax
4066eb:	ff 75 f0             	push   -0x10(%ebp)
4066ee:	ff 75 e4             	push   -0x1c(%ebp)
4066f1:	ff 75 e0             	push   -0x20(%ebp)
4066f4:	ff 15 c4 a0 41 00    	call   *0x41a0c4
4066fa:	c9                   	leave
4066fb:	c2 08 00             	ret    $0x8
4066fe:	8b ff                	mov    %edi,%edi
406700:	55                   	push   %ebp
406701:	8b ec                	mov    %esp,%ebp
406703:	53                   	push   %ebx
406704:	56                   	push   %esi
406705:	8b 75 08             	mov    0x8(%ebp),%esi
406708:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
40670e:	33 db                	xor    %ebx,%ebx
406710:	57                   	push   %edi
406711:	3b c3                	cmp    %ebx,%eax
406713:	74 6f                	je     0x406784
406715:	3d 80 b9 42 00       	cmp    $0x42b980,%eax
40671a:	74 68                	je     0x406784
40671c:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
406722:	3b c3                	cmp    %ebx,%eax
406724:	74 5e                	je     0x406784
406726:	39 18                	cmp    %ebx,(%eax)
406728:	75 5a                	jne    0x406784
40672a:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax