5e886f:	e9 de 00 00 00       	jmp    0x5e8952
5e8874:	83 f8 01             	cmp    $0x1,%eax
5e8877:	0f 8c b4 00 00 00    	jl     0x5e8931
5e887d:	8b 4d 08             	mov    0x8(%ebp),%ecx
5e8880:	f6 c1 01             	test   $0x1,%cl
5e8883:	74 27                	je     0x5e88ac
5e8885:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8888:	8b f1                	mov    %ecx,%esi
5e888a:	8d 14 41             	lea    (%ecx,%eax,2),%edx
5e888d:	3b f2                	cmp    %edx,%esi
5e888f:	0f 84 4a ff ff ff    	je     0x5e87df
5e8895:	33 c0                	xor    %eax,%eax
5e8897:	66 39 01             	cmp    %ax,(%ecx)
5e889a:	0f 84 3f ff ff ff    	je     0x5e87df
5e88a0:	83 c1 02             	add    $0x2,%ecx
5e88a3:	3b ca                	cmp    %edx,%ecx
5e88a5:	75 f0                	jne    0x5e8897
5e88a7:	e9 33 ff ff ff       	jmp    0x5e87df
5e88ac:	8b d1                	mov    %ecx,%edx
5e88ae:	83 e2 0f             	and    $0xf,%edx
5e88b1:	6a 10                	push   $0x10
5e88b3:	58                   	pop    %eax
5e88b4:	2b c2                	sub    %edx,%eax
5e88b6:	f7 da                	neg    %edx
5e88b8:	1b d2                	sbb    %edx,%edx
5e88ba:	23 d0                	and    %eax,%edx
5e88bc:	8b 45 0c             	mov    0xc(%ebp),%eax
5e88bf:	d1 ea                	shr    $1,%edx
5e88c1:	3b c2                	cmp    %edx,%eax
5e88c3:	73 02                	jae    0x5e88c7
5e88c5:	8b d0                	mov    %eax,%edx
5e88c7:	8b 75 08             	mov    0x8(%ebp),%esi
5e88ca:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
5e88cd:	33 c0                	xor    %eax,%eax
5e88cf:	3b f7                	cmp    %edi,%esi
5e88d1:	74 0c                	je     0x5e88df
5e88d3:	66 39 01             	cmp    %ax,(%ecx)
5e88d6:	74 07                	je     0x5e88df
5e88d8:	83 c1 02             	add    $0x2,%ecx
5e88db:	3b cf                	cmp    %edi,%ecx
5e88dd:	75 f4                	jne    0x5e88d3
5e88df:	2b ce                	sub    %esi,%ecx
5e88e1:	d1 f9                	sar    $1,%ecx
5e88e3:	3b ca                	cmp    %edx,%ecx
5e88e5:	75 6b                	jne    0x5e8952
5e88e7:	8b 45 0c             	mov    0xc(%ebp),%eax
5e88ea:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
5e88ed:	2b c2                	sub    %edx,%eax
5e88ef:	0f 57 c9             	xorps  %xmm1,%xmm1
5e88f2:	83 e0 f0             	and    $0xfffffff0,%eax
5e88f5:	03 c1                	add    %ecx,%eax
5e88f7:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5e88fa:	eb 12                	jmp    0x5e890e
5e88fc:	0f 28 c1             	movaps %xmm1,%xmm0
5e88ff:	66 0f 75 07          	pcmpeqw (%edi),%xmm0
5e8903:	66 0f d7 c0          	pmovmskb %xmm0,%eax
5e8907:	85 c0                	test   %eax,%eax
5e8909:	75 07                	jne    0x5e8912
5e890b:	83 c7 10             	add    $0x10,%edi
5e890e:	3b f9                	cmp    %ecx,%edi
5e8910:	75 ea                	jne    0x5e88fc
5e8912:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8915:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5e8918:	3b f9                	cmp    %ecx,%edi
5e891a:	74 0e                	je     0x5e892a
5e891c:	33 c0                	xor    %eax,%eax
5e891e:	66 39 07             	cmp    %ax,(%edi)
5e8921:	74 07                	je     0x5e892a
5e8923:	83 c7 02             	add    $0x2,%edi
5e8926:	3b f9                	cmp    %ecx,%edi
5e8928:	75 f4                	jne    0x5e891e
5e892a:	8b cf                	mov    %edi,%ecx
5e892c:	e9 ae fe ff ff       	jmp    0x5e87df
5e8931:	8b 55 08             	mov    0x8(%ebp),%edx
5e8934:	8b ca                	mov    %edx,%ecx
5e8936:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8939:	8d 34 42             	lea    (%edx,%eax,2),%esi
5e893c:	3b d6                	cmp    %esi,%edx
5e893e:	74 0e                	je     0x5e894e
5e8940:	33 c0                	xor    %eax,%eax
5e8942:	66 39 01             	cmp    %ax,(%ecx)
5e8945:	74 07                	je     0x5e894e
5e8947:	83 c1 02             	add    $0x2,%ecx
5e894a:	3b ce                	cmp    %esi,%ecx
5e894c:	75 f4                	jne    0x5e8942
5e894e:	2b ca                	sub    %edx,%ecx
5e8950:	d1 f9                	sar    $1,%ecx
5e8952:	5f                   	pop    %edi
5e8953:	8b c1                	mov    %ecx,%eax
5e8955:	5e                   	pop    %esi
5e8956:	5d                   	pop    %ebp
5e8957:	c3                   	ret
5e8958:	8b ff                	mov    %edi,%edi
5e895a:	55                   	push   %ebp
5e895b:	8b ec                	mov    %esp,%ebp
5e895d:	8b 45 08             	mov    0x8(%ebp),%eax
5e8960:	a3 5c 6e 71 00       	mov    %eax,0x716e5c
5e8965:	5d                   	pop    %ebp
5e8966:	c3                   	ret
5e8967:	8b ff                	mov    %edi,%edi
5e8969:	55                   	push   %ebp
5e896a:	8b ec                	mov    %esp,%ebp
5e896c:	56                   	push   %esi
5e896d:	e8 21 00 00 00       	call   0x5e8993
5e8972:	8b f0                	mov    %eax,%esi
5e8974:	85 f6                	test   %esi,%esi
5e8976:	74 16                	je     0x5e898e
5e8978:	ff 75 08             	push   0x8(%ebp)
5e897b:	8b ce                	mov    %esi,%ecx
5e897d:	ff 15 64 23 60 00    	call   *0x602364
5e8983:	ff d6                	call   *%esi
5e8985:	f7 d8                	neg    %eax
5e8987:	59                   	pop    %ecx
5e8988:	1b c0                	sbb    %eax,%eax
5e898a:	f7 d8                	neg    %eax
5e898c:	eb 02                	jmp    0x5e8990
5e898e:	33 c0                	xor    %eax,%eax
5e8990:	5e                   	pop    %esi
5e8991:	5d                   	pop    %ebp
5e8992:	c3                   	ret
5e8993:	6a 0c                	push   $0xc
5e8995:	68 50 a9 68 00       	push   $0x68a950
5e899a:	e8 61 9f fe ff       	call   0x5d2900
5e899f:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5e89a3:	6a 00                	push   $0x0
5e89a5:	e8 18 fc ff ff       	call   0x5e85c2
5e89aa:	59                   	pop    %ecx
5e89ab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5e89af:	ff 35 5c 6e 71 00    	push   0x716e5c
5e89b5:	e8 21 c5 ff ff       	call   0x5e4edb
5e89ba:	59                   	pop    %ecx
5e89bb:	8b f0                	mov    %eax,%esi
5e89bd:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5e89c0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e89c7:	e8 15 00 00 00       	call   0x5e89e1
5e89cc:	8b c6                	mov    %esi,%eax
5e89ce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e89d1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e89d8:	59                   	pop    %ecx
5e89d9:	5f                   	pop    %edi
5e89da:	5e                   	pop    %esi
5e89db:	5b                   	pop    %ebx
5e89dc:	c9                   	leave
5e89dd:	c3                   	ret
5e89de:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5e89e1:	6a 00                	push   $0x0
5e89e3:	e8 22 fc ff ff       	call   0x5e860a
5e89e8:	59                   	pop    %ecx
5e89e9:	c3                   	ret
5e89ea:	8b ff                	mov    %edi,%edi
5e89ec:	55                   	push   %ebp
5e89ed:	8b ec                	mov    %esp,%ebp
5e89ef:	51                   	push   %ecx
5e89f0:	56                   	push   %esi
5e89f1:	57                   	push   %edi
5e89f2:	e8 bf 1d 00 00       	call   0x5ea7b6
5e89f7:	8b f0                	mov    %eax,%esi
5e89f9:	85 f6                	test   %esi,%esi
5e89fb:	74 1c                	je     0x5e8a19
5e89fd:	8b 16                	mov    (%esi),%edx
5e89ff:	8b ca                	mov    %edx,%ecx
5e8a01:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
5e8a07:	3b d0                	cmp    %eax,%edx
5e8a09:	74 0e                	je     0x5e8a19
5e8a0b:	8b 7d 08             	mov    0x8(%ebp),%edi
5e8a0e:	39 39                	cmp    %edi,(%ecx)
5e8a10:	74 0d                	je     0x5e8a1f
5e8a12:	83 c1 0c             	add    $0xc,%ecx
5e8a15:	3b c8                	cmp    %eax,%ecx
5e8a17:	75 f5                	jne    0x5e8a0e
5e8a19:	33 c0                	xor    %eax,%eax
5e8a1b:	5f                   	pop    %edi
5e8a1c:	5e                   	pop    %esi
5e8a1d:	c9                   	leave
5e8a1e:	c3                   	ret
5e8a1f:	85 c9                	test   %ecx,%ecx
5e8a21:	74 f6                	je     0x5e8a19
5e8a23:	8b 79 08             	mov    0x8(%ecx),%edi
5e8a26:	85 ff                	test   %edi,%edi
5e8a28:	74 ef                	je     0x5e8a19
5e8a2a:	83 ff 05             	cmp    $0x5,%edi
5e8a2d:	75 09                	jne    0x5e8a38
5e8a2f:	83 61 08 00          	andl   $0x0,0x8(%ecx)
5e8a33:	33 c0                	xor    %eax,%eax
5e8a35:	40                   	inc    %eax
5e8a36:	eb e3                	jmp    0x5e8a1b
5e8a38:	83 ff 01             	cmp    $0x1,%edi
5e8a3b:	75 05                	jne    0x5e8a42
5e8a3d:	83 c8 ff             	or     $0xffffffff,%eax
5e8a40:	eb d9                	jmp    0x5e8a1b
5e8a42:	8b 46 04             	mov    0x4(%esi),%eax
5e8a45:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e8a48:	8b 45 0c             	mov    0xc(%ebp),%eax
5e8a4b:	89 46 04             	mov    %eax,0x4(%esi)
5e8a4e:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
5e8a52:	0f 85 bb 00 00 00    	jne    0x5e8b13
5e8a58:	83 c2 24             	add    $0x24,%edx
5e8a5b:	8d 42 6c             	lea    0x6c(%edx),%eax
5e8a5e:	eb 07                	jmp    0x5e8a67
5e8a60:	83 62 08 00          	andl   $0x0,0x8(%edx)
5e8a64:	83 c2 0c             	add    $0xc,%edx
5e8a67:	3b d0                	cmp    %eax,%edx
5e8a69:	75 f5                	jne    0x5e8a60
5e8a6b:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
5e8a70:	53                   	push   %ebx
5e8a71:	8b 5e 08             	mov    0x8(%esi),%ebx
5e8a74:	39 01                	cmp    %eax,(%ecx)
5e8a76:	77 47                	ja     0x5e8abf
5e8a78:	74 3e                	je     0x5e8ab8
5e8a7a:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
5e8a80:	74 2f                	je     0x5e8ab1
5e8a82:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
5e8a88:	74 20                	je     0x5e8aaa
5e8a8a:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
5e8a90:	74 11                	je     0x5e8aa3
5e8a92:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
5e8a98:	8b c3                	mov    %ebx,%eax
5e8a9a:	75 62                	jne    0x5e8afe
5e8a9c:	b8 81 00 00 00       	mov    $0x81,%eax
5e8aa1:	eb 58                	jmp    0x5e8afb
5e8aa3:	b8 86 00 00 00       	mov    $0x86,%eax
5e8aa8:	eb 51                	jmp    0x5e8afb
5e8aaa:	b8 83 00 00 00       	mov    $0x83,%eax
5e8aaf:	eb 4a                	jmp    0x5e8afb
5e8ab1:	b8 82 00 00 00       	mov    $0x82,%eax
5e8ab6:	eb 43                	jmp    0x5e8afb
5e8ab8:	b8 84 00 00 00       	mov    $0x84,%eax
5e8abd:	eb 3c                	jmp    0x5e8afb
5e8abf:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
5e8ac5:	74 2f                	je     0x5e8af6
5e8ac7:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
5e8acd:	74 20                	je     0x5e8aef
5e8acf:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
5e8ad5:	74 11                	je     0x5e8ae8
5e8ad7:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
5e8add:	8b c3                	mov    %ebx,%eax
5e8adf:	75 1d                	jne    0x5e8afe
5e8ae1:	b8 8d 00 00 00       	mov    $0x8d,%eax
5e8ae6:	eb 13                	jmp    0x5e8afb
5e8ae8:	b8 8e 00 00 00       	mov    $0x8e,%eax
5e8aed:	eb 0c                	jmp    0x5e8afb
5e8aef:	b8 85 00 00 00       	mov    $0x85,%eax
5e8af4:	eb 05                	jmp    0x5e8afb
5e8af6:	b8 8a 00 00 00       	mov    $0x8a,%eax
5e8afb:	89 46 08             	mov    %eax,0x8(%esi)
5e8afe:	50                   	push   %eax
5e8aff:	6a 08                	push   $0x8
5e8b01:	8b cf                	mov    %edi,%ecx
5e8b03:	ff 15 64 23 60 00    	call   *0x602364
5e8b09:	ff d7                	call   *%edi
5e8b0b:	59                   	pop    %ecx
5e8b0c:	59                   	pop    %ecx
5e8b0d:	89 5e 08             	mov    %ebx,0x8(%esi)
5e8b10:	5b                   	pop    %ebx
5e8b11:	eb 12                	jmp    0x5e8b25
5e8b13:	83 61 08 00          	andl   $0x0,0x8(%ecx)
5e8b17:	ff 71 04             	push   0x4(%ecx)
5e8b1a:	8b cf                	mov    %edi,%ecx
5e8b1c:	ff 15 64 23 60 00    	call   *0x602364
5e8b22:	ff d7                	call   *%edi
5e8b24:	59                   	pop    %ecx
5e8b25:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8b28:	89 46 04             	mov    %eax,0x4(%esi)
5e8b2b:	e9 0d ff ff ff       	jmp    0x5e8a3d
5e8b30:	8b ff                	mov    %edi,%edi
5e8b32:	55                   	push   %ebp
5e8b33:	8b ec                	mov    %esp,%ebp
5e8b35:	83 ec 0c             	sub    $0xc,%esp
5e8b38:	57                   	push   %edi
5e8b39:	8b 7d 08             	mov    0x8(%ebp),%edi
5e8b3c:	85 ff                	test   %edi,%edi
5e8b3e:	75 07                	jne    0x5e8b47
5e8b40:	33 c0                	xor    %eax,%eax
5e8b42:	e9 23 01 00 00       	jmp    0x5e8c6a
5e8b47:	56                   	push   %esi
5e8b48:	83 ff 02             	cmp    $0x2,%edi
5e8b4b:	74 1b                	je     0x5e8b68
5e8b4d:	83 ff 01             	cmp    $0x1,%edi
5e8b50:	74 16                	je     0x5e8b68
5e8b52:	e8 31 21 ff ff       	call   0x5dac88
5e8b57:	6a 16                	push   $0x16
5e8b59:	5e                   	pop    %esi
5e8b5a:	89 30                	mov    %esi,(%eax)
5e8b5c:	e8 7f d6 fe ff       	call   0x5d61e0
5e8b61:	8b c6                	mov    %esi,%eax
5e8b63:	e9 01 01 00 00       	jmp    0x5e8c69
5e8b68:	53                   	push   %ebx
5e8b69:	e8 82 8e 00 00       	call   0x5f19f0
5e8b6e:	68 04 01 00 00       	push   $0x104
5e8b73:	bb 60 6e 71 00       	mov    $0x716e60,%ebx
5e8b78:	33 f6                	xor    %esi,%esi
5e8b7a:	53                   	push   %ebx
5e8b7b:	56                   	push   %esi
5e8b7c:	e8 52 88 00 00       	call   0x5f13d3
5e8b81:	89 1d a4 6c 71 00    	mov    %ebx,0x716ca4
5e8b87:	83 c4 0c             	add    $0xc,%esp
5e8b8a:	8b 1d b4 6c 71 00    	mov    0x716cb4,%ebx
5e8b90:	85 db                	test   %ebx,%ebx
5e8b92:	74 05                	je     0x5e8b99
5e8b94:	80 3b 00             	cmpb   $0x0,(%ebx)
5e8b97:	75 05                	jne    0x5e8b9e
5e8b99:	bb 60 6e 71 00       	mov    $0x716e60,%ebx
5e8b9e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e8ba1:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e8ba4:	50                   	push   %eax
5e8ba5:	8d 45 fc             	lea    -0x4(%ebp),%eax
5e8ba8:	89 75 f4             	mov    %esi,-0xc(%ebp)
5e8bab:	50                   	push   %eax
5e8bac:	56                   	push   %esi
5e8bad:	56                   	push   %esi
5e8bae:	53                   	push   %ebx
5e8baf:	e8 b9 00 00 00       	call   0x5e8c6d
5e8bb4:	6a 01                	push   $0x1
5e8bb6:	ff 75 f4             	push   -0xc(%ebp)
5e8bb9:	ff 75 fc             	push   -0x4(%ebp)
5e8bbc:	e8 20 02 00 00       	call   0x5e8de1
5e8bc1:	8b f0                	mov    %eax,%esi
5e8bc3:	83 c4 20             	add    $0x20,%esp
5e8bc6:	85 f6                	test   %esi,%esi
5e8bc8:	75 0c                	jne    0x5e8bd6
5e8bca:	e8 b9 20 ff ff       	call   0x5dac88
5e8bcf:	6a 0c                	push   $0xc
5e8bd1:	5e                   	pop    %esi
5e8bd2:	89 30                	mov    %esi,(%eax)
5e8bd4:	eb 2f                	jmp    0x5e8c05
5e8bd6:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e8bd9:	50                   	push   %eax
5e8bda:	8d 45 fc             	lea    -0x4(%ebp),%eax
5e8bdd:	50                   	push   %eax
5e8bde:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8be1:	8d 04 86             	lea    (%esi,%eax,4),%eax
5e8be4:	50                   	push   %eax
5e8be5:	56                   	push   %esi
5e8be6:	53                   	push   %ebx
5e8be7:	e8 81 00 00 00       	call   0x5e8c6d
5e8bec:	83 c4 14             	add    $0x14,%esp
5e8bef:	83 ff 01             	cmp    $0x1,%edi
5e8bf2:	75 1c                	jne    0x5e8c10
5e8bf4:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8bf7:	48                   	dec    %eax
5e8bf8:	89 35 ac 6c 71 00    	mov    %esi,0x716cac
5e8bfe:	a3 a8 6c 71 00       	mov    %eax,0x716ca8
5e8c03:	33 f6                	xor    %esi,%esi
5e8c05:	6a 00                	push   $0x0
5e8c07:	e8 16 26 00 00       	call   0x5eb222
5e8c0c:	8b c6                	mov    %esi,%eax
5e8c0e:	eb 57                	jmp    0x5e8c67
5e8c10:	8d 45 f8             	lea    -0x8(%ebp),%eax
5e8c13:	33 db                	xor    %ebx,%ebx
5e8c15:	50                   	push   %eax