46d3a8:	50                   	push   %eax
46d3a9:	ff 15 0c d5 48 00    	call   *0x48d50c
46d3af:	6a 10                	push   $0x10
46d3b1:	6a 04                	push   $0x4
46d3b3:	8d 44 24 38          	lea    0x38(%esp),%eax
46d3b7:	50                   	push   %eax
46d3b8:	53                   	push   %ebx
46d3b9:	ff 15 1c d5 48 00    	call   *0x48d51c
46d3bf:	8b 74 24 18          	mov    0x18(%esp),%esi
46d3c3:	8d 7c 24 30          	lea    0x30(%esp),%edi
46d3c7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d3c8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d3c9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d3ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d3cb:	8b 74 24 1c          	mov    0x1c(%esp),%esi
46d3cf:	8d 44 24 30          	lea    0x30(%esp),%eax
46d3d3:	85 f6                	test   %esi,%esi
46d3d5:	74 0d                	je     0x46d3e4
46d3d7:	6a fe                	push   $0xfffffffe
46d3d9:	6a fe                	push   $0xfffffffe
46d3db:	50                   	push   %eax
46d3dc:	ff 15 0c d5 48 00    	call   *0x48d50c
46d3e2:	eb 20                	jmp    0x46d404
46d3e4:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
46d3e9:	74 06                	je     0x46d3f1
46d3eb:	6a fd                	push   $0xfffffffd
46d3ed:	6a fd                	push   $0xfffffffd
46d3ef:	eb 04                	jmp    0x46d3f5
46d3f1:	6a fe                	push   $0xfffffffe
46d3f3:	6a fe                	push   $0xfffffffe
46d3f5:	50                   	push   %eax
46d3f6:	ff 15 0c d5 48 00    	call   *0x48d50c
46d3fc:	ff 4c 24 30          	decl   0x30(%esp)
46d400:	ff 4c 24 34          	decl   0x34(%esp)
46d404:	ff 74 24 0c          	push   0xc(%esp)
46d408:	8d 44 24 34          	lea    0x34(%esp),%eax
46d40c:	50                   	push   %eax
46d40d:	53                   	push   %ebx
46d40e:	ff 15 20 d5 48 00    	call   *0x48d520
46d414:	6a 02                	push   $0x2
46d416:	58                   	pop    %eax
46d417:	85 f6                	test   %esi,%esi
46d419:	75 06                	jne    0x46d421
46d41b:	39 74 24 24          	cmp    %esi,0x24(%esp)
46d41f:	74 08                	je     0x46d429
46d421:	01 44 24 30          	add    %eax,0x30(%esp)
46d425:	01 44 24 34          	add    %eax,0x34(%esp)
46d429:	8b 75 0c             	mov    0xc(%ebp),%esi
46d42c:	6a f0                	push   $0xfffffff0
46d42e:	ff 36                	push   (%esi)
46d430:	bf 04 01 00 00       	mov    $0x104,%edi
46d435:	89 7c 24 18          	mov    %edi,0x18(%esp)
46d439:	ff 15 44 d6 48 00    	call   *0x48d644
46d43f:	a9 00 20 00 00       	test   $0x2000,%eax
46d444:	75 07                	jne    0x46d44d
46d446:	83 c7 20             	add    $0x20,%edi
46d449:	89 7c 24 10          	mov    %edi,0x10(%esp)
46d44d:	a9 00 01 00 00       	test   $0x100,%eax
46d452:	75 07                	jne    0x46d45b
46d454:	83 cf 01             	or     $0x1,%edi
46d457:	89 7c 24 10          	mov    %edi,0x10(%esp)
46d45b:	6a 00                	push   $0x0
46d45d:	6a 00                	push   $0x0
46d45f:	6a 0e                	push   $0xe
46d461:	ff 36                	push   (%esi)
46d463:	ff 15 70 d6 48 00    	call   *0x48d670
46d469:	8d 70 01             	lea    0x1(%eax),%esi
46d46c:	33 c9                	xor    %ecx,%ecx
46d46e:	6a 02                	push   $0x2
46d470:	5a                   	pop    %edx
46d471:	8b c6                	mov    %esi,%eax
46d473:	f7 e2                	mul    %edx
46d475:	0f 90 c1             	seto   %cl
46d478:	f7 d9                	neg    %ecx
46d47a:	0b c8                	or     %eax,%ecx
46d47c:	51                   	push   %ecx
46d47d:	e8 68 20 fb ff       	call   0x41f4ea
46d482:	59                   	pop    %ecx
46d483:	56                   	push   %esi
46d484:	50                   	push   %eax
46d485:	89 44 24 24          	mov    %eax,0x24(%esp)
46d489:	8b 45 0c             	mov    0xc(%ebp),%eax
46d48c:	ff 30                	push   (%eax)
46d48e:	ff 15 30 d7 48 00    	call   *0x48d730
46d494:	57                   	push   %edi
46d495:	8d 44 24 34          	lea    0x34(%esp),%eax
46d499:	50                   	push   %eax
46d49a:	6a ff                	push   $0xffffffff
46d49c:	ff 74 24 28          	push   0x28(%esp)
46d4a0:	53                   	push   %ebx
46d4a1:	ff 15 14 d5 48 00    	call   *0x48d514
46d4a7:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
46d4ac:	74 3a                	je     0x46d4e8
46d4ae:	8b 74 24 18          	mov    0x18(%esp),%esi
46d4b2:	8d 7c 24 30          	lea    0x30(%esp),%edi
46d4b6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4b9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4ba:	ff 44 24 30          	incl   0x30(%esp)
46d4be:	ff 44 24 34          	incl   0x34(%esp)
46d4c2:	6a 11                	push   $0x11
46d4c4:	ff 15 08 d5 48 00    	call   *0x48d508
46d4ca:	50                   	push   %eax
46d4cb:	53                   	push   %ebx
46d4cc:	ff 15 40 d1 48 00    	call   *0x48d140
46d4d2:	ff 74 24 10          	push   0x10(%esp)
46d4d6:	8d 44 24 34          	lea    0x34(%esp),%eax
46d4da:	50                   	push   %eax
46d4db:	6a ff                	push   $0xffffffff
46d4dd:	ff 74 24 28          	push   0x28(%esp)
46d4e1:	53                   	push   %ebx
46d4e2:	ff 15 14 d5 48 00    	call   *0x48d514
46d4e8:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
46d4ed:	74 45                	je     0x46d534
46d4ef:	8b 74 24 18          	mov    0x18(%esp),%esi
46d4f3:	8d 7c 24 30          	lea    0x30(%esp),%edi
46d4f7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4f8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4f9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4fa:	6a 00                	push   $0x0
46d4fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d4fd:	ff 15 3c d1 48 00    	call   *0x48d13c
46d503:	8b f0                	mov    %eax,%esi
46d505:	56                   	push   %esi
46d506:	8d 44 24 34          	lea    0x34(%esp),%eax
46d50a:	50                   	push   %eax
46d50b:	53                   	push   %ebx
46d50c:	ff 15 18 d5 48 00    	call   *0x48d518
46d512:	56                   	push   %esi
46d513:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46d519:	6a fc                	push   $0xfffffffc
46d51b:	6a fc                	push   $0xfffffffc
46d51d:	8d 44 24 38          	lea    0x38(%esp),%eax
46d521:	50                   	push   %eax
46d522:	ff 15 0c d5 48 00    	call   *0x48d50c
46d528:	8d 44 24 30          	lea    0x30(%esp),%eax
46d52c:	50                   	push   %eax
46d52d:	53                   	push   %ebx
46d52e:	ff 15 10 d5 48 00    	call   *0x48d510
46d534:	ff 74 24 1c          	push   0x1c(%esp)
46d538:	e8 21 20 fb ff       	call   0x41f55e
46d53d:	59                   	pop    %ecx
46d53e:	ff 74 24 28          	push   0x28(%esp)
46d542:	53                   	push   %ebx
46d543:	ff 15 04 d1 48 00    	call   *0x48d104
46d549:	ff 74 24 0c          	push   0xc(%esp)
46d54d:	ff 15 c8 d0 48 00    	call   *0x48d0c8
46d553:	ff 74 24 20          	push   0x20(%esp)
46d557:	53                   	push   %ebx
46d558:	ff 15 40 d1 48 00    	call   *0x48d140
46d55e:	ff 74 24 2c          	push   0x2c(%esp)
46d562:	53                   	push   %ebx
46d563:	ff 15 34 d1 48 00    	call   *0x48d134
46d569:	33 c0                	xor    %eax,%eax
46d56b:	40                   	inc    %eax
46d56c:	5f                   	pop    %edi
46d56d:	5e                   	pop    %esi
46d56e:	5b                   	pop    %ebx
46d56f:	8b e5                	mov    %ebp,%esp
46d571:	5d                   	pop    %ebp
46d572:	c2 08 00             	ret    $0x8
46d575:	55                   	push   %ebp
46d576:	8b ec                	mov    %esp,%ebp
46d578:	83 ec 34             	sub    $0x34,%esp
46d57b:	8b 45 08             	mov    0x8(%ebp),%eax
46d57e:	53                   	push   %ebx
46d57f:	8b 58 18             	mov    0x18(%eax),%ebx
46d582:	56                   	push   %esi
46d583:	8b 70 10             	mov    0x10(%eax),%esi
46d586:	8b ce                	mov    %esi,%ecx
46d588:	83 e1 10             	and    $0x10,%ecx
46d58b:	83 e6 06             	and    $0x6,%esi
46d58e:	57                   	push   %edi
46d58f:	8b 3d 08 d5 48 00    	mov    0x48d508,%edi
46d595:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46d598:	89 75 ec             	mov    %esi,-0x14(%ebp)
46d59b:	74 04                	je     0x46d5a1
46d59d:	6a 0e                	push   $0xe
46d59f:	eb 0d                	jmp    0x46d5ae
46d5a1:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5a4:	8b 40 4c             	mov    0x4c(%eax),%eax
46d5a7:	83 f8 ff             	cmp    $0xffffffff,%eax
46d5aa:	75 04                	jne    0x46d5b0
46d5ac:	6a 12                	push   $0x12
46d5ae:	ff d7                	call   *%edi
46d5b0:	50                   	push   %eax
46d5b1:	53                   	push   %ebx
46d5b2:	ff 15 40 d1 48 00    	call   *0x48d140
46d5b8:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d5bb:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5be:	8b 40 48             	mov    0x48(%eax),%eax
46d5c1:	83 f8 ff             	cmp    $0xffffffff,%eax
46d5c4:	75 11                	jne    0x46d5d7
46d5c6:	6a 0f                	push   $0xf
46d5c8:	ff 15 18 d7 48 00    	call   *0x48d718
46d5ce:	6a 0f                	push   $0xf
46d5d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d5d3:	ff d7                	call   *%edi
46d5d5:	eb 10                	jmp    0x46d5e7
46d5d7:	50                   	push   %eax
46d5d8:	ff 15 3c d1 48 00    	call   *0x48d13c
46d5de:	89 45 fc             	mov    %eax,-0x4(%ebp)
46d5e1:	8b 45 0c             	mov    0xc(%ebp),%eax
46d5e4:	8b 40 48             	mov    0x48(%eax),%eax
46d5e7:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d5ea:	85 f6                	test   %esi,%esi
46d5ec:	74 06                	je     0x46d5f4
46d5ee:	6a 11                	push   $0x11
46d5f0:	ff d7                	call   *%edi
46d5f2:	eb 05                	jmp    0x46d5f9
46d5f4:	b8 00 3c 74 00       	mov    $0x743c00,%eax
46d5f9:	50                   	push   %eax
46d5fa:	6a 01                	push   $0x1
46d5fc:	6a 00                	push   $0x0
46d5fe:	ff 15 38 d1 48 00    	call   *0x48d138
46d604:	8b 35 04 d1 48 00    	mov    0x48d104,%esi
46d60a:	50                   	push   %eax
46d60b:	53                   	push   %ebx
46d60c:	89 45 e0             	mov    %eax,-0x20(%ebp)
46d60f:	ff d6                	call   *%esi
46d611:	ff 75 f4             	push   -0xc(%ebp)
46d614:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46d617:	53                   	push   %ebx
46d618:	ff 15 34 d1 48 00    	call   *0x48d134
46d61e:	ff 75 fc             	push   -0x4(%ebp)
46d621:	89 45 dc             	mov    %eax,-0x24(%ebp)
46d624:	53                   	push   %ebx
46d625:	ff d6                	call   *%esi
46d627:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d62a:	8b 45 08             	mov    0x8(%ebp),%eax
46d62d:	83 c0 1c             	add    $0x1c,%eax
46d630:	8b f0                	mov    %eax,%esi
46d632:	8d 7d cc             	lea    -0x34(%ebp),%edi
46d635:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d636:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d637:	6a ff                	push   $0xffffffff
46d639:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d63a:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d63d:	6a ff                	push   $0xffffffff
46d63f:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d642:	50                   	push   %eax
46d643:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d644:	ff 15 0c d5 48 00    	call   *0x48d50c
46d64a:	6a 05                	push   $0x5
46d64c:	6a 05                	push   $0x5
46d64e:	ff 75 d8             	push   -0x28(%ebp)
46d651:	ff 75 d4             	push   -0x2c(%ebp)
46d654:	ff 75 d0             	push   -0x30(%ebp)
46d657:	ff 75 cc             	push   -0x34(%ebp)
46d65a:	53                   	push   %ebx
46d65b:	ff 15 30 d1 48 00    	call   *0x48d130
46d661:	8b 75 0c             	mov    0xc(%ebp),%esi
46d664:	6a f0                	push   $0xfffffff0
46d666:	ff 36                	push   (%esi)
46d668:	bf 04 01 00 00       	mov    $0x104,%edi
46d66d:	89 7d 08             	mov    %edi,0x8(%ebp)
46d670:	ff 15 44 d6 48 00    	call   *0x48d644
46d676:	a9 00 20 00 00       	test   $0x2000,%eax
46d67b:	75 06                	jne    0x46d683
46d67d:	83 c7 20             	add    $0x20,%edi
46d680:	89 7d 08             	mov    %edi,0x8(%ebp)
46d683:	a9 00 01 00 00       	test   $0x100,%eax
46d688:	75 06                	jne    0x46d690
46d68a:	83 cf 01             	or     $0x1,%edi
46d68d:	89 7d 08             	mov    %edi,0x8(%ebp)
46d690:	6a 00                	push   $0x0
46d692:	6a 00                	push   $0x0
46d694:	6a 0e                	push   $0xe
46d696:	ff 36                	push   (%esi)
46d698:	ff 15 70 d6 48 00    	call   *0x48d670
46d69e:	8d 78 01             	lea    0x1(%eax),%edi
46d6a1:	33 c9                	xor    %ecx,%ecx
46d6a3:	6a 02                	push   $0x2
46d6a5:	5a                   	pop    %edx
46d6a6:	8b c7                	mov    %edi,%eax
46d6a8:	f7 e2                	mul    %edx
46d6aa:	0f 90 c1             	seto   %cl
46d6ad:	f7 d9                	neg    %ecx
46d6af:	0b c8                	or     %eax,%ecx
46d6b1:	51                   	push   %ecx
46d6b2:	e8 33 1e fb ff       	call   0x41f4ea
46d6b7:	59                   	pop    %ecx
46d6b8:	57                   	push   %edi
46d6b9:	50                   	push   %eax
46d6ba:	ff 36                	push   (%esi)
46d6bc:	89 45 0c             	mov    %eax,0xc(%ebp)
46d6bf:	ff 15 30 d7 48 00    	call   *0x48d730
46d6c5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46d6c9:	74 23                	je     0x46d6ee
46d6cb:	8b 75 f4             	mov    -0xc(%ebp),%esi
46d6ce:	8d 7d cc             	lea    -0x34(%ebp),%edi
46d6d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d3:	6a fd                	push   $0xfffffffd
46d6d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6d6:	6a fd                	push   $0xfffffffd
46d6d8:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d6db:	50                   	push   %eax
46d6dc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46d6dd:	ff 15 0c d5 48 00    	call   *0x48d50c
46d6e3:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d6e6:	50                   	push   %eax
46d6e7:	53                   	push   %ebx
46d6e8:	ff 15 10 d5 48 00    	call   *0x48d510
46d6ee:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
46d6f2:	74 10                	je     0x46d704
46d6f4:	6a 11                	push   $0x11
46d6f6:	ff 15 08 d5 48 00    	call   *0x48d508
46d6fc:	50                   	push   %eax
46d6fd:	53                   	push   %ebx
46d6fe:	ff 15 40 d1 48 00    	call   *0x48d140
46d704:	ff 75 08             	push   0x8(%ebp)
46d707:	8b 75 0c             	mov    0xc(%ebp),%esi
46d70a:	8d 45 cc             	lea    -0x34(%ebp),%eax
46d70d:	50                   	push   %eax
46d70e:	6a ff                	push   $0xffffffff
46d710:	56                   	push   %esi
46d711:	53                   	push   %ebx
46d712:	ff 15 14 d5 48 00    	call   *0x48d514
46d718:	56                   	push   %esi
46d719:	e8 40 1e fb ff       	call   0x41f55e
46d71e:	8b 3d 04 d1 48 00    	mov    0x48d104,%edi
46d724:	59                   	pop    %ecx
46d725:	ff 75 e8             	push   -0x18(%ebp)
46d728:	53                   	push   %ebx
46d729:	ff d7                	call   *%edi
46d72b:	ff 75 fc             	push   -0x4(%ebp)
46d72e:	8b 35 c8 d0 48 00    	mov    0x48d0c8,%esi
46d734:	ff d6                	call   *%esi
46d736:	ff 75 e4             	push   -0x1c(%ebp)
46d739:	53                   	push   %ebx
46d73a:	ff d7                	call   *%edi
46d73c:	ff 75 e0             	push   -0x20(%ebp)
46d73f:	ff d6                	call   *%esi
46d741:	ff 75 f8             	push   -0x8(%ebp)
46d744:	53                   	push   %ebx
46d745:	ff 15 40 d1 48 00    	call   *0x48d140
46d74b:	ff 75 dc             	push   -0x24(%ebp)
46d74e:	53                   	push   %ebx
46d74f:	ff 15 34 d1 48 00    	call   *0x48d134
46d755:	5f                   	pop    %edi
46d756:	33 c0                	xor    %eax,%eax
46d758:	5e                   	pop    %esi
46d759:	40                   	inc    %eax
46d75a:	5b                   	pop    %ebx
46d75b:	c9                   	leave
46d75c:	c2 08 00             	ret    $0x8
46d75f:	55                   	push   %ebp
46d760:	8b ec                	mov    %esp,%ebp