42a555:	7f ca                	jg     0x42a521
42a557:	66 85 f6             	test   %si,%si
42a55a:	7f 69                	jg     0x42a5c5
42a55c:	b8 ff ff 00 00       	mov    $0xffff,%eax
42a561:	03 f0                	add    %eax,%esi
42a563:	66 85 f6             	test   %si,%si
42a566:	79 5d                	jns    0x42a5c5
42a568:	8b 5d ac             	mov    -0x54(%ebp),%ebx
42a56b:	8b c6                	mov    %esi,%eax
42a56d:	f7 d8                	neg    %eax
42a56f:	0f b7 c0             	movzwl %ax,%eax
42a572:	89 45 a0             	mov    %eax,-0x60(%ebp)
42a575:	03 f0                	add    %eax,%esi
42a577:	f6 45 d4 01          	testb  $0x1,-0x2c(%ebp)
42a57b:	74 01                	je     0x42a57e
42a57d:	43                   	inc    %ebx
42a57e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
42a581:	8b c2                	mov    %edx,%eax
42a583:	c1 e0 1f             	shl    $0x1f,%eax
42a586:	89 4d b0             	mov    %ecx,-0x50(%ebp)
42a589:	d1 6d b0             	shrl   $1,-0x50(%ebp)
42a58c:	09 45 b0             	or     %eax,-0x50(%ebp)
42a58f:	8b 45 b0             	mov    -0x50(%ebp),%eax
42a592:	c1 e1 1f             	shl    $0x1f,%ecx
42a595:	d1 ef                	shr    $1,%edi
42a597:	d1 ea                	shr    $1,%edx
42a599:	0b f9                	or     %ecx,%edi
42a59b:	ff 4d a0             	decl   -0x60(%ebp)
42a59e:	89 55 dc             	mov    %edx,-0x24(%ebp)
42a5a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
42a5a4:	89 7d d4             	mov    %edi,-0x2c(%ebp)
42a5a7:	75 ce                	jne    0x42a577
42a5a9:	6a 00                	push   $0x0
42a5ab:	85 db                	test   %ebx,%ebx
42a5ad:	89 55 a8             	mov    %edx,-0x58(%ebp)
42a5b0:	5b                   	pop    %ebx
42a5b1:	74 12                	je     0x42a5c5
42a5b3:	33 c9                	xor    %ecx,%ecx
42a5b5:	66 8b c7             	mov    %di,%ax
42a5b8:	41                   	inc    %ecx
42a5b9:	66 0b c1             	or     %cx,%ax
42a5bc:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
42a5c0:	8b 7d d4             	mov    -0x2c(%ebp),%edi
42a5c3:	eb 04                	jmp    0x42a5c9
42a5c5:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
42a5c9:	ba 00 80 00 00       	mov    $0x8000,%edx
42a5ce:	66 3b c2             	cmp    %dx,%ax
42a5d1:	77 0e                	ja     0x42a5e1
42a5d3:	81 e7 ff ff 01 00    	and    $0x1ffff,%edi
42a5d9:	81 ff 00 80 01 00    	cmp    $0x18000,%edi
42a5df:	75 40                	jne    0x42a621
42a5e1:	8b 45 d6             	mov    -0x2a(%ebp),%eax
42a5e4:	83 f8 ff             	cmp    $0xffffffff,%eax
42a5e7:	75 34                	jne    0x42a61d
42a5e9:	8b 45 da             	mov    -0x26(%ebp),%eax
42a5ec:	89 5d d6             	mov    %ebx,-0x2a(%ebp)
42a5ef:	83 f8 ff             	cmp    $0xffffffff,%eax
42a5f2:	75 20                	jne    0x42a614
42a5f4:	66 8b 45 de          	mov    -0x22(%ebp),%ax
42a5f8:	b9 ff ff 00 00       	mov    $0xffff,%ecx
42a5fd:	89 5d da             	mov    %ebx,-0x26(%ebp)
42a600:	66 3b c1             	cmp    %cx,%ax
42a603:	75 07                	jne    0x42a60c
42a605:	66 89 55 de          	mov    %dx,-0x22(%ebp)
42a609:	46                   	inc    %esi
42a60a:	eb 0c                	jmp    0x42a618
42a60c:	66 40                	inc    %ax
42a60e:	66 89 45 de          	mov    %ax,-0x22(%ebp)
42a612:	eb 04                	jmp    0x42a618
42a614:	40                   	inc    %eax
42a615:	89 45 da             	mov    %eax,-0x26(%ebp)
42a618:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42a61b:	eb 07                	jmp    0x42a624
42a61d:	40                   	inc    %eax
42a61e:	89 45 d6             	mov    %eax,-0x2a(%ebp)
42a621:	8b 4d a8             	mov    -0x58(%ebp),%ecx
42a624:	8b 7d 88             	mov    -0x78(%ebp),%edi
42a627:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42a62c:	66 3b f0             	cmp    %ax,%si
42a62f:	73 1a                	jae    0x42a64b
42a631:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
42a635:	0b 75 90             	or     -0x70(%ebp),%esi
42a638:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
42a63c:	8b 45 d8             	mov    -0x28(%ebp),%eax
42a63f:	89 45 c6             	mov    %eax,-0x3a(%ebp)
42a642:	89 4d ca             	mov    %ecx,-0x36(%ebp)
42a645:	66 89 75 ce          	mov    %si,-0x32(%ebp)
42a649:	eb 1d                	jmp    0x42a668
42a64b:	33 c0                	xor    %eax,%eax
42a64d:	66 39 45 90          	cmp    %ax,-0x70(%ebp)
42a651:	0f 94 c0             	sete   %al
42a654:	48                   	dec    %eax
42a655:	25 00 00 00 80       	and    $0x80000000,%eax
42a65a:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
42a65f:	89 45 cc             	mov    %eax,-0x34(%ebp)
42a662:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42a665:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42a668:	8b 45 b4             	mov    -0x4c(%ebp),%eax
42a66b:	85 ff                	test   %edi,%edi
42a66d:	0f 85 21 fd ff ff    	jne    0x42a394
42a673:	8b 45 cc             	mov    -0x34(%ebp),%eax
42a676:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
42a67a:	8b 55 c6             	mov    -0x3a(%ebp),%edx
42a67d:	8b 75 ca             	mov    -0x36(%ebp),%esi
42a680:	c1 e8 10             	shr    $0x10,%eax
42a683:	eb 30                	jmp    0x42a6b5
42a685:	8b cb                	mov    %ebx,%ecx
42a687:	8b c3                	mov    %ebx,%eax
42a689:	8b f3                	mov    %ebx,%esi
42a68b:	8b d3                	mov    %ebx,%edx
42a68d:	33 db                	xor    %ebx,%ebx
42a68f:	43                   	inc    %ebx
42a690:	eb 23                	jmp    0x42a6b5
42a692:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42a697:	be 00 00 00 80       	mov    $0x80000000,%esi
42a69c:	6a 02                	push   $0x2
42a69e:	eb 10                	jmp    0x42a6b0
42a6a0:	8b cb                	mov    %ebx,%ecx
42a6a2:	8b c3                	mov    %ebx,%eax
42a6a4:	8b f3                	mov    %ebx,%esi
42a6a6:	8b d3                	mov    %ebx,%edx
42a6a8:	eb 0b                	jmp    0x42a6b5
42a6aa:	8b c3                	mov    %ebx,%eax
42a6ac:	8b f3                	mov    %ebx,%esi
42a6ae:	6a 04                	push   $0x4
42a6b0:	8b cb                	mov    %ebx,%ecx
42a6b2:	8b d3                	mov    %ebx,%edx
42a6b4:	5b                   	pop    %ebx
42a6b5:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
42a6bb:	0b 45 80             	or     -0x80(%ebp),%eax
42a6be:	66 89 0f             	mov    %cx,(%edi)
42a6c1:	66 89 47 0a          	mov    %ax,0xa(%edi)
42a6c5:	89 57 02             	mov    %edx,0x2(%edi)
42a6c8:	89 77 06             	mov    %esi,0x6(%edi)
42a6cb:	8b c3                	mov    %ebx,%eax
42a6cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42a6d0:	5f                   	pop    %edi
42a6d1:	5e                   	pop    %esi
42a6d2:	33 cd                	xor    %ebp,%ecx
42a6d4:	5b                   	pop    %ebx
42a6d5:	e8 32 00 00 00       	call   0x42a70c
42a6da:	c9                   	leave
42a6db:	c3                   	ret
42a6dc:	95                   	xchg   %eax,%ebp
42a6dd:	9f                   	lahf
42a6de:	42                   	inc    %edx
42a6df:	00 ee                	add    %ch,%dh
42a6e1:	9f                   	lahf
42a6e2:	42                   	inc    %edx
42a6e3:	00 56 a0             	add    %dl,-0x60(%esi)
42a6e6:	42                   	inc    %edx
42a6e7:	00 9b a0 42 00 0d    	add    %bl,0xd0042a0(%ebx)
42a6ed:	a1 42 00 9b a1       	mov    0xa19b0042,%eax
42a6f2:	42                   	inc    %edx
42a6f3:	00 b7 a1 42 00 25    	add    %dh,0x250042a1(%edi)
42a6f9:	a2 42 00 fe a1       	mov    %al,0xa1fe0042
42a6fe:	42                   	inc    %edx
42a6ff:	00 79 a2             	add    %bh,-0x5e(%ecx)
42a702:	42                   	inc    %edx
42a703:	00 5f a2             	add    %bl,-0x5e(%edi)
42a706:	42                   	inc    %edx
42a707:	00 36                	add    %dh,(%esi)
42a709:	a2 42 00 3b 0d       	mov    %al,0xd3b0042
42a70e:	c0 ad 4b 00 75 02 f3 	shrb   $0xf3,0x275004b(%ebp)
42a715:	c3                   	ret
42a716:	e9 81 90 00 00       	jmp    0x43379c
42a71b:	55                   	push   %ebp
42a71c:	8b ec                	mov    %esp,%ebp
42a71e:	e8 0f 00 00 00       	call   0x42a732
42a723:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a727:	74 05                	je     0x42a72e
42a729:	e8 2f b1 00 00       	call   0x43585d
42a72e:	db e2                	fnclex
42a730:	5d                   	pop    %ebp
42a731:	c3                   	ret
42a732:	b8 d1 4d 43 00       	mov    $0x434dd1,%eax
42a737:	a3 8c ad 4b 00       	mov    %eax,0x4bad8c
42a73c:	c7 05 90 ad 4b 00 b1 	movl   $0x4356b1,0x4bad90
42a743:	56 43 00
42a746:	c7 05 94 ad 4b 00 40 	movl   $0x435740,0x4bad94
42a74d:	57 43 00
42a750:	c7 05 98 ad 4b 00 98 	movl   $0x435798,0x4bad98
42a757:	57 43 00
42a75a:	c7 05 9c ad 4b 00 1b 	movl   $0x43581b,0x4bad9c
42a761:	58 43 00
42a764:	a3 a0 ad 4b 00       	mov    %eax,0x4bada0
42a769:	c7 05 a4 ad 4b 00 f2 	movl   $0x434df2,0x4bada4
42a770:	4d 43 00
42a773:	c7 05 a8 ad 4b 00 58 	movl   $0x435758,0x4bada8
42a77a:	57 43 00
42a77d:	c7 05 ac ad 4b 00 c2 	movl   $0x4356c2,0x4badac
42a784:	56 43 00
42a787:	c7 05 b0 ad 4b 00 a9 	movl   $0x4357a9,0x4badb0
42a78e:	57 43 00
42a791:	c3                   	ret
42a792:	55                   	push   %ebp
42a793:	8b ec                	mov    %esp,%ebp
42a795:	56                   	push   %esi
42a796:	e8 8a d2 ff ff       	call   0x427a25
42a79b:	8b f0                	mov    %eax,%esi
42a79d:	85 f6                	test   %esi,%esi
42a79f:	0f 84 45 01 00 00    	je     0x42a8ea
42a7a5:	8b 56 5c             	mov    0x5c(%esi),%edx
42a7a8:	57                   	push   %edi
42a7a9:	8b 7d 08             	mov    0x8(%ebp),%edi
42a7ac:	8b ca                	mov    %edx,%ecx
42a7ae:	39 39                	cmp    %edi,(%ecx)
42a7b0:	74 0d                	je     0x42a7bf
42a7b2:	83 c1 0c             	add    $0xc,%ecx
42a7b5:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
42a7bb:	3b c8                	cmp    %eax,%ecx
42a7bd:	72 ef                	jb     0x42a7ae
42a7bf:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
42a7c5:	3b c8                	cmp    %eax,%ecx
42a7c7:	73 04                	jae    0x42a7cd
42a7c9:	39 39                	cmp    %edi,(%ecx)
42a7cb:	74 02                	je     0x42a7cf
42a7cd:	33 c9                	xor    %ecx,%ecx
42a7cf:	85 c9                	test   %ecx,%ecx
42a7d1:	0f 84 10 01 00 00    	je     0x42a8e7
42a7d7:	8b 51 08             	mov    0x8(%ecx),%edx
42a7da:	85 d2                	test   %edx,%edx
42a7dc:	0f 84 05 01 00 00    	je     0x42a8e7
42a7e2:	83 fa 05             	cmp    $0x5,%edx
42a7e5:	75 0c                	jne    0x42a7f3
42a7e7:	83 61 08 00          	andl   $0x0,0x8(%ecx)
42a7eb:	33 c0                	xor    %eax,%eax
42a7ed:	40                   	inc    %eax
42a7ee:	e9 f6 00 00 00       	jmp    0x42a8e9
42a7f3:	83 fa 01             	cmp    $0x1,%edx
42a7f6:	75 08                	jne    0x42a800
42a7f8:	83 c8 ff             	or     $0xffffffff,%eax
42a7fb:	e9 e9 00 00 00       	jmp    0x42a8e9
42a800:	8b 45 0c             	mov    0xc(%ebp),%eax
42a803:	53                   	push   %ebx
42a804:	8b 5e 60             	mov    0x60(%esi),%ebx
42a807:	89 46 60             	mov    %eax,0x60(%esi)
42a80a:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
42a80e:	0f 85 c0 00 00 00    	jne    0x42a8d4
42a814:	6a 24                	push   $0x24
42a816:	5f                   	pop    %edi
42a817:	8b 46 5c             	mov    0x5c(%esi),%eax
42a81a:	83 c7 0c             	add    $0xc,%edi
42a81d:	83 64 07 fc 00       	andl   $0x0,-0x4(%edi,%eax,1)
42a822:	81 ff 90 00 00 00    	cmp    $0x90,%edi
42a828:	7c ed                	jl     0x42a817
42a82a:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
42a830:	8b 7e 64             	mov    0x64(%esi),%edi
42a833:	75 0c                	jne    0x42a841
42a835:	c7 46 64 83 00 00 00 	movl   $0x83,0x64(%esi)
42a83c:	e9 86 00 00 00       	jmp    0x42a8c7
42a841:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
42a847:	75 09                	jne    0x42a852
42a849:	c7 46 64 81 00 00 00 	movl   $0x81,0x64(%esi)
42a850:	eb 75                	jmp    0x42a8c7
42a852:	81 39 91 00 00 c0    	cmpl   $0xc0000091,(%ecx)
42a858:	75 09                	jne    0x42a863
42a85a:	c7 46 64 84 00 00 00 	movl   $0x84,0x64(%esi)
42a861:	eb 64                	jmp    0x42a8c7
42a863:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
42a869:	75 09                	jne    0x42a874
42a86b:	c7 46 64 85 00 00 00 	movl   $0x85,0x64(%esi)
42a872:	eb 53                	jmp    0x42a8c7
42a874:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
42a87a:	75 09                	jne    0x42a885
42a87c:	c7 46 64 82 00 00 00 	movl   $0x82,0x64(%esi)
42a883:	eb 42                	jmp    0x42a8c7
42a885:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
42a88b:	75 09                	jne    0x42a896
42a88d:	c7 46 64 86 00 00 00 	movl   $0x86,0x64(%esi)
42a894:	eb 31                	jmp    0x42a8c7
42a896:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
42a89c:	75 09                	jne    0x42a8a7
42a89e:	c7 46 64 8a 00 00 00 	movl   $0x8a,0x64(%esi)
42a8a5:	eb 20                	jmp    0x42a8c7
42a8a7:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
42a8ad:	75 09                	jne    0x42a8b8
42a8af:	c7 46 64 8d 00 00 00 	movl   $0x8d,0x64(%esi)
42a8b6:	eb 0f                	jmp    0x42a8c7
42a8b8:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
42a8be:	75 07                	jne    0x42a8c7
42a8c0:	c7 46 64 8e 00 00 00 	movl   $0x8e,0x64(%esi)
42a8c7:	ff 76 64             	push   0x64(%esi)
42a8ca:	6a 08                	push   $0x8
42a8cc:	ff d2                	call   *%edx
42a8ce:	59                   	pop    %ecx
42a8cf:	89 7e 64             	mov    %edi,0x64(%esi)
42a8d2:	eb 09                	jmp    0x42a8dd
42a8d4:	ff 71 04             	push   0x4(%ecx)
42a8d7:	83 61 08 00          	andl   $0x0,0x8(%ecx)
42a8db:	ff d2                	call   *%edx
42a8dd:	59                   	pop    %ecx
42a8de:	89 5e 60             	mov    %ebx,0x60(%esi)
42a8e1:	83 c8 ff             	or     $0xffffffff,%eax
42a8e4:	5b                   	pop    %ebx
42a8e5:	eb 02                	jmp    0x42a8e9
42a8e7:	33 c0                	xor    %eax,%eax
42a8e9:	5f                   	pop    %edi
42a8ea:	5e                   	pop    %esi
42a8eb:	5d                   	pop    %ebp
42a8ec:	c3                   	ret
42a8ed:	6a 08                	push   $0x8
42a8ef:	68 08 6e 4b 00       	push   $0x4b6e08
42a8f4:	e8 c7 c1 ff ff       	call   0x426ac0
42a8f9:	8b 7d 08             	mov    0x8(%ebp),%edi
42a8fc:	8b c7                	mov    %edi,%eax
42a8fe:	c1 f8 05             	sar    $0x5,%eax
42a901:	8b f7                	mov    %edi,%esi
42a903:	83 e6 1f             	and    $0x1f,%esi
42a906:	c1 e6 06             	shl    $0x6,%esi
42a909:	03 34 85 40 09 4c 00 	add    0x4c0940(,%eax,4),%esi
42a910:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
42a914:	75 30                	jne    0x42a946
42a916:	6a 0a                	push   $0xa
42a918:	e8 d7 d3 ff ff       	call   0x427cf4
42a91d:	59                   	pop    %ecx
42a91e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42a922:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
42a926:	75 12                	jne    0x42a93a
42a928:	68 a0 0f 00 00       	push   $0xfa0
42a92d:	8d 46 0c             	lea    0xc(%esi),%eax
42a930:	50                   	push   %eax
42a931:	ff 15 2c d3 48 00    	call   *0x48d32c
42a937:	ff 46 08             	incl   0x8(%esi)
42a93a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42a941:	e8 2a 00 00 00       	call   0x42a970
42a946:	8b c7                	mov    %edi,%eax
42a948:	c1 f8 05             	sar    $0x5,%eax
42a94b:	83 e7 1f             	and    $0x1f,%edi
42a94e:	c1 e7 06             	shl    $0x6,%edi
42a951:	8b 04 85 40 09 4c 00 	mov    0x4c0940(,%eax,4),%eax
42a958:	83 c0 0c             	add    $0xc,%eax
42a95b:	03 c7                	add    %edi,%eax
42a95d:	50                   	push   %eax
42a95e:	ff 15 40 d3 48 00    	call   *0x48d340
42a964:	33 c0                	xor    %eax,%eax
42a966:	40                   	inc    %eax
42a967:	e8 99 c1 ff ff       	call   0x426b05
42a96c:	c3                   	ret
42a96d:	8b 7d 08             	mov    0x8(%ebp),%edi
42a970:	6a 0a                	push   $0xa
42a972:	e8 e1 d4 ff ff       	call   0x427e58
42a977:	59                   	pop    %ecx
42a978:	c3                   	ret
42a979:	6a 18                	push   $0x18
42a97b:	68 e0 6d 4b 00       	push   $0x4b6de0
42a980:	e8 3b c1 ff ff       	call   0x426ac0
42a985:	83 ce ff             	or     $0xffffffff,%esi
42a988:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42a98b:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)