456539:	6a 01                	push   $0x1
45653b:	6a 13                	push   $0x13
45653d:	6a 13                	push   $0x13
45653f:	57                   	push   %edi
456540:	57                   	push   %edi
456541:	ff 15 50 74 4a 00    	call   *0x4a7450
456547:	8b 44 24 18          	mov    0x18(%esp),%eax
45654b:	2b 44 24 10          	sub    0x10(%esp),%eax
45654f:	8b 54 24 28          	mov    0x28(%esp),%edx
456553:	2b c2                	sub    %edx,%eax
456555:	03 44 24 20          	add    0x20(%esp),%eax
456559:	8b 4c 24 34          	mov    0x34(%esp),%ecx
45655d:	2b 54 24 20          	sub    0x20(%esp),%edx
456561:	6a 01                	push   $0x1
456563:	50                   	push   %eax
456564:	8b 44 24 1c          	mov    0x1c(%esp),%eax
456568:	2b c1                	sub    %ecx,%eax
45656a:	2b 44 24 14          	sub    0x14(%esp),%eax
45656e:	03 44 24 34          	add    0x34(%esp),%eax
456572:	2b 4c 24 34          	sub    0x34(%esp),%ecx
456576:	50                   	push   %eax
456577:	52                   	push   %edx
456578:	51                   	push   %ecx
456579:	eb 3d                	jmp    0x4565b8
45657b:	85 c9                	test   %ecx,%ecx
45657d:	74 07                	je     0x456586
45657f:	57                   	push   %edi
456580:	ff 15 58 74 4a 00    	call   *0x4a7458
456586:	8b 4e 5c             	mov    0x5c(%esi),%ecx
456589:	85 c9                	test   %ecx,%ecx
45658b:	74 07                	je     0x456594
45658d:	57                   	push   %edi
45658e:	ff 15 58 74 4a 00    	call   *0x4a7458
456594:	8b 4e 60             	mov    0x60(%esi),%ecx
456597:	85 c9                	test   %ecx,%ecx
456599:	74 07                	je     0x4565a2
45659b:	57                   	push   %edi
45659c:	ff 15 58 74 4a 00    	call   *0x4a7458
4565a2:	8b 44 24 18          	mov    0x18(%esp),%eax
4565a6:	2b 44 24 10          	sub    0x10(%esp),%eax
4565aa:	6a 01                	push   $0x1
4565ac:	50                   	push   %eax
4565ad:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4565b1:	2b 44 24 14          	sub    0x14(%esp),%eax
4565b5:	50                   	push   %eax
4565b6:	57                   	push   %edi
4565b7:	57                   	push   %edi
4565b8:	8b 4e 48             	mov    0x48(%esi),%ecx
4565bb:	ff 15 50 74 4a 00    	call   *0x4a7450
4565c1:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4565c5:	5f                   	pop    %edi
4565c6:	5e                   	pop    %esi
4565c7:	33 cc                	xor    %esp,%ecx
4565c9:	e8 32 99 03 00       	call   0x48ff00
4565ce:	8b e5                	mov    %ebp,%esp
4565d0:	5d                   	pop    %ebp
4565d1:	c3                   	ret
4565d2:	68 28 02 00 00       	push   $0x228
4565d7:	b8 ad 40 49 00       	mov    $0x4940ad,%eax
4565dc:	e8 25 9f 03 00       	call   0x490506
4565e1:	8b c1                	mov    %ecx,%eax
4565e3:	89 85 dc fd ff ff    	mov    %eax,-0x224(%ebp)
4565e9:	8b 78 40             	mov    0x40(%eax),%edi
4565ec:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
4565f2:	85 ff                	test   %edi,%edi
4565f4:	0f 84 a1 03 00 00    	je     0x45699b
4565fa:	8b b7 f0 00 00 00    	mov    0xf0(%edi),%esi
456600:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
456606:	85 f6                	test   %esi,%esi
456608:	0f 84 8d 03 00 00    	je     0x45699b
45660e:	33 c0                	xor    %eax,%eax
456610:	39 87 fc 00 00 00    	cmp    %eax,0xfc(%edi)
456616:	0f 85 a9 01 00 00    	jne    0x4567c5
45661c:	39 46 28             	cmp    %eax,0x28(%esi)
45661f:	0f 85 a0 01 00 00    	jne    0x4567c5
456625:	39 46 30             	cmp    %eax,0x30(%esi)
456628:	0f 84 97 01 00 00    	je     0x4567c5
45662e:	39 46 38             	cmp    %eax,0x38(%esi)
456631:	0f 84 8e 01 00 00    	je     0x4567c5
456637:	8b 06                	mov    (%esi),%eax
456639:	6a 01                	push   $0x1
45663b:	8b 70 04             	mov    0x4(%eax),%esi
45663e:	8b ce                	mov    %esi,%ecx
456640:	ff 15 2c 81 4a 00    	call   *0x4a812c
456646:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
45664c:	ff d6                	call   *%esi
45664e:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
456654:	ff 15 20 74 4a 00    	call   *0x4a7420
45665a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45665e:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
456664:	ff 15 20 74 4a 00    	call   *0x4a7420
45666a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45666e:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
456674:	8b 7f 28             	mov    0x28(%edi),%edi
456677:	6a 01                	push   $0x1
456679:	51                   	push   %ecx
45667a:	8b 07                	mov    (%edi),%eax
45667c:	8b 70 6c             	mov    0x6c(%eax),%esi
45667f:	8b ce                	mov    %esi,%ecx
456681:	ff 15 2c 81 4a 00    	call   *0x4a812c
456687:	8b cf                	mov    %edi,%ecx
456689:	ff d6                	call   *%esi
45668b:	85 c0                	test   %eax,%eax
45668d:	74 0c                	je     0x45669b
45668f:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
456695:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
456699:	75 11                	jne    0x4566ac
45669b:	68 03 f0 00 00       	push   $0xf003
4566a0:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4566a6:	ff 15 40 74 4a 00    	call   *0x4a7440
4566ac:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
4566b2:	6a 04                	push   $0x4
4566b4:	8b 79 28             	mov    0x28(%ecx),%edi
4566b7:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
4566bd:	51                   	push   %ecx
4566be:	8b 07                	mov    (%edi),%eax
4566c0:	8b 70 6c             	mov    0x6c(%eax),%esi
4566c3:	8b ce                	mov    %esi,%ecx
4566c5:	ff 15 2c 81 4a 00    	call   *0x4a812c
4566cb:	8b cf                	mov    %edi,%ecx
4566cd:	ff d6                	call   *%esi
4566cf:	85 c0                	test   %eax,%eax
4566d1:	74 5a                	je     0x45672d
4566d3:	8b 85 d4 fd ff ff    	mov    -0x22c(%ebp),%eax
4566d9:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
4566dd:	74 4e                	je     0x45672d
4566df:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
4566e5:	50                   	push   %eax
4566e6:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
4566ec:	50                   	push   %eax
4566ed:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
4566f3:	50                   	push   %eax
4566f4:	ff 15 2c 7b 4a 00    	call   *0x4a7b2c
4566fa:	8b bd d0 fd ff ff    	mov    -0x230(%ebp),%edi
456700:	6a 02                	push   $0x2
456702:	59                   	pop    %ecx
456703:	88 4d fc             	mov    %cl,-0x4(%ebp)
456706:	8b 0f                	mov    (%edi),%ecx
456708:	6a 01                	push   $0x1
45670a:	ff 30                	push   (%eax)
45670c:	8b 71 5c             	mov    0x5c(%ecx),%esi
45670f:	8b ce                	mov    %esi,%ecx
456711:	ff 15 2c 81 4a 00    	call   *0x4a812c
456717:	8b cf                	mov    %edi,%ecx
456719:	ff d6                	call   *%esi
45671b:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
456721:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
456725:	ff 15 1c 74 4a 00    	call   *0x4a741c
45672b:	eb 1f                	jmp    0x45674c
45672d:	8b bd d0 fd ff ff    	mov    -0x230(%ebp),%edi
456733:	6a 01                	push   $0x1
456735:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
45673b:	8b 07                	mov    (%edi),%eax
45673d:	8b 70 5c             	mov    0x5c(%eax),%esi
456740:	8b ce                	mov    %esi,%ecx
456742:	ff 15 2c 81 4a 00    	call   *0x4a812c
456748:	8b cf                	mov    %edi,%ecx
45674a:	ff d6                	call   *%esi
45674c:	8b 07                	mov    (%edi),%eax
45674e:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
456754:	8b 70 58             	mov    0x58(%eax),%esi
456757:	8b ce                	mov    %esi,%ecx
456759:	ff 15 2c 81 4a 00    	call   *0x4a812c
45675f:	8b cf                	mov    %edi,%ecx
456761:	ff d6                	call   *%esi
456763:	8d 8f f4 00 00 00    	lea    0xf4(%edi),%ecx
456769:	ff 15 44 74 4a 00    	call   *0x4a7444
45676f:	8b cf                	mov    %edi,%ecx
456771:	c7 87 f8 00 00 00 01 	movl   $0x1,0xf8(%edi)
456778:	00 00 00
45677b:	e8 cc 9a fe ff       	call   0x44024c
456780:	8d 8d d4 fd ff ff    	lea    -0x22c(%ebp),%ecx
456786:	85 c0                	test   %eax,%eax
456788:	75 17                	jne    0x4567a1
45678a:	ff 15 1c 74 4a 00    	call   *0x4a741c
456790:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
456796:	ff 15 1c 74 4a 00    	call   *0x4a741c
45679c:	e9 fa 01 00 00       	jmp    0x45699b
4567a1:	8b b7 f0 00 00 00    	mov    0xf0(%edi),%esi
4567a7:	89 b5 e0 fd ff ff    	mov    %esi,-0x220(%ebp)
4567ad:	ff 15 1c 74 4a 00    	call   *0x4a741c
4567b3:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4567b7:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
4567bd:	ff 15 1c 74 4a 00    	call   *0x4a741c
4567c3:	33 c0                	xor    %eax,%eax
4567c5:	39 46 04             	cmp    %eax,0x4(%esi)
4567c8:	75 0f                	jne    0x4567d9
4567ca:	8b ce                	mov    %esi,%ecx
4567cc:	e8 60 7c fc ff       	call   0x41e431
4567d1:	85 c0                	test   %eax,%eax
4567d3:	0f 84 c2 01 00 00    	je     0x45699b
4567d9:	8b 46 04             	mov    0x4(%esi),%eax
4567dc:	83 78 2c 01          	cmpl   $0x1,0x2c(%eax)
4567e0:	0f 8c a4 01 00 00    	jl     0x45698a
4567e6:	83 78 30 01          	cmpl   $0x1,0x30(%eax)
4567ea:	0f 8c 9a 01 00 00    	jl     0x45698a
4567f0:	e8 ff 77 fd ff       	call   0x42dff4
4567f5:	e8 01 68 fd ff       	call   0x42cffb
4567fa:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
456800:	56                   	push   %esi
456801:	e8 9d 01 00 00       	call   0x4569a3
456806:	85 c0                	test   %eax,%eax
456808:	0f 84 8d 01 00 00    	je     0x45699b
45680e:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
456814:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
45681a:	85 c0                	test   %eax,%eax
45681c:	74 1d                	je     0x45683b
45681e:	8b 00                	mov    (%eax),%eax
456820:	6a 01                	push   $0x1
456822:	8b 70 04             	mov    0x4(%eax),%esi
456825:	8b ce                	mov    %esi,%ecx
456827:	ff 15 2c 81 4a 00    	call   *0x4a812c
45682d:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
456833:	ff d6                	call   *%esi
456835:	8b b5 e0 fd ff ff    	mov    -0x220(%ebp),%esi
45683b:	83 a7 f0 00 00 00 00 	andl   $0x0,0xf0(%edi)
456842:	89 b7 ec 00 00 00    	mov    %esi,0xec(%edi)
456848:	a1 90 57 4a 00       	mov    0x4a5790,%eax
45684d:	85 c0                	test   %eax,%eax
45684f:	0f 84 30 01 00 00    	je     0x456985
456855:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
456859:	0f 84 26 01 00 00    	je     0x456985
45685f:	83 c0 2c             	add    $0x2c,%eax
456862:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
456868:	50                   	push   %eax
456869:	ff 15 18 74 4a 00    	call   *0x4a7418
45686f:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
456875:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
45687c:	ff 15 20 74 4a 00    	call   *0x4a7420
456882:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
456886:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
45688c:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
456890:	74 28                	je     0x4568ba
456892:	68 04 01 00 00       	push   $0x104
456897:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
45689d:	51                   	push   %ecx
45689e:	50                   	push   %eax
45689f:	ff 15 58 70 4a 00    	call   *0x4a7058
4568a5:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4568ab:	50                   	push   %eax
4568ac:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4568b2:	ff 15 64 75 4a 00    	call   *0x4a7564
4568b8:	eb 11                	jmp    0x4568cb
4568ba:	68 03 f0 00 00       	push   $0xf003
4568bf:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
4568c5:	ff 15 40 74 4a 00    	call   *0x4a7440
4568cb:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4568d1:	ff 15 20 74 4a 00    	call   *0x4a7420
4568d7:	68 dd c3 00 00       	push   $0xc3dd
4568dc:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
4568e2:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4568e6:	ff 15 40 74 4a 00    	call   *0x4a7440
4568ec:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
4568f2:	33 c9                	xor    %ecx,%ecx
4568f4:	6a 02                	push   $0x2
4568f6:	5a                   	pop    %edx
4568f7:	8b 70 f8             	mov    -0x8(%eax),%esi
4568fa:	81 c6 05 01 00 00    	add    $0x105,%esi
456900:	8b c6                	mov    %esi,%eax
456902:	f7 e2                	mul    %edx
456904:	0f 90 c1             	seto   %cl
456907:	f7 d9                	neg    %ecx
456909:	0b c8                	or     %eax,%ecx
45690b:	51                   	push   %ecx
45690c:	e8 fd 70 03 00       	call   0x48da0e
456911:	59                   	pop    %ecx
456912:	8b f8                	mov    %eax,%edi
456914:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
45691a:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
456920:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
456926:	50                   	push   %eax
456927:	56                   	push   %esi
456928:	57                   	push   %edi
456929:	6a 00                	push   $0x0
45692b:	6a 00                	push   $0x0
45692d:	ff b5 dc fd ff ff    	push   -0x224(%ebp)
456933:	68 00 24 00 00       	push   $0x2400
456938:	ff 15 b4 72 4a 00    	call   *0x4a72b4
45693e:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
456944:	57                   	push   %edi
456945:	8b 01                	mov    (%ecx),%eax
456947:	8b 70 58             	mov    0x58(%eax),%esi
45694a:	8b ce                	mov    %esi,%ecx
45694c:	ff 15 2c 81 4a 00    	call   *0x4a812c
456952:	8b 8d d0 fd ff ff    	mov    -0x230(%ebp),%ecx
456958:	ff d6                	call   *%esi
45695a:	57                   	push   %edi
45695b:	e8 ec 70 03 00       	call   0x48da4c
456960:	59                   	pop    %ecx
456961:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
456967:	ff 15 1c 74 4a 00    	call   *0x4a741c
45696d:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
456973:	ff 15 1c 74 4a 00    	call   *0x4a741c
456979:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
45697f:	ff 15 1c 74 4a 00    	call   *0x4a741c
456985:	33 c0                	xor    %eax,%eax
456987:	40                   	inc    %eax
456988:	eb 13                	jmp    0x45699d
45698a:	6a 30                	push   $0x30
45698c:	ba 00 e0 00 00       	mov    $0xe000,%edx
456991:	b9 fb 08 00 00       	mov    $0x8fb,%ecx
456996:	e8 09 99 fc ff       	call   0x4202a4
45699b:	33 c0                	xor    %eax,%eax
45699d:	e8 13 9b 03 00       	call   0x4904b5
4569a2:	c3                   	ret
4569a3:	6a 38                	push   $0x38
4569a5:	b8 dd 40 49 00       	mov    $0x4940dd,%eax
4569aa:	e8 57 9b 03 00       	call   0x490506
4569af:	8b d9                	mov    %ecx,%ebx
4569b1:	8b 45 08             	mov    0x8(%ebp),%eax
4569b4:	8b 70 04             	mov    0x4(%eax),%esi
4569b7:	8d 45 e0             	lea    -0x20(%ebp),%eax
4569ba:	50                   	push   %eax
4569bb:	ff 73 20             	push   0x20(%ebx)
4569be:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
4569c4:	68 00 01 00 00       	push   $0x100
4569c9:	ff 15 14 74 4a 00    	call   *0x4a7414
4569cf:	59                   	pop    %ecx
4569d0:	89 45 bc             	mov    %eax,-0x44(%ebp)
4569d3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4569d7:	85 c0                	test   %eax,%eax
4569d9:	74 0f                	je     0x4569ea
4569db:	56                   	push   %esi
4569dc:	8b c8                	mov    %eax,%ecx
4569de:	e8 e3 b0 fd ff       	call   0x431ac6
4569e3:	8b f8                	mov    %eax,%edi
4569e5:	89 45 bc             	mov    %eax,-0x44(%ebp)
4569e8:	eb 05                	jmp    0x4569ef
4569ea:	33 ff                	xor    %edi,%edi
4569ec:	89 7d bc             	mov    %edi,-0x44(%ebp)
4569ef:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4569f3:	85 ff                	test   %edi,%edi
4569f5:	75 13                	jne    0x456a0a
4569f7:	6a 01                	push   $0x1
4569f9:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
4569fe:	e8 76 72 ff ff       	call   0x44dc79
456a03:	33 c0                	xor    %eax,%eax
456a05:	e9 0f 01 00 00       	jmp    0x456b19
456a0a:	83 3d 58 58 4a 00 00 	cmpl   $0x0,0x4a5858
456a11:	74 3a                	je     0x456a4d
456a13:	8b 43 58             	mov    0x58(%ebx),%eax
456a16:	85 c0                	test   %eax,%eax
456a18:	74 0d                	je     0x456a27
456a1a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
456a1d:	51                   	push   %ecx
456a1e:	ff 70 20             	push   0x20(%eax)
456a21:	ff 15 e8 7d 4a 00    	call   *0x4a7de8
456a27:	8b 43 5c             	mov    0x5c(%ebx),%eax
456a2a:	85 c0                	test   %eax,%eax
456a2c:	74 0d                	je     0x456a3b