5ef70a:	5a                   	pop    %edx
5ef70b:	f7 ea                	imul   %edx
5ef70d:	03 c8                	add    %eax,%ecx
5ef70f:	8b 45 cc             	mov    -0x34(%ebp),%eax
5ef712:	11 55 d4             	adc    %edx,-0x2c(%ebp)
5ef715:	99                   	cltd
5ef716:	03 c8                	add    %eax,%ecx
5ef718:	89 4d d0             	mov    %ecx,-0x30(%ebp)
5ef71b:	11 55 d4             	adc    %edx,-0x2c(%ebp)
5ef71e:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5ef721:	8b c1                	mov    %ecx,%eax
5ef723:	99                   	cltd
5ef724:	01 45 d0             	add    %eax,-0x30(%ebp)
5ef727:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5ef72a:	13 c2                	adc    %edx,%eax
5ef72c:	81 6d d0 00 15 94 83 	subl   $0x83941500,-0x30(%ebp)
5ef733:	83 d8 00             	sbb    $0x0,%eax
5ef736:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5ef739:	8b 45 c8             	mov    -0x38(%ebp),%eax
5ef73c:	99                   	cltd
5ef73d:	03 45 d0             	add    -0x30(%ebp),%eax
5ef740:	89 45 c0             	mov    %eax,-0x40(%ebp)
5ef743:	13 55 d4             	adc    -0x2c(%ebp),%edx
5ef746:	83 7d 20 01          	cmpl   $0x1,0x20(%ebp)
5ef74a:	89 55 bc             	mov    %edx,-0x44(%ebp)
5ef74d:	74 55                	je     0x5ef7a4
5ef74f:	83 7d 20 ff          	cmpl   $0xffffffff,0x20(%ebp)
5ef753:	8d 43 ff             	lea    -0x1(%ebx),%eax
5ef756:	89 45 e8             	mov    %eax,-0x18(%ebp)
5ef759:	8b 45 14             	mov    0x14(%ebp),%eax
5ef75c:	89 45 e0             	mov    %eax,-0x20(%ebp)
5ef75f:	8b 45 18             	mov    0x18(%ebp),%eax
5ef762:	89 75 f4             	mov    %esi,-0xc(%ebp)
5ef765:	89 7d ec             	mov    %edi,-0x14(%ebp)
5ef768:	89 45 dc             	mov    %eax,-0x24(%ebp)
5ef76b:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5ef76e:	75 14                	jne    0x5ef784
5ef770:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
5ef774:	74 0e                	je     0x5ef784
5ef776:	8d 45 d8             	lea    -0x28(%ebp),%eax
5ef779:	50                   	push   %eax
5ef77a:	e8 c8 12 00 00       	call   0x5f0a47
5ef77f:	59                   	pop    %ecx
5ef780:	85 c0                	test   %eax,%eax
5ef782:	75 08                	jne    0x5ef78c
5ef784:	8b 45 d0             	mov    -0x30(%ebp),%eax
5ef787:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5ef78a:	eb 18                	jmp    0x5ef7a4
5ef78c:	8b 45 c0             	mov    -0x40(%ebp),%eax
5ef78f:	8b 55 bc             	mov    -0x44(%ebp),%edx
5ef792:	eb 10                	jmp    0x5ef7a4
5ef794:	e8 ef b4 fe ff       	call   0x5dac88
5ef799:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5ef79f:	83 c8 ff             	or     $0xffffffff,%eax
5ef7a2:	0b d0                	or     %eax,%edx
5ef7a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ef7a7:	5f                   	pop    %edi
5ef7a8:	5e                   	pop    %esi
5ef7a9:	33 cd                	xor    %ebp,%ecx
5ef7ab:	5b                   	pop    %ebx
5ef7ac:	e8 75 22 fe ff       	call   0x5d1a26
5ef7b1:	c9                   	leave
5ef7b2:	c3                   	ret
5ef7b3:	33 c0                	xor    %eax,%eax
5ef7b5:	50                   	push   %eax
5ef7b6:	50                   	push   %eax
5ef7b7:	50                   	push   %eax
5ef7b8:	50                   	push   %eax
5ef7b9:	50                   	push   %eax
5ef7ba:	e8 4e 6a fe ff       	call   0x5d620d
5ef7bf:	cc                   	int3
5ef7c0:	8b ff                	mov    %edi,%edi
5ef7c2:	55                   	push   %ebp
5ef7c3:	8b ec                	mov    %esp,%ebp
5ef7c5:	5d                   	pop    %ebp
5ef7c6:	e9 26 fe ff ff       	jmp    0x5ef5f1
5ef7cb:	8b ff                	mov    %edi,%edi
5ef7cd:	55                   	push   %ebp
5ef7ce:	8b ec                	mov    %esp,%ebp
5ef7d0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ef7d3:	83 f9 fe             	cmp    $0xfffffffe,%ecx
5ef7d6:	75 0d                	jne    0x5ef7e5
5ef7d8:	e8 ab b4 fe ff       	call   0x5dac88
5ef7dd:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5ef7e3:	eb 38                	jmp    0x5ef81d
5ef7e5:	85 c9                	test   %ecx,%ecx
5ef7e7:	78 24                	js     0x5ef80d
5ef7e9:	3b 0d a8 72 71 00    	cmp    0x7172a8,%ecx
5ef7ef:	73 1c                	jae    0x5ef80d
5ef7f1:	8b c1                	mov    %ecx,%eax
5ef7f3:	83 e1 3f             	and    $0x3f,%ecx
5ef7f6:	c1 e8 06             	shr    $0x6,%eax
5ef7f9:	6b c9 38             	imul   $0x38,%ecx,%ecx
5ef7fc:	8b 04 85 a8 70 71 00 	mov    0x7170a8(,%eax,4),%eax
5ef803:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
5ef808:	83 e0 40             	and    $0x40,%eax
5ef80b:	5d                   	pop    %ebp
5ef80c:	c3                   	ret
5ef80d:	e8 76 b4 fe ff       	call   0x5dac88
5ef812:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
5ef818:	e8 c3 69 fe ff       	call   0x5d61e0
5ef81d:	33 c0                	xor    %eax,%eax
5ef81f:	5d                   	pop    %ebp
5ef820:	c3                   	ret
5ef821:	83 3d b4 72 71 00 00 	cmpl   $0x0,0x7172b4
5ef828:	75 0a                	jne    0x5ef834
5ef82a:	c7 05 b4 72 71 00 00 	movl   $0x4000,0x7172b4
5ef831:	40 00 00
5ef834:	33 c0                	xor    %eax,%eax
5ef836:	c3                   	ret
5ef837:	8b ff                	mov    %edi,%edi
5ef839:	55                   	push   %ebp
5ef83a:	8b ec                	mov    %esp,%ebp
5ef83c:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ef83f:	80 39 00             	cmpb   $0x0,(%ecx)
5ef842:	75 05                	jne    0x5ef849
5ef844:	33 c0                	xor    %eax,%eax
5ef846:	40                   	inc    %eax
5ef847:	eb 16                	jmp    0x5ef85f
5ef849:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
5ef84d:	75 05                	jne    0x5ef854
5ef84f:	6a 02                	push   $0x2
5ef851:	58                   	pop    %eax
5ef852:	eb 0b                	jmp    0x5ef85f
5ef854:	33 c0                	xor    %eax,%eax
5ef856:	38 41 02             	cmp    %al,0x2(%ecx)
5ef859:	0f 95 c0             	setne  %al
5ef85c:	83 c0 03             	add    $0x3,%eax
5ef85f:	5d                   	pop    %ebp
5ef860:	c2 04 00             	ret    $0x4
5ef863:	8b ff                	mov    %edi,%edi
5ef865:	55                   	push   %ebp
5ef866:	8b ec                	mov    %esp,%ebp
5ef868:	51                   	push   %ecx
5ef869:	ff 75 18             	push   0x18(%ebp)
5ef86c:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ef86f:	ff 75 14             	push   0x14(%ebp)
5ef872:	ff 75 10             	push   0x10(%ebp)
5ef875:	ff 75 0c             	push   0xc(%ebp)
5ef878:	50                   	push   %eax
5ef879:	e8 8e 5d 00 00       	call   0x5f560c
5ef87e:	8b d0                	mov    %eax,%edx
5ef880:	83 c4 14             	add    $0x14,%esp
5ef883:	83 fa 04             	cmp    $0x4,%edx
5ef886:	77 1a                	ja     0x5ef8a2
5ef888:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5ef88b:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
5ef891:	76 05                	jbe    0x5ef898
5ef893:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
5ef898:	8b 45 08             	mov    0x8(%ebp),%eax
5ef89b:	85 c0                	test   %eax,%eax
5ef89d:	74 03                	je     0x5ef8a2
5ef89f:	66 89 08             	mov    %cx,(%eax)
5ef8a2:	8b c2                	mov    %edx,%eax
5ef8a4:	c9                   	leave
5ef8a5:	c3                   	ret
5ef8a6:	8b ff                	mov    %edi,%edi
5ef8a8:	55                   	push   %ebp
5ef8a9:	8b ec                	mov    %esp,%ebp
5ef8ab:	51                   	push   %ecx
5ef8ac:	51                   	push   %ecx
5ef8ad:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5ef8b1:	53                   	push   %ebx
5ef8b2:	56                   	push   %esi
5ef8b3:	57                   	push   %edi
5ef8b4:	8b 7d 0c             	mov    0xc(%ebp),%edi
5ef8b7:	8b 3f                	mov    (%edi),%edi
5ef8b9:	0f 84 a4 00 00 00    	je     0x5ef963
5ef8bf:	8b 5d 10             	mov    0x10(%ebp),%ebx
5ef8c2:	8b 75 08             	mov    0x8(%ebp),%esi
5ef8c5:	85 db                	test   %ebx,%ebx
5ef8c7:	74 6b                	je     0x5ef934
5ef8c9:	57                   	push   %edi
5ef8ca:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5ef8cd:	e8 65 ff ff ff       	call   0x5ef837
5ef8d2:	ff 75 18             	push   0x18(%ebp)
5ef8d5:	ff 75 14             	push   0x14(%ebp)
5ef8d8:	50                   	push   %eax
5ef8d9:	8d 45 f8             	lea    -0x8(%ebp),%eax
5ef8dc:	57                   	push   %edi
5ef8dd:	50                   	push   %eax
5ef8de:	e8 29 5d 00 00       	call   0x5f560c
5ef8e3:	8b d0                	mov    %eax,%edx
5ef8e5:	83 c4 14             	add    $0x14,%esp
5ef8e8:	83 fa ff             	cmp    $0xffffffff,%edx
5ef8eb:	74 5e                	je     0x5ef94b
5ef8ed:	85 d2                	test   %edx,%edx
5ef8ef:	74 51                	je     0x5ef942
5ef8f1:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5ef8f4:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
5ef8fa:	76 2b                	jbe    0x5ef927
5ef8fc:	83 fb 01             	cmp    $0x1,%ebx
5ef8ff:	76 33                	jbe    0x5ef934
5ef901:	81 e9 00 00 01 00    	sub    $0x10000,%ecx
5ef907:	4b                   	dec    %ebx
5ef908:	8b c1                	mov    %ecx,%eax
5ef90a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5ef90d:	c1 e8 0a             	shr    $0xa,%eax
5ef910:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
5ef916:	0d 00 d8 00 00       	or     $0xd800,%eax
5ef91b:	66 89 06             	mov    %ax,(%esi)
5ef91e:	83 c6 02             	add    $0x2,%esi
5ef921:	81 c9 00 dc 00 00    	or     $0xdc00,%ecx
5ef927:	66 89 0e             	mov    %cx,(%esi)
5ef92a:	03 fa                	add    %edx,%edi
5ef92c:	83 c6 02             	add    $0x2,%esi
5ef92f:	83 eb 01             	sub    $0x1,%ebx
5ef932:	75 95                	jne    0x5ef8c9
5ef934:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ef937:	2b 75 08             	sub    0x8(%ebp),%esi
5ef93a:	d1 fe                	sar    $1,%esi
5ef93c:	89 3b                	mov    %edi,(%ebx)
5ef93e:	8b c6                	mov    %esi,%eax
5ef940:	eb 67                	jmp    0x5ef9a9
5ef942:	33 ff                	xor    %edi,%edi
5ef944:	33 c0                	xor    %eax,%eax
5ef946:	66 89 06             	mov    %ax,(%esi)
5ef949:	eb e9                	jmp    0x5ef934
5ef94b:	8b 45 0c             	mov    0xc(%ebp),%eax
5ef94e:	89 38                	mov    %edi,(%eax)
5ef950:	8b 45 18             	mov    0x18(%ebp),%eax
5ef953:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5ef957:	c7 40 18 2a 00 00 00 	movl   $0x2a,0x18(%eax)
5ef95e:	83 c8 ff             	or     $0xffffffff,%eax
5ef961:	eb 46                	jmp    0x5ef9a9
5ef963:	57                   	push   %edi
5ef964:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5ef967:	33 f6                	xor    %esi,%esi
5ef969:	e8 c9 fe ff ff       	call   0x5ef837
5ef96e:	8b 5d 18             	mov    0x18(%ebp),%ebx
5ef971:	eb 16                	jmp    0x5ef989
5ef973:	85 c0                	test   %eax,%eax
5ef975:	74 c7                	je     0x5ef93e
5ef977:	83 f8 04             	cmp    $0x4,%eax
5ef97a:	75 01                	jne    0x5ef97d
5ef97c:	46                   	inc    %esi
5ef97d:	03 f8                	add    %eax,%edi
5ef97f:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5ef982:	57                   	push   %edi
5ef983:	46                   	inc    %esi
5ef984:	e8 ae fe ff ff       	call   0x5ef837
5ef989:	53                   	push   %ebx
5ef98a:	ff 75 14             	push   0x14(%ebp)
5ef98d:	50                   	push   %eax
5ef98e:	57                   	push   %edi
5ef98f:	6a 00                	push   $0x0
5ef991:	e8 76 5c 00 00       	call   0x5f560c
5ef996:	83 c4 14             	add    $0x14,%esp
5ef999:	83 f8 ff             	cmp    $0xffffffff,%eax
5ef99c:	75 d5                	jne    0x5ef973
5ef99e:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5ef9a2:	c7 43 18 2a 00 00 00 	movl   $0x2a,0x18(%ebx)
5ef9a9:	5f                   	pop    %edi
5ef9aa:	5e                   	pop    %esi
5ef9ab:	5b                   	pop    %ebx
5ef9ac:	c9                   	leave
5ef9ad:	c3                   	ret
5ef9ae:	8b ff                	mov    %edi,%edi
5ef9b0:	55                   	push   %ebp
5ef9b1:	8b ec                	mov    %esp,%ebp
5ef9b3:	51                   	push   %ecx
5ef9b4:	e8 23 5e 00 00       	call   0x5f57dc
5ef9b9:	85 c0                	test   %eax,%eax
5ef9bb:	74 1c                	je     0x5ef9d9
5ef9bd:	8d 45 fc             	lea    -0x4(%ebp),%eax
5ef9c0:	50                   	push   %eax
5ef9c1:	8d 45 08             	lea    0x8(%ebp),%eax
5ef9c4:	6a 01                	push   $0x1
5ef9c6:	50                   	push   %eax
5ef9c7:	e8 46 5e 00 00       	call   0x5f5812
5ef9cc:	83 c4 0c             	add    $0xc,%esp
5ef9cf:	85 c0                	test   %eax,%eax
5ef9d1:	74 06                	je     0x5ef9d9
5ef9d3:	66 8b 45 08          	mov    0x8(%ebp),%ax
5ef9d7:	c9                   	leave
5ef9d8:	c3                   	ret
5ef9d9:	b8 ff ff 00 00       	mov    $0xffff,%eax
5ef9de:	c9                   	leave
5ef9df:	c3                   	ret
5ef9e0:	8b ff                	mov    %edi,%edi
5ef9e2:	55                   	push   %ebp
5ef9e3:	8b ec                	mov    %esp,%ebp
5ef9e5:	57                   	push   %edi
5ef9e6:	8b 7d 08             	mov    0x8(%ebp),%edi
5ef9e9:	85 ff                	test   %edi,%edi
5ef9eb:	75 0b                	jne    0x5ef9f8
5ef9ed:	ff 75 0c             	push   0xc(%ebp)
5ef9f0:	e8 67 b8 ff ff       	call   0x5eb25c
5ef9f5:	59                   	pop    %ecx
5ef9f6:	eb 24                	jmp    0x5efa1c
5ef9f8:	56                   	push   %esi
5ef9f9:	8b 75 0c             	mov    0xc(%ebp),%esi
5ef9fc:	85 f6                	test   %esi,%esi
5ef9fe:	75 09                	jne    0x5efa09
5efa00:	57                   	push   %edi
5efa01:	e8 1c b8 ff ff       	call   0x5eb222
5efa06:	59                   	pop    %ecx
5efa07:	eb 10                	jmp    0x5efa19
5efa09:	83 fe e0             	cmp    $0xffffffe0,%esi
5efa0c:	76 25                	jbe    0x5efa33
5efa0e:	e8 75 b2 fe ff       	call   0x5dac88
5efa13:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5efa19:	33 c0                	xor    %eax,%eax
5efa1b:	5e                   	pop    %esi
5efa1c:	5f                   	pop    %edi
5efa1d:	5d                   	pop    %ebp
5efa1e:	c3                   	ret
5efa1f:	e8 a0 9f ff ff       	call   0x5e99c4
5efa24:	85 c0                	test   %eax,%eax
5efa26:	74 e6                	je     0x5efa0e
5efa28:	56                   	push   %esi
5efa29:	e8 39 8f ff ff       	call   0x5e8967
5efa2e:	59                   	pop    %ecx
5efa2f:	85 c0                	test   %eax,%eax
5efa31:	74 db                	je     0x5efa0e
5efa33:	56                   	push   %esi
5efa34:	57                   	push   %edi
5efa35:	6a 00                	push   $0x0
5efa37:	ff 35 ec 6c 71 00    	push   0x716cec
5efa3d:	ff 15 c0 20 60 00    	call   *0x6020c0
5efa43:	85 c0                	test   %eax,%eax
5efa45:	74 d8                	je     0x5efa1f
5efa47:	eb d2                	jmp    0x5efa1b
5efa49:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
5efa4f:	8b 40 30             	mov    0x30(%eax),%eax
5efa52:	8b 40 68             	mov    0x68(%eax),%eax
5efa55:	c1 e8 08             	shr    $0x8,%eax
5efa58:	24 01                	and    $0x1,%al
5efa5a:	c3                   	ret
5efa5b:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
5efa61:	8b 40 30             	mov    0x30(%eax),%eax
5efa64:	8b 40 10             	mov    0x10(%eax),%eax
5efa67:	8b 40 08             	mov    0x8(%eax),%eax
5efa6a:	c1 e8 1f             	shr    $0x1f,%eax
5efa6d:	c3                   	ret
5efa6e:	8b ff                	mov    %edi,%edi
5efa70:	55                   	push   %ebp
5efa71:	8b ec                	mov    %esp,%ebp
5efa73:	51                   	push   %ecx
5efa74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5efa78:	e8 de ff ff ff       	call   0x5efa5b
5efa7d:	84 c0                	test   %al,%al
5efa7f:	75 09                	jne    0x5efa8a
5efa81:	8d 45 fc             	lea    -0x4(%ebp),%eax
5efa84:	50                   	push   %eax
5efa85:	e8 fc b3 ff ff       	call   0x5eae86
5efa8a:	33 c0                	xor    %eax,%eax
5efa8c:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
5efa90:	0f 95 c0             	setne  %al
5efa93:	c9                   	leave