ae697c:	59                   	pop    %ecx
ae697d:	f6 c2 04             	test   $0x4,%dl
ae6980:	74 03                	je     0xae6985
ae6982:	83 c9 08             	or     $0x8,%ecx
ae6985:	f6 c2 08             	test   $0x8,%dl
ae6988:	74 03                	je     0xae698d
ae698a:	83 c9 04             	or     $0x4,%ecx
ae698d:	f6 c2 10             	test   $0x10,%dl
ae6990:	74 03                	je     0xae6995
ae6992:	83 c9 02             	or     $0x2,%ecx
ae6995:	f6 c2 20             	test   $0x20,%dl
ae6998:	74 03                	je     0xae699d
ae699a:	83 c9 01             	or     $0x1,%ecx
ae699d:	56                   	push   %esi
ae699e:	be 00 0c 00 00       	mov    $0xc00,%esi
ae69a3:	8b c2                	mov    %edx,%eax
ae69a5:	23 c6                	and    %esi,%eax
ae69a7:	3b c6                	cmp    %esi,%eax
ae69a9:	5e                   	pop    %esi
ae69aa:	75 08                	jne    0xae69b4
ae69ac:	81 c9 00 03 00 00    	or     $0x300,%ecx
ae69b2:	eb 1e                	jmp    0xae69d2
ae69b4:	f7 c2 00 08 00 00    	test   $0x800,%edx
ae69ba:	74 08                	je     0xae69c4
ae69bc:	81 c9 00 01 00 00    	or     $0x100,%ecx
ae69c2:	eb 0e                	jmp    0xae69d2
ae69c4:	f7 c2 00 04 00 00    	test   $0x400,%edx
ae69ca:	74 06                	je     0xae69d2
ae69cc:	81 c9 00 02 00 00    	or     $0x200,%ecx
ae69d2:	8b c1                	mov    %ecx,%eax
ae69d4:	5d                   	pop    %ebp
ae69d5:	c3                   	ret
ae69d6:	cc                   	int3
ae69d7:	cc                   	int3
ae69d8:	cc                   	int3
ae69d9:	cc                   	int3
ae69da:	cc                   	int3
ae69db:	cc                   	int3
ae69dc:	cc                   	int3
ae69dd:	cc                   	int3
ae69de:	cc                   	int3
ae69df:	cc                   	int3
ae69e0:	cc                   	int3
ae69e1:	cc                   	int3
ae69e2:	cc                   	int3
ae69e3:	cc                   	int3
ae69e4:	cc                   	int3
ae69e5:	cc                   	int3
ae69e6:	cc                   	int3
ae69e7:	cc                   	int3
ae69e8:	cc                   	int3
ae69e9:	cc                   	int3
ae69ea:	cc                   	int3
ae69eb:	cc                   	int3
ae69ec:	cc                   	int3
ae69ed:	cc                   	int3
ae69ee:	cc                   	int3
ae69ef:	cc                   	int3
ae69f0:	cc                   	int3
ae69f1:	cc                   	int3
ae69f2:	8b ff                	mov    %edi,%edi
ae69f4:	55                   	push   %ebp
ae69f5:	8b ec                	mov    %esp,%ebp
ae69f7:	8b 4d 08             	mov    0x8(%ebp),%ecx
ae69fa:	33 c0                	xor    %eax,%eax
ae69fc:	f6 c1 3d             	test   $0x3d,%cl
ae69ff:	74 32                	je     0xae6a33
ae6a01:	f6 c1 01             	test   $0x1,%cl
ae6a04:	74 05                	je     0xae6a0b
ae6a06:	b8 10 00 00 10       	mov    $0x10000010,%eax
ae6a0b:	f6 c1 04             	test   $0x4,%cl
ae6a0e:	74 05                	je     0xae6a15
ae6a10:	0d 08 00 00 08       	or     $0x8000008,%eax
ae6a15:	f6 c1 08             	test   $0x8,%cl
ae6a18:	74 05                	je     0xae6a1f
ae6a1a:	0d 04 00 00 04       	or     $0x4000004,%eax
ae6a1f:	f6 c1 10             	test   $0x10,%cl
ae6a22:	74 05                	je     0xae6a29
ae6a24:	0d 02 00 00 02       	or     $0x2000002,%eax
ae6a29:	f6 c1 20             	test   $0x20,%cl
ae6a2c:	74 05                	je     0xae6a33
ae6a2e:	0d 01 00 00 01       	or     $0x1000001,%eax
ae6a33:	5d                   	pop    %ebp
ae6a34:	c3                   	ret
ae6a35:	cc                   	int3
ae6a36:	cc                   	int3
ae6a37:	cc                   	int3
ae6a38:	cc                   	int3
ae6a39:	cc                   	int3
ae6a3a:	cc                   	int3
ae6a3b:	cc                   	int3
ae6a3c:	cc                   	int3
ae6a3d:	cc                   	int3
ae6a3e:	cc                   	int3
ae6a3f:	cc                   	int3
ae6a40:	cc                   	int3
ae6a41:	cc                   	int3
ae6a42:	cc                   	int3
ae6a43:	cc                   	int3
ae6a44:	cc                   	int3
ae6a45:	8b ff                	mov    %edi,%edi
ae6a47:	55                   	push   %ebp
ae6a48:	8b ec                	mov    %esp,%ebp
ae6a4a:	8b 4d 08             	mov    0x8(%ebp),%ecx
ae6a4d:	33 c0                	xor    %eax,%eax
ae6a4f:	f6 c1 3d             	test   $0x3d,%cl
ae6a52:	74 32                	je     0xae6a86
ae6a54:	f6 c1 01             	test   $0x1,%cl
ae6a57:	74 05                	je     0xae6a5e
ae6a59:	b8 10 00 10 00       	mov    $0x100010,%eax
ae6a5e:	f6 c1 04             	test   $0x4,%cl
ae6a61:	74 05                	je     0xae6a68
ae6a63:	0d 08 00 08 00       	or     $0x80008,%eax
ae6a68:	f6 c1 08             	test   $0x8,%cl
ae6a6b:	74 05                	je     0xae6a72
ae6a6d:	0d 04 00 04 00       	or     $0x40004,%eax
ae6a72:	f6 c1 10             	test   $0x10,%cl
ae6a75:	74 05                	je     0xae6a7c
ae6a77:	0d 02 00 02 00       	or     $0x20002,%eax
ae6a7c:	f6 c1 20             	test   $0x20,%cl
ae6a7f:	74 05                	je     0xae6a86
ae6a81:	0d 01 00 01 00       	or     $0x10001,%eax
ae6a86:	5d                   	pop    %ebp
ae6a87:	c3                   	ret
ae6a88:	cc                   	int3
ae6a89:	cc                   	int3
ae6a8a:	cc                   	int3
ae6a8b:	cc                   	int3
ae6a8c:	cc                   	int3
ae6a8d:	cc                   	int3
ae6a8e:	cc                   	int3
ae6a8f:	cc                   	int3
ae6a90:	cc                   	int3
ae6a91:	cc                   	int3
ae6a92:	cc                   	int3
ae6a93:	cc                   	int3
ae6a94:	cc                   	int3
ae6a95:	cc                   	int3
ae6a96:	cc                   	int3
ae6a97:	cc                   	int3
ae6a98:	8b ff                	mov    %edi,%edi
ae6a9a:	55                   	push   %ebp
ae6a9b:	8b ec                	mov    %esp,%ebp
ae6a9d:	8b 55 08             	mov    0x8(%ebp),%edx
ae6aa0:	33 c9                	xor    %ecx,%ecx
ae6aa2:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
ae6aa8:	74 5b                	je     0xae6b05
ae6aaa:	f6 c2 10             	test   $0x10,%dl
ae6aad:	74 01                	je     0xae6ab0
ae6aaf:	41                   	inc    %ecx
ae6ab0:	f6 c2 08             	test   $0x8,%dl
ae6ab3:	74 03                	je     0xae6ab8
ae6ab5:	83 c9 04             	or     $0x4,%ecx
ae6ab8:	f6 c2 04             	test   $0x4,%dl
ae6abb:	74 03                	je     0xae6ac0
ae6abd:	83 c9 08             	or     $0x8,%ecx
ae6ac0:	f6 c2 02             	test   $0x2,%dl
ae6ac3:	74 03                	je     0xae6ac8
ae6ac5:	83 c9 10             	or     $0x10,%ecx
ae6ac8:	f6 c2 01             	test   $0x1,%dl
ae6acb:	74 03                	je     0xae6ad0
ae6acd:	83 c9 20             	or     $0x20,%ecx
ae6ad0:	56                   	push   %esi
ae6ad1:	be 00 03 00 00       	mov    $0x300,%esi
ae6ad6:	8b c2                	mov    %edx,%eax
ae6ad8:	23 c6                	and    %esi,%eax
ae6ada:	3b c6                	cmp    %esi,%eax
ae6adc:	5e                   	pop    %esi
ae6add:	75 08                	jne    0xae6ae7
ae6adf:	81 c9 00 0c 00 00    	or     $0xc00,%ecx
ae6ae5:	eb 1e                	jmp    0xae6b05
ae6ae7:	f7 c2 00 02 00 00    	test   $0x200,%edx
ae6aed:	74 08                	je     0xae6af7
ae6aef:	81 c9 00 04 00 00    	or     $0x400,%ecx
ae6af5:	eb 0e                	jmp    0xae6b05
ae6af7:	f7 c2 00 01 00 00    	test   $0x100,%edx
ae6afd:	74 06                	je     0xae6b05
ae6aff:	81 c9 00 08 00 00    	or     $0x800,%ecx
ae6b05:	8b c1                	mov    %ecx,%eax
ae6b07:	5d                   	pop    %ebp
ae6b08:	c3                   	ret
ae6b09:	cc                   	int3
ae6b0a:	cc                   	int3
ae6b0b:	cc                   	int3
ae6b0c:	cc                   	int3
ae6b0d:	cc                   	int3
ae6b0e:	cc                   	int3
ae6b0f:	cc                   	int3
ae6b10:	cc                   	int3
ae6b11:	cc                   	int3
ae6b12:	cc                   	int3
ae6b13:	cc                   	int3
ae6b14:	cc                   	int3
ae6b15:	cc                   	int3
ae6b16:	cc                   	int3
ae6b17:	cc                   	int3
ae6b18:	cc                   	int3
ae6b19:	cc                   	int3
ae6b1a:	cc                   	int3
ae6b1b:	cc                   	int3
ae6b1c:	cc                   	int3
ae6b1d:	cc                   	int3
ae6b1e:	cc                   	int3
ae6b1f:	cc                   	int3
ae6b20:	cc                   	int3
ae6b21:	cc                   	int3
ae6b22:	cc                   	int3
ae6b23:	cc                   	int3
ae6b24:	cc                   	int3
ae6b25:	8b ff                	mov    %edi,%edi
ae6b27:	55                   	push   %ebp
ae6b28:	8b ec                	mov    %esp,%ebp
ae6b2a:	8b 55 08             	mov    0x8(%ebp),%edx
ae6b2d:	33 c9                	xor    %ecx,%ecx
ae6b2f:	f7 c2 1f 03 00 00    	test   $0x31f,%edx
ae6b35:	74 6a                	je     0xae6ba1
ae6b37:	f6 c2 10             	test   $0x10,%dl
ae6b3a:	74 05                	je     0xae6b41
ae6b3c:	b9 80 00 00 00       	mov    $0x80,%ecx
ae6b41:	57                   	push   %edi
ae6b42:	bf 00 02 00 00       	mov    $0x200,%edi
ae6b47:	f6 c2 08             	test   $0x8,%dl
ae6b4a:	74 02                	je     0xae6b4e
ae6b4c:	0b cf                	or     %edi,%ecx
ae6b4e:	f6 c2 04             	test   $0x4,%dl
ae6b51:	74 06                	je     0xae6b59
ae6b53:	81 c9 00 04 00 00    	or     $0x400,%ecx
ae6b59:	f6 c2 02             	test   $0x2,%dl
ae6b5c:	74 06                	je     0xae6b64
ae6b5e:	81 c9 00 08 00 00    	or     $0x800,%ecx
ae6b64:	f6 c2 01             	test   $0x1,%dl
ae6b67:	74 06                	je     0xae6b6f
ae6b69:	81 c9 00 10 00 00    	or     $0x1000,%ecx
ae6b6f:	56                   	push   %esi
ae6b70:	be 00 03 00 00       	mov    $0x300,%esi
ae6b75:	8b c2                	mov    %edx,%eax
ae6b77:	23 c6                	and    %esi,%eax
ae6b79:	3b c6                	cmp    %esi,%eax
ae6b7b:	5e                   	pop    %esi
ae6b7c:	75 08                	jne    0xae6b86
ae6b7e:	81 c9 00 60 00 00    	or     $0x6000,%ecx
ae6b84:	eb 1a                	jmp    0xae6ba0
ae6b86:	85 d7                	test   %edx,%edi
ae6b88:	74 08                	je     0xae6b92
ae6b8a:	81 c9 00 20 00 00    	or     $0x2000,%ecx
ae6b90:	eb 0e                	jmp    0xae6ba0
ae6b92:	f7 c2 00 01 00 00    	test   $0x100,%edx
ae6b98:	74 06                	je     0xae6ba0
ae6b9a:	81 c9 00 40 00 00    	or     $0x4000,%ecx
ae6ba0:	5f                   	pop    %edi
ae6ba1:	8b c1                	mov    %ecx,%eax
ae6ba3:	5d                   	pop    %ebp
ae6ba4:	c3                   	ret
ae6ba5:	cc                   	int3
ae6ba6:	cc                   	int3
ae6ba7:	cc                   	int3
ae6ba8:	cc                   	int3
ae6ba9:	cc                   	int3
ae6baa:	cc                   	int3
ae6bab:	cc                   	int3
ae6bac:	cc                   	int3
ae6bad:	cc                   	int3
ae6bae:	cc                   	int3
ae6baf:	cc                   	int3
ae6bb0:	cc                   	int3
ae6bb1:	cc                   	int3
ae6bb2:	cc                   	int3
ae6bb3:	cc                   	int3
ae6bb4:	cc                   	int3
ae6bb5:	cc                   	int3
ae6bb6:	cc                   	int3
ae6bb7:	cc                   	int3
ae6bb8:	cc                   	int3
ae6bb9:	cc                   	int3
ae6bba:	cc                   	int3
ae6bbb:	cc                   	int3
ae6bbc:	cc                   	int3
ae6bbd:	cc                   	int3
ae6bbe:	cc                   	int3
ae6bbf:	cc                   	int3
ae6bc0:	cc                   	int3
ae6bc1:	cc                   	int3
ae6bc2:	cc                   	int3
ae6bc3:	cc                   	int3
ae6bc4:	cc                   	int3
ae6bc5:	8b ff                	mov    %edi,%edi
ae6bc7:	55                   	push   %ebp
ae6bc8:	8b ec                	mov    %esp,%ebp
ae6bca:	8b 55 08             	mov    0x8(%ebp),%edx
ae6bcd:	33 c9                	xor    %ecx,%ecx
ae6bcf:	f6 c2 1f             	test   $0x1f,%dl
ae6bd2:	74 4e                	je     0xae6c22
ae6bd4:	56                   	push   %esi
ae6bd5:	be 10 00 00 10       	mov    $0x10000010,%esi
ae6bda:	8b c2                	mov    %edx,%eax
ae6bdc:	23 c6                	and    %esi,%eax
ae6bde:	3b c6                	cmp    %esi,%eax
ae6be0:	75 01                	jne    0xae6be3
ae6be2:	41                   	inc    %ecx
ae6be3:	be 08 00 00 08       	mov    $0x8000008,%esi
ae6be8:	8b c2                	mov    %edx,%eax
ae6bea:	23 c6                	and    %esi,%eax
ae6bec:	3b c6                	cmp    %esi,%eax
ae6bee:	75 03                	jne    0xae6bf3
ae6bf0:	83 c9 04             	or     $0x4,%ecx
ae6bf3:	be 04 00 00 04       	mov    $0x4000004,%esi
ae6bf8:	8b c2                	mov    %edx,%eax
ae6bfa:	23 c6                	and    %esi,%eax
ae6bfc:	3b c6                	cmp    %esi,%eax
ae6bfe:	75 03                	jne    0xae6c03
ae6c00:	83 c9 08             	or     $0x8,%ecx
ae6c03:	be 02 00 00 02       	mov    $0x2000002,%esi
ae6c08:	8b c2                	mov    %edx,%eax
ae6c0a:	23 c6                	and    %esi,%eax
ae6c0c:	3b c6                	cmp    %esi,%eax
ae6c0e:	5e                   	pop    %esi
ae6c0f:	75 03                	jne    0xae6c14
ae6c11:	83 c9 10             	or     $0x10,%ecx
ae6c14:	b8 01 00 00 01       	mov    $0x1000001,%eax
ae6c19:	23 d0                	and    %eax,%edx
ae6c1b:	3b d0                	cmp    %eax,%edx
ae6c1d:	75 03                	jne    0xae6c22
ae6c1f:	83 c9 20             	or     $0x20,%ecx
ae6c22:	8b c1                	mov    %ecx,%eax
ae6c24:	5d                   	pop    %ebp
ae6c25:	c3                   	ret
ae6c26:	cc                   	int3
ae6c27:	cc                   	int3
ae6c28:	cc                   	int3
ae6c29:	cc                   	int3
ae6c2a:	cc                   	int3
ae6c2b:	cc                   	int3
ae6c2c:	cc                   	int3
ae6c2d:	cc                   	int3
ae6c2e:	cc                   	int3
ae6c2f:	cc                   	int3
ae6c30:	cc                   	int3
ae6c31:	cc                   	int3
ae6c32:	cc                   	int3
ae6c33:	cc                   	int3
ae6c34:	cc                   	int3
ae6c35:	cc                   	int3
ae6c36:	cc                   	int3
ae6c37:	cc                   	int3
ae6c38:	cc                   	int3
ae6c39:	cc                   	int3
ae6c3a:	cc                   	int3
ae6c3b:	cc                   	int3
ae6c3c:	cc                   	int3
ae6c3d:	cc                   	int3