45e3f8:	8b c6                	mov    %esi,%eax
45e3fa:	5e                   	pop    %esi
45e3fb:	59                   	pop    %ecx
45e3fc:	c2 04 00             	ret    $0x4
45e3ff:	cc                   	int3
45e400:	b8 04 00 00 00       	mov    $0x4,%eax
45e405:	c3                   	ret
45e406:	cc                   	int3
45e407:	cc                   	int3
45e408:	cc                   	int3
45e409:	cc                   	int3
45e40a:	cc                   	int3
45e40b:	cc                   	int3
45e40c:	cc                   	int3
45e40d:	cc                   	int3
45e40e:	cc                   	int3
45e40f:	cc                   	int3
45e410:	8b 44 24 04          	mov    0x4(%esp),%eax
45e414:	83 f8 10             	cmp    $0x10,%eax
45e417:	73 08                	jae    0x45e421
45e419:	b8 10 00 00 00       	mov    $0x10,%eax
45e41e:	c2 04 00             	ret    $0x4
45e421:	83 f8 20             	cmp    $0x20,%eax
45e424:	76 08                	jbe    0x45e42e
45e426:	b8 20 00 00 00       	mov    $0x20,%eax
45e42b:	c2 04 00             	ret    $0x4
45e42e:	83 c0 07             	add    $0x7,%eax
45e431:	83 e0 f8             	and    $0xfffffff8,%eax
45e434:	c2 04 00             	ret    $0x4
45e437:	cc                   	int3
45e438:	cc                   	int3
45e439:	cc                   	int3
45e43a:	cc                   	int3
45e43b:	cc                   	int3
45e43c:	cc                   	int3
45e43d:	cc                   	int3
45e43e:	cc                   	int3
45e43f:	cc                   	int3
45e440:	56                   	push   %esi
45e441:	8b f1                	mov    %ecx,%esi
45e443:	8b 8e 18 01 00 00    	mov    0x118(%esi),%ecx
45e449:	8d 56 18             	lea    0x18(%esi),%edx
45e44c:	8b c2                	mov    %edx,%eax
45e44e:	f7 d8                	neg    %eax
45e450:	83 e0 0f             	and    $0xf,%eax
45e453:	57                   	push   %edi
45e454:	8b ba 04 01 00 00    	mov    0x104(%edx),%edi
45e45a:	03 c2                	add    %edx,%eax
45e45c:	3b f8                	cmp    %eax,%edi
45e45e:	75 0b                	jne    0x45e46b
45e460:	33 c0                	xor    %eax,%eax
45e462:	c6 82 f9 00 00 00 00 	movb   $0x0,0xf9(%edx)
45e469:	f3 ab                	rep stos %eax,%es:(%edi)
45e46b:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
45e470:	74 0e                	je     0x45e480
45e472:	68 20 01 00 00       	push   $0x120
45e477:	56                   	push   %esi
45e478:	e8 8b b5 00 00       	call   0x469a08
45e47d:	83 c4 08             	add    $0x8,%esp
45e480:	5f                   	pop    %edi
45e481:	8b c6                	mov    %esi,%eax
45e483:	5e                   	pop    %esi
45e484:	c2 04 00             	ret    $0x4
45e487:	cc                   	int3
45e488:	cc                   	int3
45e489:	cc                   	int3
45e48a:	cc                   	int3
45e48b:	cc                   	int3
45e48c:	cc                   	int3
45e48d:	cc                   	int3
45e48e:	cc                   	int3
45e48f:	cc                   	int3
45e490:	83 e9 04             	sub    $0x4,%ecx
45e493:	e9 a8 ff ff ff       	jmp    0x45e440
45e498:	cc                   	int3
45e499:	cc                   	int3
45e49a:	cc                   	int3
45e49b:	cc                   	int3
45e49c:	cc                   	int3
45e49d:	cc                   	int3
45e49e:	cc                   	int3
45e49f:	cc                   	int3
45e4a0:	55                   	push   %ebp
45e4a1:	8b ec                	mov    %esp,%ebp
45e4a3:	6a ff                	push   $0xffffffff
45e4a5:	68 25 c4 49 00       	push   $0x49c425
45e4aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e4b0:	50                   	push   %eax
45e4b1:	83 ec 5c             	sub    $0x5c,%esp
45e4b4:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45e4b9:	33 c5                	xor    %ebp,%eax
45e4bb:	89 45 f0             	mov    %eax,-0x10(%ebp)
45e4be:	56                   	push   %esi
45e4bf:	57                   	push   %edi
45e4c0:	50                   	push   %eax
45e4c1:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e4c4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e4ca:	8b f9                	mov    %ecx,%edi
45e4cc:	8b 07                	mov    (%edi),%eax
45e4ce:	8b 70 34             	mov    0x34(%eax),%esi
45e4d1:	8b ce                	mov    %esi,%ecx
45e4d3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e4d9:	8b cf                	mov    %edi,%ecx
45e4db:	ff d6                	call   *%esi
45e4dd:	8b f8                	mov    %eax,%edi
45e4df:	8d 45 b0             	lea    -0x50(%ebp),%eax
45e4e2:	50                   	push   %eax
45e4e3:	8b 0f                	mov    (%edi),%ecx
45e4e5:	8b 71 08             	mov    0x8(%ecx),%esi
45e4e8:	8b ce                	mov    %esi,%ecx
45e4ea:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e4f0:	8b cf                	mov    %edi,%ecx
45e4f2:	ff d6                	call   *%esi
45e4f4:	68 38 71 4b 00       	push   $0x4b7138
45e4f9:	8b d0                	mov    %eax,%edx
45e4fb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e502:	8d 4d 98             	lea    -0x68(%ebp),%ecx
45e505:	e8 56 32 fb ff       	call   0x411760
45e50a:	83 c4 04             	add    $0x4,%esp
45e50d:	50                   	push   %eax
45e50e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45e511:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45e515:	e8 f6 d9 fa ff       	call   0x40bf10
45e51a:	68 50 1d 4c 00       	push   $0x4c1d50
45e51f:	8d 45 c8             	lea    -0x38(%ebp),%eax
45e522:	50                   	push   %eax
45e523:	e8 86 d0 00 00       	call   0x46b5ae
45e528:	cc                   	int3
45e529:	cc                   	int3
45e52a:	cc                   	int3
45e52b:	cc                   	int3
45e52c:	cc                   	int3
45e52d:	cc                   	int3
45e52e:	cc                   	int3
45e52f:	cc                   	int3
45e530:	53                   	push   %ebx
45e531:	8b d9                	mov    %ecx,%ebx
45e533:	56                   	push   %esi
45e534:	ff 74 24 0c          	push   0xc(%esp)
45e538:	8b 03                	mov    (%ebx),%eax
45e53a:	8b 70 10             	mov    0x10(%eax),%esi
45e53d:	8b ce                	mov    %esi,%ecx
45e53f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e545:	8b cb                	mov    %ebx,%ecx
45e547:	ff d6                	call   *%esi
45e549:	39 44 24 0c          	cmp    %eax,0xc(%esp)
45e54d:	5e                   	pop    %esi
45e54e:	0f 94 c0             	sete   %al
45e551:	5b                   	pop    %ebx
45e552:	c2 04 00             	ret    $0x4
45e555:	cc                   	int3
45e556:	cc                   	int3
45e557:	cc                   	int3
45e558:	cc                   	int3
45e559:	cc                   	int3
45e55a:	cc                   	int3
45e55b:	cc                   	int3
45e55c:	cc                   	int3
45e55d:	cc                   	int3
45e55e:	cc                   	int3
45e55f:	cc                   	int3
45e560:	55                   	push   %ebp
45e561:	8b ec                	mov    %esp,%ebp
45e563:	83 e4 f8             	and    $0xfffffff8,%esp
45e566:	83 ec 0c             	sub    $0xc,%esp
45e569:	53                   	push   %ebx
45e56a:	8b d9                	mov    %ecx,%ebx
45e56c:	56                   	push   %esi
45e56d:	57                   	push   %edi
45e56e:	ff 75 08             	push   0x8(%ebp)
45e571:	8b 43 10             	mov    0x10(%ebx),%eax
45e574:	8b 70 1c             	mov    0x1c(%eax),%esi
45e577:	8b ce                	mov    %esi,%ecx
45e579:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e57f:	8d 4b 10             	lea    0x10(%ebx),%ecx
45e582:	ff d6                	call   *%esi
45e584:	8d 44 24 10          	lea    0x10(%esp),%eax
45e588:	0f 57 c0             	xorps  %xmm0,%xmm0
45e58b:	50                   	push   %eax
45e58c:	51                   	push   %ecx
45e58d:	8d 4b 38             	lea    0x38(%ebx),%ecx
45e590:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
45e596:	e8 c5 07 00 00       	call   0x45ed60
45e59b:	8d 44 24 10          	lea    0x10(%esp),%eax
45e59f:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
45e5a6:	00
45e5a7:	50                   	push   %eax
45e5a8:	51                   	push   %ecx
45e5a9:	8d 4b 4c             	lea    0x4c(%ebx),%ecx
45e5ac:	e8 6f 06 00 00       	call   0x45ec20
45e5b1:	5f                   	pop    %edi
45e5b2:	5e                   	pop    %esi
45e5b3:	5b                   	pop    %ebx
45e5b4:	8b e5                	mov    %ebp,%esp
45e5b6:	5d                   	pop    %ebp
45e5b7:	c2 04 00             	ret    $0x4
45e5ba:	cc                   	int3
45e5bb:	cc                   	int3
45e5bc:	cc                   	int3
45e5bd:	cc                   	int3
45e5be:	cc                   	int3
45e5bf:	cc                   	int3
45e5c0:	55                   	push   %ebp
45e5c1:	8b ec                	mov    %esp,%ebp
45e5c3:	83 e4 f8             	and    $0xfffffff8,%esp
45e5c6:	83 ec 0c             	sub    $0xc,%esp
45e5c9:	53                   	push   %ebx
45e5ca:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45e5cd:	56                   	push   %esi
45e5ce:	8b 71 10             	mov    0x10(%ecx),%esi
45e5d1:	57                   	push   %edi
45e5d2:	8d 79 10             	lea    0x10(%ecx),%edi
45e5d5:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45e5d9:	6a 01                	push   $0x1
45e5db:	8b 76 14             	mov    0x14(%esi),%esi
45e5de:	8b ce                	mov    %esi,%ecx
45e5e0:	6a 00                	push   $0x0
45e5e2:	53                   	push   %ebx
45e5e3:	ff 75 08             	push   0x8(%ebp)
45e5e6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e5ec:	8b cf                	mov    %edi,%ecx
45e5ee:	ff d6                	call   *%esi
45e5f0:	8b 74 24 10          	mov    0x10(%esp),%esi
45e5f4:	8b 56 48             	mov    0x48(%esi),%edx
45e5f7:	03 56 44             	add    0x44(%esi),%edx
45e5fa:	8b 46 40             	mov    0x40(%esi),%eax
45e5fd:	4a                   	dec    %edx
45e5fe:	48                   	dec    %eax
45e5ff:	8b ca                	mov    %edx,%ecx
45e601:	d1 e9                	shr    $1,%ecx
45e603:	83 e2 01             	and    $0x1,%edx
45e606:	23 c8                	and    %eax,%ecx
45e608:	8b 46 3c             	mov    0x3c(%esi),%eax
45e60b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e60e:	01 1c d0             	add    %ebx,(%eax,%edx,8)
45e611:	83 54 d0 04 00       	adcl   $0x0,0x4(%eax,%edx,8)
45e616:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
45e61a:	0f 84 98 00 00 00    	je     0x45e6b8
45e620:	8b 46 44             	mov    0x44(%esi),%eax
45e623:	8b 4e 48             	mov    0x48(%esi),%ecx
45e626:	03 c1                	add    %ecx,%eax
45e628:	a8 01                	test   $0x1,%al
45e62a:	75 13                	jne    0x45e63f
45e62c:	8d 41 02             	lea    0x2(%ecx),%eax
45e62f:	d1 e8                	shr    $1,%eax
45e631:	39 46 40             	cmp    %eax,0x40(%esi)
45e634:	77 09                	ja     0x45e63f
45e636:	51                   	push   %ecx
45e637:	8d 4e 38             	lea    0x38(%esi),%ecx
45e63a:	e8 01 0b 00 00       	call   0x45f140
45e63f:	8b 4e 40             	mov    0x40(%esi),%ecx
45e642:	8d 04 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%eax
45e649:	49                   	dec    %ecx
45e64a:	21 46 44             	and    %eax,0x44(%esi)
45e64d:	8b 5e 48             	mov    0x48(%esi),%ebx
45e650:	03 5e 44             	add    0x44(%esi),%ebx
45e653:	8b c3                	mov    %ebx,%eax
45e655:	d1 e8                	shr    $1,%eax
45e657:	23 c8                	and    %eax,%ecx
45e659:	8b 46 3c             	mov    0x3c(%esi),%eax
45e65c:	c1 e1 02             	shl    $0x2,%ecx
45e65f:	89 4c 24 10          	mov    %ecx,0x10(%esp)
45e663:	83 3c 01 00          	cmpl   $0x0,(%ecx,%eax,1)
45e667:	75 16                	jne    0x45e67f
45e669:	6a 10                	push   $0x10
45e66b:	e8 68 b3 00 00       	call   0x4699d8
45e670:	8b 4e 3c             	mov    0x3c(%esi),%ecx
45e673:	83 c4 04             	add    $0x4,%esp
45e676:	8b 54 24 10          	mov    0x10(%esp),%edx
45e67a:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
45e67d:	8b ca                	mov    %edx,%ecx
45e67f:	8b 46 3c             	mov    0x3c(%esi),%eax
45e682:	83 e3 01             	and    $0x1,%ebx
45e685:	8b 04 01             	mov    (%ecx,%eax,1),%eax
45e688:	c7 04 d8 00 00 00 00 	movl   $0x0,(%eax,%ebx,8)
45e68f:	c7 44 d8 04 00 00 00 	movl   $0x0,0x4(%eax,%ebx,8)
45e696:	00
45e697:	ff 46 48             	incl   0x48(%esi)
45e69a:	8b 56 5c             	mov    0x5c(%esi),%edx
45e69d:	03 56 58             	add    0x58(%esi),%edx
45e6a0:	8b 46 54             	mov    0x54(%esi),%eax
45e6a3:	4a                   	dec    %edx
45e6a4:	8b ca                	mov    %edx,%ecx
45e6a6:	48                   	dec    %eax
45e6a7:	c1 e9 02             	shr    $0x2,%ecx
45e6aa:	83 e2 03             	and    $0x3,%edx
45e6ad:	23 c8                	and    %eax,%ecx
45e6af:	8b 46 50             	mov    0x50(%esi),%eax
45e6b2:	8b 04 88             	mov    (%eax,%ecx,4),%eax
45e6b5:	ff 04 90             	incl   (%eax,%edx,4)
45e6b8:	5f                   	pop    %edi
45e6b9:	5e                   	pop    %esi
45e6ba:	33 c0                	xor    %eax,%eax
45e6bc:	5b                   	pop    %ebx
45e6bd:	8b e5                	mov    %ebp,%esp
45e6bf:	5d                   	pop    %ebp
45e6c0:	c2 10 00             	ret    $0x10
45e6c3:	cc                   	int3
45e6c4:	cc                   	int3
45e6c5:	cc                   	int3
45e6c6:	cc                   	int3
45e6c7:	cc                   	int3
45e6c8:	cc                   	int3
45e6c9:	cc                   	int3
45e6ca:	cc                   	int3
45e6cb:	cc                   	int3
45e6cc:	cc                   	int3
45e6cd:	cc                   	int3
45e6ce:	cc                   	int3
45e6cf:	cc                   	int3
45e6d0:	8b 41 58             	mov    0x58(%ecx),%eax
45e6d3:	53                   	push   %ebx
45e6d4:	56                   	push   %esi
45e6d5:	8d 71 4c             	lea    0x4c(%ecx),%esi
45e6d8:	8b 4e 10             	mov    0x10(%esi),%ecx
45e6db:	03 c1                	add    %ecx,%eax
45e6dd:	57                   	push   %edi
45e6de:	a8 03                	test   $0x3,%al
45e6e0:	75 13                	jne    0x45e6f5
45e6e2:	8d 41 04             	lea    0x4(%ecx),%eax
45e6e5:	c1 e8 02             	shr    $0x2,%eax
45e6e8:	39 46 08             	cmp    %eax,0x8(%esi)
45e6eb:	77 08                	ja     0x45e6f5
45e6ed:	51                   	push   %ecx
45e6ee:	8b ce                	mov    %esi,%ecx
45e6f0:	e8 ab 08 00 00       	call   0x45efa0
45e6f5:	8b 4e 08             	mov    0x8(%esi),%ecx
45e6f8:	8d 04 8d ff ff ff ff 	lea    -0x1(,%ecx,4),%eax
45e6ff:	49                   	dec    %ecx
45e700:	21 46 0c             	and    %eax,0xc(%esi)
45e703:	8b 7e 10             	mov    0x10(%esi),%edi
45e706:	03 7e 0c             	add    0xc(%esi),%edi
45e709:	8b c7                	mov    %edi,%eax
45e70b:	c1 e8 02             	shr    $0x2,%eax
45e70e:	23 c8                	and    %eax,%ecx
45e710:	8b 46 04             	mov    0x4(%esi),%eax
45e713:	8d 1c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%ebx
45e71a:	83 3c 03 00          	cmpl   $0x0,(%ebx,%eax,1)
45e71e:	75 10                	jne    0x45e730
45e720:	6a 10                	push   $0x10
45e722:	e8 b1 b2 00 00       	call   0x4699d8
45e727:	8b 4e 04             	mov    0x4(%esi),%ecx
45e72a:	83 c4 04             	add    $0x4,%esp
45e72d:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
45e730:	8b 46 04             	mov    0x4(%esi),%eax
45e733:	83 e7 03             	and    $0x3,%edi
45e736:	8b 04 03             	mov    (%ebx,%eax,1),%eax
45e739:	c7 04 b8 00 00 00 00 	movl   $0x0,(%eax,%edi,4)
45e740:	32 c0                	xor    %al,%al
45e742:	ff 46 10             	incl   0x10(%esi)