456432:	e8 59 dd fa ff       	call   0x404190
456437:	e8 a8 dd fa ff       	call   0x4041e4
45643c:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
456440:	75 1d                	jne    0x45645f
456442:	8b c3                	mov    %ebx,%eax
456444:	8b 15 1c ab 44 00    	mov    0x44ab1c,%edx
45644a:	e8 31 d6 fa ff       	call   0x403a80
45644f:	84 c0                	test   %al,%al
456451:	74 0c                	je     0x45645f
456453:	8b fb                	mov    %ebx,%edi
456455:	8b c7                	mov    %edi,%eax
456457:	e8 30 b4 fe ff       	call   0x44188c
45645c:	89 7e 44             	mov    %edi,0x44(%esi)
45645f:	5f                   	pop    %edi
456460:	5e                   	pop    %esi
456461:	5b                   	pop    %ebx
456462:	59                   	pop    %ecx
456463:	5d                   	pop    %ebp
456464:	c3                   	ret
456465:	8d 40 00             	lea    0x0(%eax),%eax
456468:	55                   	push   %ebp
456469:	8b ec                	mov    %esp,%ebp
45646b:	51                   	push   %ecx
45646c:	53                   	push   %ebx
45646d:	56                   	push   %esi
45646e:	57                   	push   %edi
45646f:	89 45 fc             	mov    %eax,-0x4(%ebp)
456472:	8b 45 fc             	mov    -0x4(%ebp),%eax
456475:	c6 80 ad 00 00 00 01 	movb   $0x1,0xad(%eax)
45647c:	33 d2                	xor    %edx,%edx
45647e:	55                   	push   %ebp
45647f:	68 46 65 45 00       	push   $0x456546
456484:	64 ff 32             	push   %fs:(%edx)
456487:	64 89 22             	mov    %esp,%fs:(%edx)
45648a:	b8 98 be 44 00       	mov    $0x44be98,%eax
45648f:	e8 b4 21 fb ff       	call   0x408648
456494:	8b 45 fc             	mov    -0x4(%ebp),%eax
456497:	8b 40 44             	mov    0x44(%eax),%eax
45649a:	85 c0                	test   %eax,%eax
45649c:	0f 84 8c 00 00 00    	je     0x45652e
4564a2:	8b 15 3c d6 46 00    	mov    0x46d63c,%edx
4564a8:	8b 12                	mov    (%edx),%edx
4564aa:	83 ea 03             	sub    $0x3,%edx
4564ad:	74 0e                	je     0x4564bd
4564af:	83 ea 04             	sub    $0x4,%edx
4564b2:	75 10                	jne    0x4564c4
4564b4:	c6 80 73 02 00 00 01 	movb   $0x1,0x273(%eax)
4564bb:	eb 07                	jmp    0x4564c4
4564bd:	b2 02                	mov    $0x2,%dl
4564bf:	e8 58 9a ff ff       	call   0x44ff1c
4564c4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4564c7:	80 78 5b 00          	cmpb   $0x0,0x5b(%eax)
4564cb:	74 20                	je     0x4564ed
4564cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4564d0:	8b 40 44             	mov    0x44(%eax),%eax
4564d3:	80 b8 73 02 00 00 01 	cmpb   $0x1,0x273(%eax)
4564da:	75 0a                	jne    0x4564e6
4564dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4564df:	e8 bc f7 ff ff       	call   0x455ca0
4564e4:	eb 07                	jmp    0x4564ed
4564e6:	b2 01                	mov    $0x1,%dl
4564e8:	e8 23 82 ff ff       	call   0x44e710
4564ed:	33 c0                	xor    %eax,%eax
4564ef:	55                   	push   %ebp
4564f0:	68 0d 65 45 00       	push   $0x45650d
4564f5:	64 ff 30             	push   %fs:(%eax)
4564f8:	64 89 20             	mov    %esp,%fs:(%eax)
4564fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4564fe:	e8 d1 fd ff ff       	call   0x4562d4
456503:	33 c0                	xor    %eax,%eax
456505:	5a                   	pop    %edx
456506:	59                   	pop    %ecx
456507:	59                   	pop    %ecx
456508:	64 89 10             	mov    %edx,%fs:(%eax)
45650b:	eb 15                	jmp    0x456522
45650d:	e9 c2 d8 fa ff       	jmp    0x403dd4
456512:	8b 55 fc             	mov    -0x4(%ebp),%edx
456515:	8b 45 fc             	mov    -0x4(%ebp),%eax
456518:	e8 a7 00 00 00       	call   0x4565c4
45651d:	e8 c2 dc fa ff       	call   0x4041e4
456522:	8b 45 fc             	mov    -0x4(%ebp),%eax
456525:	80 b8 a4 00 00 00 00 	cmpb   $0x0,0xa4(%eax)
45652c:	74 bf                	je     0x4564ed
45652e:	33 c0                	xor    %eax,%eax
456530:	5a                   	pop    %edx
456531:	59                   	pop    %ecx
456532:	59                   	pop    %ecx
456533:	64 89 10             	mov    %edx,%fs:(%eax)
456536:	68 4d 65 45 00       	push   $0x45654d
45653b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45653e:	c6 80 ad 00 00 00 00 	movb   $0x0,0xad(%eax)
456545:	c3                   	ret
456546:	e9 3d db fa ff       	jmp    0x404088
45654b:	eb ee                	jmp    0x45653b
45654d:	5f                   	pop    %edi
45654e:	5e                   	pop    %esi
45654f:	5b                   	pop    %ebx
456550:	59                   	pop    %ecx
456551:	5d                   	pop    %ebp
456552:	c3                   	ret
456553:	90                   	nop
456554:	e8 17 73 fb ff       	call   0x40d870
456559:	84 c0                	test   %al,%al
45655b:	74 07                	je     0x456564
45655d:	6a 00                	push   $0x0
45655f:	e8 8c 0b fb ff       	call   0x4070f0
456564:	c3                   	ret
456565:	8d 40 00             	lea    0x0(%eax),%eax
456568:	53                   	push   %ebx
456569:	56                   	push   %esi
45656a:	81 c4 00 fe ff ff    	add    $0xfffffe00,%esp
456570:	8b f2                	mov    %edx,%esi
456572:	e8 55 d2 fa ff       	call   0x4037cc
456577:	8b d8                	mov    %eax,%ebx
456579:	eb 09                	jmp    0x456584
45657b:	8b c3                	mov    %ebx,%eax
45657d:	e8 fe d2 fa ff       	call   0x403880
456582:	8b d8                	mov    %eax,%ebx
456584:	85 db                	test   %ebx,%ebx
456586:	74 2d                	je     0x4565b5
456588:	8b d4                	mov    %esp,%edx
45658a:	8b c3                	mov    %ebx,%eax
45658c:	e8 43 d2 fa ff       	call   0x4037d4
456591:	8b c4                	mov    %esp,%eax
456593:	50                   	push   %eax
456594:	8d 94 24 04 01 00 00 	lea    0x104(%esp),%edx
45659b:	8b c6                	mov    %esi,%eax
45659d:	e8 32 d2 fa ff       	call   0x4037d4
4565a2:	8d 94 24 04 01 00 00 	lea    0x104(%esp),%edx
4565a9:	58                   	pop    %eax
4565aa:	0f b6 08             	movzbl (%eax),%ecx
4565ad:	41                   	inc    %ecx
4565ae:	e8 0d cc fa ff       	call   0x4031c0
4565b3:	75 c6                	jne    0x45657b
4565b5:	85 db                	test   %ebx,%ebx
4565b7:	0f 95 c0             	setne  %al
4565ba:	81 c4 00 02 00 00    	add    $0x200,%esp
4565c0:	5e                   	pop    %esi
4565c1:	5b                   	pop    %ebx
4565c2:	c3                   	ret
4565c3:	90                   	nop
4565c4:	53                   	push   %ebx
4565c5:	56                   	push   %esi
4565c6:	8b f2                	mov    %edx,%esi
4565c8:	8b d8                	mov    %eax,%ebx
4565ca:	e8 b1 08 fb ff       	call   0x406e80
4565cf:	85 c0                	test   %eax,%eax
4565d1:	74 11                	je     0x4565e4
4565d3:	6a 00                	push   $0x0
4565d5:	6a 00                	push   $0x0
4565d7:	6a 1f                	push   $0x1f
4565d9:	e8 a2 08 fb ff       	call   0x406e80
4565de:	50                   	push   %eax
4565df:	e8 6c 0b fb ff       	call   0x407150
4565e4:	e8 87 c7 fa ff       	call   0x402d70
4565e9:	8b 15 ec 79 40 00    	mov    0x4079ec,%edx
4565ef:	e8 74 ff ff ff       	call   0x456568
4565f4:	84 c0                	test   %al,%al
4565f6:	74 46                	je     0x45663e
4565f8:	e8 73 c7 fa ff       	call   0x402d70
4565fd:	8b 15 54 7a 40 00    	mov    0x407a54,%edx
456603:	e8 60 ff ff ff       	call   0x456568
456608:	84 c0                	test   %al,%al
45660a:	75 43                	jne    0x45664f
45660c:	66 83 bb ea 00 00 00 	cmpw   $0x0,0xea(%ebx)
456613:	00
456614:	74 17                	je     0x45662d
456616:	e8 55 c7 fa ff       	call   0x402d70
45661b:	8b c8                	mov    %eax,%ecx
45661d:	8b d6                	mov    %esi,%edx
45661f:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
456625:	ff 93 e8 00 00 00    	call   *0xe8(%ebx)
45662b:	eb 22                	jmp    0x45664f
45662d:	e8 3e c7 fa ff       	call   0x402d70
456632:	8b d0                	mov    %eax,%edx
456634:	8b c3                	mov    %ebx,%eax
456636:	e8 95 01 00 00       	call   0x4567d0
45663b:	5e                   	pop    %esi
45663c:	5b                   	pop    %ebx
45663d:	c3                   	ret
45663e:	e8 4d c7 fa ff       	call   0x402d90
456643:	50                   	push   %eax
456644:	e8 27 c7 fa ff       	call   0x402d70
456649:	5a                   	pop    %edx
45664a:	e8 19 5b fb ff       	call   0x40c168
45664f:	5e                   	pop    %esi
456650:	5b                   	pop    %ebx
456651:	c3                   	ret
456652:	8b c0                	mov    %eax,%eax
456654:	55                   	push   %ebp
456655:	8b ec                	mov    %esp,%ebp
456657:	83 c4 a8             	add    $0xffffffa8,%esp
45665a:	53                   	push   %ebx
45665b:	56                   	push   %esi
45665c:	57                   	push   %edi
45665d:	89 4d f8             	mov    %ecx,-0x8(%ebp)
456660:	8b fa                	mov    %edx,%edi
456662:	89 45 fc             	mov    %eax,-0x4(%ebp)
456665:	8b 75 08             	mov    0x8(%ebp),%esi
456668:	8b 45 fc             	mov    -0x4(%ebp),%eax
45666b:	e8 90 13 00 00       	call   0x457a00
456670:	89 45 f0             	mov    %eax,-0x10(%ebp)
456673:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
456677:	75 08                	jne    0x456681
456679:	8b 45 fc             	mov    -0x4(%ebp),%eax
45667c:	8b 58 30             	mov    0x30(%eax),%ebx
45667f:	eb 03                	jmp    0x456684
456681:	8b 5d f0             	mov    -0x10(%ebp),%ebx
456684:	6a 02                	push   $0x2
456686:	8b 45 f0             	mov    -0x10(%ebp),%eax
456689:	50                   	push   %eax
45668a:	a1 a8 d5 46 00       	mov    0x46d5a8,%eax
45668f:	8b 00                	mov    (%eax),%eax
456691:	ff d0                	call   *%eax
456693:	89 45 e8             	mov    %eax,-0x18(%ebp)
456696:	6a 02                	push   $0x2
456698:	8b 45 fc             	mov    -0x4(%ebp),%eax
45669b:	8b 40 30             	mov    0x30(%eax),%eax
45669e:	50                   	push   %eax
45669f:	a1 a8 d5 46 00       	mov    0x46d5a8,%eax
4566a4:	8b 00                	mov    (%eax),%eax
4566a6:	ff d0                	call   *%eax
4566a8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4566ab:	8b 45 e8             	mov    -0x18(%ebp),%eax
4566ae:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
4566b1:	74 60                	je     0x456713
4566b3:	c7 45 b8 28 00 00 00 	movl   $0x28,-0x48(%ebp)
4566ba:	8d 45 b8             	lea    -0x48(%ebp),%eax
4566bd:	50                   	push   %eax
4566be:	8b 45 e8             	mov    -0x18(%ebp),%eax
4566c1:	50                   	push   %eax
4566c2:	a1 e8 d4 46 00       	mov    0x46d4e8,%eax
4566c7:	8b 00                	mov    (%eax),%eax
4566c9:	ff d0                	call   *%eax
4566cb:	8d 45 a8             	lea    -0x58(%ebp),%eax
4566ce:	50                   	push   %eax
4566cf:	8b 45 fc             	mov    -0x4(%ebp),%eax
4566d2:	8b 40 30             	mov    0x30(%eax),%eax
4566d5:	50                   	push   %eax
4566d6:	e8 0d 09 fb ff       	call   0x406fe8
4566db:	6a 1d                	push   $0x1d
4566dd:	6a 00                	push   $0x0
4566df:	6a 00                	push   $0x0
4566e1:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4566e4:	8b 55 c0             	mov    -0x40(%ebp),%edx
4566e7:	2b ca                	sub    %edx,%ecx
4566e9:	d1 f9                	sar    $1,%ecx
4566eb:	79 03                	jns    0x4566f0
4566ed:	83 d1 00             	adc    $0x0,%ecx
4566f0:	03 ca                	add    %edx,%ecx
4566f2:	51                   	push   %ecx
4566f3:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4566f6:	8b 45 bc             	mov    -0x44(%ebp),%eax
4566f9:	2b d0                	sub    %eax,%edx
4566fb:	d1 fa                	sar    $1,%edx
4566fd:	79 03                	jns    0x456702
4566ff:	83 d2 00             	adc    $0x0,%edx
456702:	03 d0                	add    %eax,%edx
456704:	52                   	push   %edx
456705:	6a 00                	push   $0x0
456707:	8b 45 fc             	mov    -0x4(%ebp),%eax
45670a:	8b 40 30             	mov    0x30(%eax),%eax
45670d:	50                   	push   %eax
45670e:	e8 e5 0a fb ff       	call   0x4071f8
456713:	8b 45 f0             	mov    -0x10(%ebp),%eax
456716:	e8 05 58 ff ff       	call   0x44bf20
45671b:	89 45 ec             	mov    %eax,-0x14(%ebp)
45671e:	e8 19 57 ff ff       	call   0x44be3c
456723:	89 45 e0             	mov    %eax,-0x20(%ebp)
456726:	8b 45 fc             	mov    -0x4(%ebp),%eax
456729:	e8 c6 ec ff ff       	call   0x4553f4
45672e:	84 c0                	test   %al,%al
456730:	74 06                	je     0x456738
456732:	81 ce 00 00 10 00    	or     $0x100000,%esi
456738:	33 c9                	xor    %ecx,%ecx
45673a:	55                   	push   %ebp
45673b:	68 bc 67 45 00       	push   $0x4567bc
456740:	64 ff 31             	push   %fs:(%ecx)
456743:	64 89 21             	mov    %esp,%fs:(%ecx)
456746:	56                   	push   %esi
456747:	8b 45 f8             	mov    -0x8(%ebp),%eax
45674a:	50                   	push   %eax
45674b:	57                   	push   %edi
45674c:	53                   	push   %ebx
45674d:	e8 6e 09 fb ff       	call   0x4070c0
456752:	89 45 f4             	mov    %eax,-0xc(%ebp)
456755:	33 c0                	xor    %eax,%eax
456757:	5a                   	pop    %edx
456758:	59                   	pop    %ecx
456759:	59                   	pop    %ecx
45675a:	64 89 10             	mov    %edx,%fs:(%eax)
45675d:	68 c3 67 45 00       	push   $0x4567c3
456762:	8b 45 e8             	mov    -0x18(%ebp),%eax
456765:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
456768:	74 38                	je     0x4567a2
45676a:	6a 1d                	push   $0x1d
45676c:	6a 00                	push   $0x0
45676e:	6a 00                	push   $0x0
456770:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
456773:	8b 55 ac             	mov    -0x54(%ebp),%edx
456776:	2b ca                	sub    %edx,%ecx
456778:	d1 f9                	sar    $1,%ecx
45677a:	79 03                	jns    0x45677f
45677c:	83 d1 00             	adc    $0x0,%ecx
45677f:	03 ca                	add    %edx,%ecx
456781:	51                   	push   %ecx
456782:	8b 55 b0             	mov    -0x50(%ebp),%edx
456785:	8b 45 a8             	mov    -0x58(%ebp),%eax
456788:	2b d0                	sub    %eax,%edx
45678a:	d1 fa                	sar    $1,%edx
45678c:	79 03                	jns    0x456791
45678e:	83 d2 00             	adc    $0x0,%edx
456791:	03 d0                	add    %eax,%edx
456793:	52                   	push   %edx
456794:	6a 00                	push   $0x0
456796:	8b 45 fc             	mov    -0x4(%ebp),%eax
456799:	8b 40 30             	mov    0x30(%eax),%eax
45679c:	50                   	push   %eax
45679d:	e8 56 0a fb ff       	call   0x4071f8
4567a2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4567a5:	e8 3a 58 ff ff       	call   0x44bfe4
4567aa:	8b 45 f0             	mov    -0x10(%ebp),%eax
4567ad:	50                   	push   %eax
4567ae:	e8 b5 09 fb ff       	call   0x407168
4567b3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4567b6:	e8 89 56 ff ff       	call   0x44be44
4567bb:	c3                   	ret
4567bc:	e9 c7 d8 fa ff       	jmp    0x404088
4567c1:	eb 9f                	jmp    0x456762
4567c3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4567c6:	5f                   	pop    %edi
4567c7:	5e                   	pop    %esi
4567c8:	5b                   	pop    %ebx
4567c9:	8b e5                	mov    %ebp,%esp
4567cb:	5d                   	pop    %ebp
4567cc:	c2 04 00             	ret    $0x4
4567cf:	90                   	nop
4567d0:	55                   	push   %ebp
4567d1:	8b ec                	mov    %esp,%ebp
4567d3:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
4567d9:	53                   	push   %ebx
4567da:	56                   	push   %esi
4567db:	33 c9                	xor    %ecx,%ecx
4567dd:	89 8d f8 fe ff ff    	mov    %ecx,-0x108(%ebp)
4567e3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4567e6:	8b f2                	mov    %edx,%esi
4567e8:	8b d8                	mov    %eax,%ebx
4567ea:	33 c0                	xor    %eax,%eax
4567ec:	55                   	push   %ebp
4567ed:	68 8b 68 45 00       	push   $0x45688b