42c406:	8b 4f 14             	mov    0x14(%edi),%ecx
42c409:	50                   	push   %eax
42c40a:	56                   	push   %esi
42c40b:	ff 15 20 a5 43 00    	call   *0x43a520
42c411:	ff 57 14             	call   *0x14(%edi)
42c414:	85 c0                	test   %eax,%eax
42c416:	78 58                	js     0x42c470
42c418:	89 9d d4 f7 ff ff    	mov    %ebx,-0x82c(%ebp)
42c41e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42c422:	8d 8d d4 f7 ff ff    	lea    -0x82c(%ebp),%ecx
42c428:	8b 85 d8 f7 ff ff    	mov    -0x828(%ebp),%eax
42c42e:	51                   	push   %ecx
42c42f:	68 4c 4e 40 00       	push   $0x404e4c
42c434:	50                   	push   %eax
42c435:	8b 30                	mov    (%eax),%esi
42c437:	8b 0e                	mov    (%esi),%ecx
42c439:	ff 15 20 a5 43 00    	call   *0x43a520
42c43f:	ff 16                	call   *(%esi)
42c441:	85 c0                	test   %eax,%eax
42c443:	78 0d                	js     0x42c452
42c445:	ff b5 d4 f7 ff ff    	push   -0x82c(%ebp)
42c44b:	53                   	push   %ebx
42c44c:	ff 15 10 a0 43 00    	call   *0x43a010
42c452:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
42c456:	8b 85 d4 f7 ff ff    	mov    -0x82c(%ebp),%eax
42c45c:	85 c0                	test   %eax,%eax
42c45e:	74 10                	je     0x42c470
42c460:	8b 08                	mov    (%eax),%ecx
42c462:	50                   	push   %eax
42c463:	8b 71 08             	mov    0x8(%ecx),%esi
42c466:	8b ce                	mov    %esi,%ecx
42c468:	ff 15 20 a5 43 00    	call   *0x43a520
42c46e:	ff d6                	call   *%esi
42c470:	c7 85 dc f7 ff ff 80 	movl   $0x401180,-0x824(%ebp)
42c477:	11 40 00
42c47a:	8d 8d d8 f7 ff ff    	lea    -0x828(%ebp),%ecx
42c480:	e8 7a fd fd ff       	call   0x40c1ff
42c485:	e8 66 e9 fe ff       	call   0x41adf0
42c48a:	c3                   	ret
42c48b:	8b ff                	mov    %edi,%edi
42c48d:	55                   	push   %ebp
42c48e:	8b ec                	mov    %esp,%ebp
42c490:	51                   	push   %ecx
42c491:	51                   	push   %ecx
42c492:	53                   	push   %ebx
42c493:	8b 5d 08             	mov    0x8(%ebp),%ebx
42c496:	8b c1                	mov    %ecx,%eax
42c498:	56                   	push   %esi
42c499:	57                   	push   %edi
42c49a:	6a 14                	push   $0x14
42c49c:	59                   	pop    %ecx
42c49d:	8b f8                	mov    %eax,%edi
42c49f:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c4a2:	8b f3                	mov    %ebx,%esi
42c4a4:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
42c4a6:	8b 4b 40             	mov    0x40(%ebx),%ecx
42c4a9:	e8 cd fb ff ff       	call   0x42c07b
42c4ae:	8b 4b 34             	mov    0x34(%ebx),%ecx
42c4b1:	8b f0                	mov    %eax,%esi
42c4b3:	e8 c3 fb ff ff       	call   0x42c07b
42c4b8:	8b 4b 0c             	mov    0xc(%ebx),%ecx
42c4bb:	03 f0                	add    %eax,%esi
42c4bd:	e8 b9 fb ff ff       	call   0x42c07b
42c4c2:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
42c4c5:	03 f0                	add    %eax,%esi
42c4c7:	e8 97 fb ff ff       	call   0x42c063
42c4cc:	8b 4b 30             	mov    0x30(%ebx),%ecx
42c4cf:	03 f0                	add    %eax,%esi
42c4d1:	e8 8d fb ff ff       	call   0x42c063
42c4d6:	8b 4b 28             	mov    0x28(%ebx),%ecx
42c4d9:	03 f0                	add    %eax,%esi
42c4db:	e8 83 fb ff ff       	call   0x42c063
42c4e0:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
42c4e3:	03 f0                	add    %eax,%esi
42c4e5:	e8 79 fb ff ff       	call   0x42c063
42c4ea:	8b 4b 18             	mov    0x18(%ebx),%ecx
42c4ed:	03 f0                	add    %eax,%esi
42c4ef:	e8 6f fb ff ff       	call   0x42c063
42c4f4:	8b 4b 14             	mov    0x14(%ebx),%ecx
42c4f7:	03 f0                	add    %eax,%esi
42c4f9:	e8 65 fb ff ff       	call   0x42c063
42c4fe:	8b 4b 44             	mov    0x44(%ebx),%ecx
42c501:	03 f0                	add    %eax,%esi
42c503:	e8 5b fb ff ff       	call   0x42c063
42c508:	03 f0                	add    %eax,%esi
42c50a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42c50d:	8d 78 50             	lea    0x50(%eax),%edi
42c510:	8b 0f                	mov    (%edi),%ecx
42c512:	85 c9                	test   %ecx,%ecx
42c514:	74 0a                	je     0x42c520
42c516:	83 39 01             	cmpl   $0x1,(%ecx)
42c519:	75 05                	jne    0x42c520
42c51b:	39 70 54             	cmp    %esi,0x54(%eax)
42c51e:	73 11                	jae    0x42c531
42c520:	8b cf                	mov    %edi,%ecx
42c522:	e8 24 24 00 00       	call   0x42e94b
42c527:	56                   	push   %esi
42c528:	6a 00                	push   $0x0
42c52a:	8b cf                	mov    %edi,%ecx
42c52c:	e8 df 1e 00 00       	call   0x42e410
42c531:	8d 45 f8             	lea    -0x8(%ebp),%eax
42c534:	8b cf                	mov    %edi,%ecx
42c536:	50                   	push   %eax
42c537:	e8 01 21 00 00       	call   0x42e63d
42c53c:	8b f0                	mov    %eax,%esi
42c53e:	85 f6                	test   %esi,%esi
42c540:	74 07                	je     0x42c549
42c542:	8b 55 f8             	mov    -0x8(%ebp),%edx
42c545:	03 d6                	add    %esi,%edx
42c547:	eb 02                	jmp    0x42c54b
42c549:	33 d2                	xor    %edx,%edx
42c54b:	89 55 f8             	mov    %edx,-0x8(%ebp)
42c54e:	85 f6                	test   %esi,%esi
42c550:	0f 84 b2 00 00 00    	je     0x42c608
42c556:	8b 7d fc             	mov    -0x4(%ebp),%edi
42c559:	8b ce                	mov    %esi,%ecx
42c55b:	8d 47 0c             	lea    0xc(%edi),%eax
42c55e:	50                   	push   %eax
42c55f:	ff 73 0c             	push   0xc(%ebx)
42c562:	e8 e0 83 ff ff       	call   0x424947
42c567:	8b 75 f8             	mov    -0x8(%ebp),%esi
42c56a:	8d 4f 14             	lea    0x14(%edi),%ecx
42c56d:	51                   	push   %ecx
42c56e:	ff 73 14             	push   0x14(%ebx)
42c571:	8b d6                	mov    %esi,%edx
42c573:	8b c8                	mov    %eax,%ecx
42c575:	e8 72 83 ff ff       	call   0x4248ec
42c57a:	8d 4f 18             	lea    0x18(%edi),%ecx
42c57d:	8b d6                	mov    %esi,%edx
42c57f:	51                   	push   %ecx
42c580:	ff 73 18             	push   0x18(%ebx)
42c583:	8b c8                	mov    %eax,%ecx
42c585:	e8 62 83 ff ff       	call   0x4248ec
42c58a:	8d 4f 1c             	lea    0x1c(%edi),%ecx
42c58d:	8b d6                	mov    %esi,%edx
42c58f:	51                   	push   %ecx
42c590:	ff 73 1c             	push   0x1c(%ebx)
42c593:	8b c8                	mov    %eax,%ecx
42c595:	e8 52 83 ff ff       	call   0x4248ec
42c59a:	8d 4f 28             	lea    0x28(%edi),%ecx
42c59d:	8b d6                	mov    %esi,%edx
42c59f:	51                   	push   %ecx
42c5a0:	ff 73 28             	push   0x28(%ebx)
42c5a3:	8b c8                	mov    %eax,%ecx
42c5a5:	e8 42 83 ff ff       	call   0x4248ec
42c5aa:	8d 4f 44             	lea    0x44(%edi),%ecx
42c5ad:	8b d6                	mov    %esi,%edx
42c5af:	51                   	push   %ecx
42c5b0:	ff 73 44             	push   0x44(%ebx)
42c5b3:	8b c8                	mov    %eax,%ecx
42c5b5:	e8 32 83 ff ff       	call   0x4248ec
42c5ba:	8d 4f 3c             	lea    0x3c(%edi),%ecx
42c5bd:	8b d6                	mov    %esi,%edx
42c5bf:	51                   	push   %ecx
42c5c0:	ff 73 3c             	push   0x3c(%ebx)
42c5c3:	8b c8                	mov    %eax,%ecx
42c5c5:	e8 22 83 ff ff       	call   0x4248ec
42c5ca:	8d 4f 40             	lea    0x40(%edi),%ecx
42c5cd:	8b d6                	mov    %esi,%edx
42c5cf:	51                   	push   %ecx
42c5d0:	ff 73 40             	push   0x40(%ebx)
42c5d3:	8b c8                	mov    %eax,%ecx
42c5d5:	e8 6d 83 ff ff       	call   0x424947
42c5da:	8d 4f 30             	lea    0x30(%edi),%ecx
42c5dd:	8b d6                	mov    %esi,%edx
42c5df:	51                   	push   %ecx
42c5e0:	ff 73 30             	push   0x30(%ebx)
42c5e3:	8b c8                	mov    %eax,%ecx
42c5e5:	e8 02 83 ff ff       	call   0x4248ec
42c5ea:	8d 4f 34             	lea    0x34(%edi),%ecx
42c5ed:	8b d6                	mov    %esi,%edx
42c5ef:	51                   	push   %ecx
42c5f0:	ff 73 34             	push   0x34(%ebx)
42c5f3:	8b c8                	mov    %eax,%ecx
42c5f5:	e8 4d 83 ff ff       	call   0x424947
42c5fa:	2b f0                	sub    %eax,%esi
42c5fc:	56                   	push   %esi
42c5fd:	6a 00                	push   $0x0
42c5ff:	50                   	push   %eax
42c600:	e8 5c 1a ff ff       	call   0x41e061
42c605:	83 c4 0c             	add    $0xc,%esp
42c608:	5f                   	pop    %edi
42c609:	5e                   	pop    %esi
42c60a:	5b                   	pop    %ebx
42c60b:	c9                   	leave
42c60c:	c2 04 00             	ret    $0x4
42c60f:	8b ff                	mov    %edi,%edi
42c611:	55                   	push   %ebp
42c612:	8b ec                	mov    %esp,%ebp
42c614:	56                   	push   %esi
42c615:	8b f1                	mov    %ecx,%esi
42c617:	57                   	push   %edi
42c618:	8b 7e 0c             	mov    0xc(%esi),%edi
42c61b:	85 ff                	test   %edi,%edi
42c61d:	0f 95 c0             	setne  %al
42c620:	0f b6 c0             	movzbl %al,%eax
42c623:	50                   	push   %eax
42c624:	e8 2b b5 ff ff       	call   0x427b54
42c629:	84 c0                	test   %al,%al
42c62b:	74 62                	je     0x42c68f
42c62d:	85 ff                	test   %edi,%edi
42c62f:	8b 7d 08             	mov    0x8(%ebp),%edi
42c632:	53                   	push   %ebx
42c633:	74 2c                	je     0x42c661
42c635:	0f b7 46 14          	movzwl 0x14(%esi),%eax
42c639:	8b 4e 10             	mov    0x10(%esi),%ecx
42c63c:	6b d0 2c             	imul   $0x2c,%eax,%edx
42c63f:	03 d1                	add    %ecx,%edx
42c641:	3b ca                	cmp    %edx,%ecx
42c643:	74 1c                	je     0x42c661
42c645:	8b 5e 0c             	mov    0xc(%esi),%ebx
42c648:	83 c1 08             	add    $0x8,%ecx
42c64b:	39 59 fc             	cmp    %ebx,-0x4(%ecx)
42c64e:	76 07                	jbe    0x42c657
42c650:	8b 01                	mov    (%ecx),%eax
42c652:	3b 47 04             	cmp    0x4(%edi),%eax
42c655:	74 37                	je     0x42c68e
42c657:	83 c1 2c             	add    $0x2c,%ecx
42c65a:	8d 41 f8             	lea    -0x8(%ecx),%eax
42c65d:	3b c2                	cmp    %edx,%eax
42c65f:	75 ea                	jne    0x42c64b
42c661:	0f b7 46 16          	movzwl 0x16(%esi),%eax
42c665:	33 d2                	xor    %edx,%edx
42c667:	0f b7 4e 14          	movzwl 0x14(%esi),%ecx
42c66b:	40                   	inc    %eax
42c66c:	f7 f1                	div    %ecx
42c66e:	8b 46 08             	mov    0x8(%esi),%eax
42c671:	33 c9                	xor    %ecx,%ecx
42c673:	66 89 56 16          	mov    %dx,0x16(%esi)
42c677:	41                   	inc    %ecx
42c678:	f0 0f c1 08          	lock xadd %ecx,(%eax)
42c67c:	41                   	inc    %ecx
42c67d:	0f b7 46 16          	movzwl 0x16(%esi),%eax
42c681:	51                   	push   %ecx
42c682:	6b c8 2c             	imul   $0x2c,%eax,%ecx
42c685:	57                   	push   %edi
42c686:	03 4e 10             	add    0x10(%esi),%ecx
42c689:	e8 61 fb ff ff       	call   0x42c1ef
42c68e:	5b                   	pop    %ebx
42c68f:	5f                   	pop    %edi
42c690:	5e                   	pop    %esi
42c691:	5d                   	pop    %ebp
42c692:	c2 04 00             	ret    $0x4
42c695:	8b ff                	mov    %edi,%edi
42c697:	56                   	push   %esi
42c698:	8b f1                	mov    %ecx,%esi
42c69a:	ff 15 f8 a1 43 00    	call   *0x43a1f8
42c6a0:	39 05 58 91 43 00    	cmp    %eax,0x439158
42c6a6:	74 38                	je     0x42c6e0
42c6a8:	33 d2                	xor    %edx,%edx
42c6aa:	42                   	inc    %edx
42c6ab:	f0 0f c1 15 60 91 43 	lock xadd %edx,0x439160
42c6b2:	00
42c6b3:	42                   	inc    %edx
42c6b4:	83 fa 04             	cmp    $0x4,%edx
42c6b7:	7d 20                	jge    0x42c6d9
42c6b9:	a3 58 91 43 00       	mov    %eax,0x439158
42c6be:	e8 86 bf ff ff       	call   0x428649
42c6c3:	85 c0                	test   %eax,%eax
42c6c5:	74 08                	je     0x42c6cf
42c6c7:	56                   	push   %esi
42c6c8:	8b c8                	mov    %eax,%ecx
42c6ca:	e8 40 ff ff ff       	call   0x42c60f
42c6cf:	c7 05 58 91 43 00 00 	movl   $0x0,0x439158
42c6d6:	00 00 00
42c6d9:	f0 ff 0d 60 91 43 00 	lock decl 0x439160
42c6e0:	5e                   	pop    %esi
42c6e1:	c3                   	ret
42c6e2:	8b ff                	mov    %edi,%edi
42c6e4:	55                   	push   %ebp
42c6e5:	8b ec                	mov    %esp,%ebp
42c6e7:	51                   	push   %ecx
42c6e8:	51                   	push   %ecx
42c6e9:	8b 55 0c             	mov    0xc(%ebp),%edx
42c6ec:	53                   	push   %ebx
42c6ed:	8b d9                	mov    %ecx,%ebx
42c6ef:	56                   	push   %esi
42c6f0:	57                   	push   %edi
42c6f1:	85 d2                	test   %edx,%edx
42c6f3:	75 0a                	jne    0x42c6ff
42c6f5:	b9 05 40 00 80       	mov    $0x80004005,%ecx
42c6fa:	e8 9e aa ff ff       	call   0x42719d
42c6ff:	33 c0                	xor    %eax,%eax
42c701:	8b fa                	mov    %edx,%edi
42c703:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c706:	8b f0                	mov    %eax,%esi
42c708:	8b cf                	mov    %edi,%ecx
42c70a:	8d 41 02             	lea    0x2(%ecx),%eax
42c70d:	89 45 f8             	mov    %eax,-0x8(%ebp)
42c710:	66 8b 01             	mov    (%ecx),%ax
42c713:	83 c1 02             	add    $0x2,%ecx
42c716:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
42c71a:	75 f4                	jne    0x42c710
42c71c:	2b 4d f8             	sub    -0x8(%ebp),%ecx
42c71f:	d1 f9                	sar    $1,%ecx
42c721:	41                   	inc    %ecx
42c722:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
42c725:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
42c728:	83 f9 01             	cmp    $0x1,%ecx
42c72b:	75 db                	jne    0x42c708
42c72d:	56                   	push   %esi
42c72e:	52                   	push   %edx
42c72f:	6a 07                	push   $0x7
42c731:	33 c0                	xor    %eax,%eax
42c733:	50                   	push   %eax
42c734:	ff 75 08             	push   0x8(%ebp)
42c737:	ff 33                	push   (%ebx)
42c739:	ff 15 48 a2 43 00    	call   *0x43a248
42c73f:	5f                   	pop    %edi
42c740:	5e                   	pop    %esi
42c741:	5b                   	pop    %ebx
42c742:	c9                   	leave
42c743:	c2 08 00             	ret    $0x8
42c746:	8b ff                	mov    %edi,%edi
42c748:	55                   	push   %ebp
42c749:	8b ec                	mov    %esp,%ebp
42c74b:	83 e4 f8             	and    $0xfffffff8,%esp
42c74e:	83 ec 54             	sub    $0x54,%esp
42c751:	56                   	push   %esi
42c752:	8b 71 38             	mov    0x38(%ecx),%esi
42c755:	83 fe 01             	cmp    $0x1,%esi
42c758:	7d 1a                	jge    0x42c774
42c75a:	6a 50                	push   $0x50
42c75c:	8d 44 24 0c          	lea    0xc(%esp),%eax
42c760:	6a 00                	push   $0x0
42c762:	50                   	push   %eax
42c763:	e8 f9 18 ff ff       	call   0x41e061
42c768:	83 c4 0c             	add    $0xc,%esp
42c76b:	8d 4c 24 08          	lea    0x8(%esp),%ecx
42c76f:	e8 57 15 00 00       	call   0x42dccb
42c774:	8b 41 3c             	mov    0x3c(%ecx),%eax
42c777:	85 c0                	test   %eax,%eax
42c779:	78 06                	js     0x42c781
42c77b:	8b 45 08             	mov    0x8(%ebp),%eax
42c77e:	89 41 3c             	mov    %eax,0x3c(%ecx)
42c781:	8b 55 0c             	mov    0xc(%ebp),%edx
42c784:	85 d2                	test   %edx,%edx
42c786:	74 02                	je     0x42c78a
42c788:	89 02                	mov    %eax,(%edx)
42c78a:	8d 46 ff             	lea    -0x1(%esi),%eax
42c78d:	85 c0                	test   %eax,%eax
42c78f:	89 41 38             	mov    %eax,0x38(%ecx)
42c792:	5e                   	pop    %esi
42c793:	0f 94 c0             	sete   %al
42c796:	8b e5                	mov    %ebp,%esp
42c798:	5d                   	pop    %ebp
42c799:	c2 08 00             	ret    $0x8
42c79c:	8b ff                	mov    %edi,%edi
42c79e:	55                   	push   %ebp
42c79f:	8b ec                	mov    %esp,%ebp