45933a:	74 1a                	je     0x459356
45933c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45933f:	51                   	push   %ecx
459340:	8a 4d 08             	mov    0x8(%ebp),%cl
459343:	51                   	push   %ecx
459344:	8b d8                	mov    %eax,%ebx
459346:	8b ca                	mov    %edx,%ecx
459348:	8b d0                	mov    %eax,%edx
45934a:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
459350:	ff 93 90 00 00 00    	call   *0x90(%ebx)
459356:	5f                   	pop    %edi
459357:	5e                   	pop    %esi
459358:	5b                   	pop    %ebx
459359:	8b e5                	mov    %ebp,%esp
45935b:	5d                   	pop    %ebp
45935c:	c2 04 00             	ret    $0x4
45935f:	90                   	nop
459360:	55                   	push   %ebp
459361:	8b ec                	mov    %esp,%ebp
459363:	6a 00                	push   $0x0
459365:	53                   	push   %ebx
459366:	56                   	push   %esi
459367:	57                   	push   %edi
459368:	33 c0                	xor    %eax,%eax
45936a:	55                   	push   %ebp
45936b:	68 b8 9b 45 00       	push   $0x459bb8
459370:	64 ff 30             	push   %fs:(%eax)
459373:	64 89 20             	mov    %esp,%fs:(%eax)
459376:	8b 45 08             	mov    0x8(%ebp),%eax
459379:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
45937d:	75 11                	jne    0x459390
45937f:	8b 45 08             	mov    0x8(%ebp),%eax
459382:	8d 50 e0             	lea    -0x20(%eax),%edx
459385:	8b 45 08             	mov    0x8(%ebp),%eax
459388:	8b 40 d8             	mov    -0x28(%eax),%eax
45938b:	e8 6c f3 fc ff       	call   0x4286fc
459390:	8b 45 08             	mov    0x8(%ebp),%eax
459393:	83 78 d4 00          	cmpl   $0x0,-0x2c(%eax)
459397:	74 09                	je     0x4593a2
459399:	8b 45 08             	mov    0x8(%ebp),%eax
45939c:	c6 40 d3 00          	movb   $0x0,-0x2d(%eax)
4593a0:	eb 2d                	jmp    0x4593cf
4593a2:	8b 45 08             	mov    0x8(%ebp),%eax
4593a5:	8b 40 d4             	mov    -0x2c(%eax),%eax
4593a8:	8b 15 18 7d 45 00    	mov    0x457d18,%edx
4593ae:	e8 51 a8 fa ff       	call   0x403c04
4593b3:	84 c0                	test   %al,%al
4593b5:	74 11                	je     0x4593c8
4593b7:	8b 45 08             	mov    0x8(%ebp),%eax
4593ba:	8b 40 d4             	mov    -0x2c(%eax),%eax
4593bd:	8a 40 60             	mov    0x60(%eax),%al
4593c0:	8b 55 08             	mov    0x8(%ebp),%edx
4593c3:	88 42 d3             	mov    %al,-0x2d(%edx)
4593c6:	eb 07                	jmp    0x4593cf
4593c8:	8b 45 08             	mov    0x8(%ebp),%eax
4593cb:	c6 40 d3 00          	movb   $0x0,-0x2d(%eax)
4593cf:	8b 45 08             	mov    0x8(%ebp),%eax
4593d2:	8b 40 e0             	mov    -0x20(%eax),%eax
4593d5:	40                   	inc    %eax
4593d6:	8b 55 08             	mov    0x8(%ebp),%edx
4593d9:	89 42 f0             	mov    %eax,-0x10(%edx)
4593dc:	8b 45 08             	mov    0x8(%ebp),%eax
4593df:	8b 40 e4             	mov    -0x1c(%eax),%eax
4593e2:	40                   	inc    %eax
4593e3:	8b 55 08             	mov    0x8(%ebp),%edx
4593e6:	89 42 f4             	mov    %eax,-0xc(%edx)
4593e9:	8b 45 08             	mov    0x8(%ebp),%eax
4593ec:	8b 40 cc             	mov    -0x34(%eax),%eax
4593ef:	8b 40 30             	mov    0x30(%eax),%eax
4593f2:	ba d0 9b 45 00       	mov    $0x459bd0,%edx
4593f7:	e8 68 b8 fa ff       	call   0x404c64
4593fc:	75 2f                	jne    0x45942d
4593fe:	8b 45 08             	mov    0x8(%ebp),%eax
459401:	8d 50 e0             	lea    -0x20(%eax),%edx
459404:	8b 45 08             	mov    0x8(%ebp),%eax
459407:	8b 40 d8             	mov    -0x28(%eax),%eax
45940a:	e8 ed f2 fc ff       	call   0x4286fc
45940f:	8b 45 08             	mov    0x8(%ebp),%eax
459412:	33 d2                	xor    %edx,%edx
459414:	89 50 f0             	mov    %edx,-0x10(%eax)
459417:	8b 45 08             	mov    0x8(%ebp),%eax
45941a:	c7 40 f8 fc ff ff ff 	movl   $0xfffffffc,-0x8(%eax)
459421:	8b 45 08             	mov    0x8(%ebp),%eax
459424:	c6 40 cb 00          	movb   $0x0,-0x35(%eax)
459428:	e9 8d 04 00 00       	jmp    0x4598ba
45942d:	8b 45 08             	mov    0x8(%ebp),%eax
459430:	83 78 c4 00          	cmpl   $0x0,-0x3c(%eax)
459434:	74 47                	je     0x45947d
459436:	8b 45 08             	mov    0x8(%ebp),%eax
459439:	8b 40 cc             	mov    -0x34(%eax),%eax
45943c:	8b 58 40             	mov    0x40(%eax),%ebx
45943f:	83 fb ff             	cmp    $0xffffffff,%ebx
459442:	7e 12                	jle    0x459456
459444:	8b 45 08             	mov    0x8(%ebp),%eax
459447:	8b 45 08             	mov    0x8(%ebp),%eax
45944a:	8b 40 c4             	mov    -0x3c(%eax),%eax
45944d:	e8 8a cb ff ff       	call   0x455fdc
459452:	3b d8                	cmp    %eax,%ebx
459454:	7c 2b                	jl     0x459481
459456:	8b 45 08             	mov    0x8(%ebp),%eax
459459:	8b 40 cc             	mov    -0x34(%eax),%eax
45945c:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
459460:	74 1b                	je     0x45947d
459462:	8b 45 08             	mov    0x8(%ebp),%eax
459465:	8b 40 cc             	mov    -0x34(%eax),%eax
459468:	8b 70 4c             	mov    0x4c(%eax),%esi
45946b:	85 f6                	test   %esi,%esi
45946d:	74 12                	je     0x459481
45946f:	8b 45 08             	mov    0x8(%ebp),%eax
459472:	8b c6                	mov    %esi,%eax
459474:	8b 10                	mov    (%eax),%edx
459476:	ff 52 1c             	call   *0x1c(%edx)
459479:	84 c0                	test   %al,%al
45947b:	75 04                	jne    0x459481
45947d:	33 c0                	xor    %eax,%eax
45947f:	eb 02                	jmp    0x459483
459481:	b0 01                	mov    $0x1,%al
459483:	8b 55 08             	mov    0x8(%ebp),%edx
459486:	88 42 c3             	mov    %al,-0x3d(%edx)
459489:	8b 45 08             	mov    0x8(%ebp),%eax
45948c:	80 78 c3 00          	cmpb   $0x0,-0x3d(%eax)
459490:	75 23                	jne    0x4594b5
459492:	8b 45 08             	mov    0x8(%ebp),%eax
459495:	8b 40 cc             	mov    -0x34(%eax),%eax
459498:	8b 58 4c             	mov    0x4c(%eax),%ebx
45949b:	85 db                	test   %ebx,%ebx
45949d:	0f 84 ba 03 00 00    	je     0x45985d
4594a3:	8b 45 08             	mov    0x8(%ebp),%eax
4594a6:	8b c3                	mov    %ebx,%eax
4594a8:	8b 10                	mov    (%eax),%edx
4594aa:	ff 52 1c             	call   *0x1c(%edx)
4594ad:	84 c0                	test   %al,%al
4594af:	0f 85 a8 03 00 00    	jne    0x45985d
4594b5:	8b 45 08             	mov    0x8(%ebp),%eax
4594b8:	c6 40 cb 01          	movb   $0x1,-0x35(%eax)
4594bc:	8b 45 08             	mov    0x8(%ebp),%eax
4594bf:	80 78 c3 00          	cmpb   $0x0,-0x3d(%eax)
4594c3:	74 2c                	je     0x4594f1
4594c5:	8b 45 08             	mov    0x8(%ebp),%eax
4594c8:	8b 40 f0             	mov    -0x10(%eax),%eax
4594cb:	8b 55 08             	mov    0x8(%ebp),%edx
4594ce:	8b 52 c4             	mov    -0x3c(%edx),%edx
4594d1:	03 42 34             	add    0x34(%edx),%eax
4594d4:	8b 55 08             	mov    0x8(%ebp),%edx
4594d7:	89 42 f8             	mov    %eax,-0x8(%edx)
4594da:	8b 45 08             	mov    0x8(%ebp),%eax
4594dd:	8b 40 f4             	mov    -0xc(%eax),%eax
4594e0:	8b 55 08             	mov    0x8(%ebp),%edx
4594e3:	8b 52 c4             	mov    -0x3c(%edx),%edx
4594e6:	03 42 30             	add    0x30(%edx),%eax
4594e9:	8b 55 08             	mov    0x8(%ebp),%edx
4594ec:	89 42 fc             	mov    %eax,-0x4(%edx)
4594ef:	eb 1e                	jmp    0x45950f
4594f1:	8b 45 08             	mov    0x8(%ebp),%eax
4594f4:	8b 40 f0             	mov    -0x10(%eax),%eax
4594f7:	83 c0 10             	add    $0x10,%eax
4594fa:	8b 55 08             	mov    0x8(%ebp),%edx
4594fd:	89 42 f8             	mov    %eax,-0x8(%edx)
459500:	8b 45 08             	mov    0x8(%ebp),%eax
459503:	8b 40 f4             	mov    -0xc(%eax),%eax
459506:	83 c0 10             	add    $0x10,%eax
459509:	8b 55 08             	mov    0x8(%ebp),%edx
45950c:	89 42 fc             	mov    %eax,-0x4(%edx)
45950f:	8b 45 08             	mov    0x8(%ebp),%eax
459512:	8b 40 cc             	mov    -0x34(%eax),%eax
459515:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
459519:	0f 84 b3 00 00 00    	je     0x4595d2
45951f:	8b 45 08             	mov    0x8(%ebp),%eax
459522:	ff 40 f8             	incl   -0x8(%eax)
459525:	8b 45 08             	mov    0x8(%ebp),%eax
459528:	ff 40 fc             	incl   -0x4(%eax)
45952b:	8b 45 08             	mov    0x8(%ebp),%eax
45952e:	8b 40 d8             	mov    -0x28(%eax),%eax
459531:	8b 40 14             	mov    0x14(%eax),%eax
459534:	e8 43 ed fc ff       	call   0x42827c
459539:	8b 55 08             	mov    0x8(%ebp),%edx
45953c:	89 42 bc             	mov    %eax,-0x44(%edx)
45953f:	8b 45 08             	mov    0x8(%ebp),%eax
459542:	f6 40 0c 01          	testb  $0x1,0xc(%eax)
459546:	75 46                	jne    0x45958e
459548:	8b 45 08             	mov    0x8(%ebp),%eax
45954b:	8b 40 d8             	mov    -0x28(%eax),%eax
45954e:	8b 40 14             	mov    0x14(%eax),%eax
459551:	e8 26 ed fc ff       	call   0x42827c
459556:	8b 55 08             	mov    0x8(%ebp),%edx
459559:	89 42 bc             	mov    %eax,-0x44(%edx)
45955c:	ba 14 00 00 80       	mov    $0x80000014,%edx
459561:	b8 0f 00 00 80       	mov    $0x8000000f,%eax
459566:	e8 b1 60 fd ff       	call   0x42f61c
45956b:	8b d0                	mov    %eax,%edx
45956d:	8b 45 08             	mov    0x8(%ebp),%eax
459570:	8b 40 d8             	mov    -0x28(%eax),%eax
459573:	8b 40 14             	mov    0x14(%eax),%eax
459576:	e8 dd ec fc ff       	call   0x428258
45957b:	8b 45 08             	mov    0x8(%ebp),%eax
45957e:	8d 50 f0             	lea    -0x10(%eax),%edx
459581:	8b 45 08             	mov    0x8(%ebp),%eax
459584:	8b 40 d8             	mov    -0x28(%eax),%eax
459587:	e8 70 f1 fc ff       	call   0x4286fc
45958c:	eb 24                	jmp    0x4595b2
45958e:	8b 45 08             	mov    0x8(%ebp),%eax
459591:	8b 40 d8             	mov    -0x28(%eax),%eax
459594:	8b 40 14             	mov    0x14(%eax),%eax
459597:	ba 0f 00 00 80       	mov    $0x8000000f,%edx
45959c:	e8 e3 ec fc ff       	call   0x428284
4595a1:	8b 45 08             	mov    0x8(%ebp),%eax
4595a4:	8d 50 f0             	lea    -0x10(%eax),%edx
4595a7:	8b 45 08             	mov    0x8(%ebp),%eax
4595aa:	8b 40 d8             	mov    -0x28(%eax),%eax
4595ad:	e8 4a f1 fc ff       	call   0x4286fc
4595b2:	8b 45 08             	mov    0x8(%ebp),%eax
4595b5:	8b 50 bc             	mov    -0x44(%eax),%edx
4595b8:	8b 45 08             	mov    0x8(%ebp),%eax
4595bb:	8b 40 d8             	mov    -0x28(%eax),%eax
4595be:	8b 40 14             	mov    0x14(%eax),%eax
4595c1:	e8 be ec fc ff       	call   0x428284
4595c6:	8b 45 08             	mov    0x8(%ebp),%eax
4595c9:	ff 40 f0             	incl   -0x10(%eax)
4595cc:	8b 45 08             	mov    0x8(%ebp),%eax
4595cf:	ff 40 f4             	incl   -0xc(%eax)
4595d2:	8b 45 08             	mov    0x8(%ebp),%eax
4595d5:	80 78 c3 00          	cmpb   $0x0,-0x3d(%eax)
4595d9:	0f 84 5a 01 00 00    	je     0x459739
4595df:	8b 45 08             	mov    0x8(%ebp),%eax
4595e2:	8b 40 cc             	mov    -0x34(%eax),%eax
4595e5:	8b 58 40             	mov    0x40(%eax),%ebx
4595e8:	83 fb ff             	cmp    $0xffffffff,%ebx
4595eb:	7e 49                	jle    0x459636
4595ed:	8b 45 08             	mov    0x8(%ebp),%eax
4595f0:	8b 45 08             	mov    0x8(%ebp),%eax
4595f3:	8b 40 c4             	mov    -0x3c(%eax),%eax
4595f6:	e8 e1 c9 ff ff       	call   0x455fdc
4595fb:	3b d8                	cmp    %eax,%ebx
4595fd:	7d 37                	jge    0x459636
4595ff:	8b 45 08             	mov    0x8(%ebp),%eax
459602:	8b 40 f4             	mov    -0xc(%eax),%eax
459605:	50                   	push   %eax
459606:	8b 45 08             	mov    0x8(%ebp),%eax
459609:	8b 40 cc             	mov    -0x34(%eax),%eax
45960c:	8b 40 40             	mov    0x40(%eax),%eax
45960f:	50                   	push   %eax
459610:	8b 45 08             	mov    0x8(%ebp),%eax
459613:	8b 40 cc             	mov    -0x34(%eax),%eax
459616:	8a 40 39             	mov    0x39(%eax),%al
459619:	50                   	push   %eax
45961a:	8b 45 08             	mov    0x8(%ebp),%eax
45961d:	8b 48 f0             	mov    -0x10(%eax),%ecx
459620:	8b 45 08             	mov    0x8(%ebp),%eax
459623:	8b 50 d8             	mov    -0x28(%eax),%edx
459626:	8b 45 08             	mov    0x8(%ebp),%eax
459629:	8b 40 c4             	mov    -0x3c(%eax),%eax
45962c:	e8 c3 ce ff ff       	call   0x4564f4
459631:	e9 0d 02 00 00       	jmp    0x459843
459636:	b2 01                	mov    $0x1,%dl
459638:	a1 ec 6a 42 00       	mov    0x426aec,%eax
45963d:	e8 8e 3b fd ff       	call   0x42d1d0
459642:	8b 55 08             	mov    0x8(%ebp),%edx
459645:	89 42 b8             	mov    %eax,-0x48(%edx)
459648:	33 c0                	xor    %eax,%eax
45964a:	55                   	push   %ebp
45964b:	68 32 97 45 00       	push   $0x459732
459650:	64 ff 30             	push   %fs:(%eax)
459653:	64 89 20             	mov    %esp,%fs:(%eax)
459656:	8b 45 08             	mov    0x8(%ebp),%eax
459659:	8b 40 b8             	mov    -0x48(%eax),%eax
45965c:	b2 01                	mov    $0x1,%dl
45965e:	8b 08                	mov    (%eax),%ecx
459660:	ff 51 3c             	call   *0x3c(%ecx)
459663:	68 f8 7f 00 00       	push   $0x7ff8
459668:	6a 00                	push   $0x0
45966a:	e8 a1 e5 fa ff       	call   0x407c10
45966f:	8b d0                	mov    %eax,%edx
459671:	8b 45 08             	mov    0x8(%ebp),%eax
459674:	8b 40 b8             	mov    -0x48(%eax),%eax
459677:	e8 88 4d fd ff       	call   0x42e404
45967c:	8b 45 08             	mov    0x8(%ebp),%eax
45967f:	8b 40 d8             	mov    -0x28(%eax),%eax
459682:	8b 40 0c             	mov    0xc(%eax),%eax
459685:	8b 40 18             	mov    0x18(%eax),%eax
459688:	8b 55 08             	mov    0x8(%ebp),%edx
45968b:	89 42 bc             	mov    %eax,-0x44(%edx)
45968e:	8b 45 08             	mov    0x8(%ebp),%eax
459691:	8b 40 d8             	mov    -0x28(%eax),%eax
459694:	8b 40 0c             	mov    0xc(%eax),%eax
459697:	ba 12 00 00 80       	mov    $0x80000012,%edx
45969c:	e8 f7 e3 fc ff       	call   0x427a98
4596a1:	8b 45 08             	mov    0x8(%ebp),%eax
4596a4:	8b 40 b8             	mov    -0x48(%eax),%eax
4596a7:	50                   	push   %eax
4596a8:	8b 45 08             	mov    0x8(%ebp),%eax
4596ab:	8b 40 b8             	mov    -0x48(%eax),%eax
4596ae:	8b 10                	mov    (%eax),%edx
4596b0:	ff 52 20             	call   *0x20(%edx)
4596b3:	8b 55 08             	mov    0x8(%ebp),%edx
4596b6:	8b 52 fc             	mov    -0x4(%edx),%edx
4596b9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4596bc:	8b 71 f4             	mov    -0xc(%ecx),%esi
4596bf:	2b d6                	sub    %esi,%edx
4596c1:	2b d0                	sub    %eax,%edx
4596c3:	d1 fa                	sar    $1,%edx
4596c5:	79 03                	jns    0x4596ca
4596c7:	83 d2 00             	adc    $0x0,%edx
4596ca:	8b 45 08             	mov    0x8(%ebp),%eax
4596cd:	03 d6                	add    %esi,%edx
4596cf:	42                   	inc    %edx
4596d0:	52                   	push   %edx
4596d1:	8b 45 08             	mov    0x8(%ebp),%eax
4596d4:	8b 40 b8             	mov    -0x48(%eax),%eax
4596d7:	8b 10                	mov    (%eax),%edx
4596d9:	ff 52 2c             	call   *0x2c(%edx)
4596dc:	8b 55 08             	mov    0x8(%ebp),%edx
4596df:	8b 52 f8             	mov    -0x8(%edx),%edx
4596e2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4596e5:	8b 59 f0             	mov    -0x10(%ecx),%ebx
4596e8:	2b d3                	sub    %ebx,%edx
4596ea:	2b d0                	sub    %eax,%edx
4596ec:	d1 fa                	sar    $1,%edx
4596ee:	79 03                	jns    0x4596f3
4596f0:	83 d2 00             	adc    $0x0,%edx
4596f3:	8b 45 08             	mov    0x8(%ebp),%eax
4596f6:	03 d3                	add    %ebx,%edx
4596f8:	42                   	inc    %edx
4596f9:	8b 45 08             	mov    0x8(%ebp),%eax
4596fc:	8b 40 d8             	mov    -0x28(%eax),%eax
4596ff:	59                   	pop    %ecx
459700:	e8 cf ee fc ff       	call   0x4285d4
459705:	8b 45 08             	mov    0x8(%ebp),%eax
459708:	8b 50 bc             	mov    -0x44(%eax),%edx
45970b:	8b 45 08             	mov    0x8(%ebp),%eax
45970e:	8b 40 d8             	mov    -0x28(%eax),%eax
459711:	8b 40 0c             	mov    0xc(%eax),%eax
459714:	e8 7f e3 fc ff       	call   0x427a98
459719:	33 c0                	xor    %eax,%eax
45971b:	5a                   	pop    %edx
45971c:	59                   	pop    %ecx
45971d:	59                   	pop    %ecx
45971e:	64 89 10             	mov    %edx,%fs:(%eax)
459721:	68 43 98 45 00       	push   $0x459843
459726:	8b 45 08             	mov    0x8(%ebp),%eax
459729:	8b 40 b8             	mov    -0x48(%eax),%eax
45972c:	e8 47 a3 fa ff       	call   0x403a78
459731:	c3                   	ret
459732:	e9 d5 aa fa ff       	jmp    0x40420c
459737:	eb ed                	jmp    0x459726
459739:	8b 45 08             	mov    0x8(%ebp),%eax
45973c:	8b 55 08             	mov    0x8(%ebp),%edx
45973f:	8d 70 f0             	lea    -0x10(%eax),%esi
459742:	8d 7a a8             	lea    -0x58(%edx),%edi
459745:	a5                   	movsl  %ds:(%esi),%es:(%edi)
459746:	a5                   	movsl  %ds:(%esi),%es:(%edi)