ae8936:	83 fa 01             	cmp    $0x1,%edx
ae8939:	77 03                	ja     0xae893e
ae893b:	33 d2                	xor    %edx,%edx
ae893d:	42                   	inc    %edx
ae893e:	8b c2                	mov    %edx,%eax
ae8940:	5e                   	pop    %esi
ae8941:	c3                   	ret
ae8942:	cc                   	int3
ae8943:	cc                   	int3
ae8944:	cc                   	int3
ae8945:	cc                   	int3
ae8946:	cc                   	int3
ae8947:	cc                   	int3
ae8948:	cc                   	int3
ae8949:	cc                   	int3
ae894a:	cc                   	int3
ae894b:	cc                   	int3
ae894c:	cc                   	int3
ae894d:	cc                   	int3
ae894e:	8b 01                	mov    (%ecx),%eax
ae8950:	53                   	push   %ebx
ae8951:	56                   	push   %esi
ae8952:	33 db                	xor    %ebx,%ebx
ae8954:	8b 30                	mov    (%eax),%esi
ae8956:	8b d3                	mov    %ebx,%edx
ae8958:	8b 0e                	mov    (%esi),%ecx
ae895a:	85 c9                	test   %ecx,%ecx
ae895c:	74 25                	je     0xae8983
ae895e:	57                   	push   %edi
ae895f:	8d 79 02             	lea    0x2(%ecx),%edi
ae8962:	66 8b 01             	mov    (%ecx),%ax
ae8965:	83 c1 02             	add    $0x2,%ecx
ae8968:	66 3b c3             	cmp    %bx,%ax
ae896b:	75 f5                	jne    0xae8962
ae896d:	2b cf                	sub    %edi,%ecx
ae896f:	83 c6 04             	add    $0x4,%esi
ae8972:	d1 f9                	sar    $1,%ecx
ae8974:	41                   	inc    %ecx
ae8975:	03 d1                	add    %ecx,%edx
ae8977:	8b 0e                	mov    (%esi),%ecx
ae8979:	85 c9                	test   %ecx,%ecx
ae897b:	75 e2                	jne    0xae895f
ae897d:	5f                   	pop    %edi
ae897e:	83 fa 01             	cmp    $0x1,%edx
ae8981:	77 03                	ja     0xae8986
ae8983:	33 d2                	xor    %edx,%edx
ae8985:	42                   	inc    %edx
ae8986:	5e                   	pop    %esi
ae8987:	8b c2                	mov    %edx,%eax
ae8989:	5b                   	pop    %ebx
ae898a:	c3                   	ret
ae898b:	cc                   	int3
ae898c:	cc                   	int3
ae898d:	cc                   	int3
ae898e:	cc                   	int3
ae898f:	cc                   	int3
ae8990:	cc                   	int3
ae8991:	cc                   	int3
ae8992:	cc                   	int3
ae8993:	cc                   	int3
ae8994:	cc                   	int3
ae8995:	cc                   	int3
ae8996:	cc                   	int3
ae8997:	cc                   	int3
ae8998:	cc                   	int3
ae8999:	cc                   	int3
ae899a:	8b 01                	mov    (%ecx),%eax
ae899c:	57                   	push   %edi
ae899d:	6a 3d                	push   $0x3d
ae899f:	5f                   	pop    %edi
ae89a0:	8b 08                	mov    (%eax),%ecx
ae89a2:	66 39 39             	cmp    %di,(%ecx)
ae89a5:	75 39                	jne    0xae89e0
ae89a7:	53                   	push   %ebx
ae89a8:	33 db                	xor    %ebx,%ebx
ae89aa:	56                   	push   %esi
ae89ab:	66 39 59 02          	cmp    %bx,0x2(%ecx)
ae89af:	74 2d                	je     0xae89de
ae89b1:	66 83 79 04 3a       	cmpw   $0x3a,0x4(%ecx)
ae89b6:	75 26                	jne    0xae89de
ae89b8:	66 39 79 06          	cmp    %di,0x6(%ecx)
ae89bc:	75 20                	jne    0xae89de
ae89be:	8d 51 08             	lea    0x8(%ecx),%edx
ae89c1:	8d 72 02             	lea    0x2(%edx),%esi
ae89c4:	66 8b 02             	mov    (%edx),%ax
ae89c7:	83 c2 02             	add    $0x2,%edx
ae89ca:	66 3b c3             	cmp    %bx,%ax
ae89cd:	75 f5                	jne    0xae89c4
ae89cf:	2b d6                	sub    %esi,%edx
ae89d1:	d1 fa                	sar    $1,%edx
ae89d3:	8d 0c 51             	lea    (%ecx,%edx,2),%ecx
ae89d6:	83 c1 0a             	add    $0xa,%ecx
ae89d9:	66 39 39             	cmp    %di,(%ecx)
ae89dc:	74 cd                	je     0xae89ab
ae89de:	5e                   	pop    %esi
ae89df:	5b                   	pop    %ebx
ae89e0:	8b c1                	mov    %ecx,%eax
ae89e2:	5f                   	pop    %edi
ae89e3:	c3                   	ret
ae89e4:	cc                   	int3
ae89e5:	cc                   	int3
ae89e6:	cc                   	int3
ae89e7:	cc                   	int3
ae89e8:	cc                   	int3
ae89e9:	cc                   	int3
ae89ea:	cc                   	int3
ae89eb:	cc                   	int3
ae89ec:	cc                   	int3
ae89ed:	cc                   	int3
ae89ee:	cc                   	int3
ae89ef:	cc                   	int3
ae89f0:	cc                   	int3
ae89f1:	cc                   	int3
ae89f2:	cc                   	int3
ae89f3:	cc                   	int3
ae89f4:	cc                   	int3
ae89f5:	cc                   	int3
ae89f6:	8b 01                	mov    (%ecx),%eax
ae89f8:	56                   	push   %esi
ae89f9:	6a 02                	push   $0x2
ae89fb:	5e                   	pop    %esi
ae89fc:	8b 10                	mov    (%eax),%edx
ae89fe:	8b 0a                	mov    (%edx),%ecx
ae8a00:	85 c9                	test   %ecx,%ecx
ae8a02:	74 1a                	je     0xae8a1e
ae8a04:	57                   	push   %edi
ae8a05:	8d 79 01             	lea    0x1(%ecx),%edi
ae8a08:	8a 01                	mov    (%ecx),%al
ae8a0a:	41                   	inc    %ecx
ae8a0b:	84 c0                	test   %al,%al
ae8a0d:	75 f9                	jne    0xae8a08
ae8a0f:	2b cf                	sub    %edi,%ecx
ae8a11:	83 c2 04             	add    $0x4,%edx
ae8a14:	41                   	inc    %ecx
ae8a15:	03 f1                	add    %ecx,%esi
ae8a17:	8b 0a                	mov    (%edx),%ecx
ae8a19:	85 c9                	test   %ecx,%ecx
ae8a1b:	75 e8                	jne    0xae8a05
ae8a1d:	5f                   	pop    %edi
ae8a1e:	8b c6                	mov    %esi,%eax
ae8a20:	5e                   	pop    %esi
ae8a21:	c3                   	ret
ae8a22:	cc                   	int3
ae8a23:	cc                   	int3
ae8a24:	cc                   	int3
ae8a25:	cc                   	int3
ae8a26:	cc                   	int3
ae8a27:	cc                   	int3
ae8a28:	cc                   	int3
ae8a29:	cc                   	int3
ae8a2a:	cc                   	int3
ae8a2b:	cc                   	int3
ae8a2c:	cc                   	int3
ae8a2d:	8b ff                	mov    %edi,%edi
ae8a2f:	53                   	push   %ebx
ae8a30:	56                   	push   %esi
ae8a31:	57                   	push   %edi
ae8a32:	8b f9                	mov    %ecx,%edi
ae8a34:	8b 07                	mov    (%edi),%eax
ae8a36:	8b 30                	mov    (%eax),%esi
ae8a38:	eb 23                	jmp    0xae8a5d
ae8a3a:	8b 4f 04             	mov    0x4(%edi),%ecx
ae8a3d:	8d 59 01             	lea    0x1(%ecx),%ebx
ae8a40:	8a 01                	mov    (%ecx),%al
ae8a42:	41                   	inc    %ecx
ae8a43:	84 c0                	test   %al,%al
ae8a45:	75 f9                	jne    0xae8a40
ae8a47:	2b cb                	sub    %ebx,%ecx
ae8a49:	51                   	push   %ecx
ae8a4a:	ff 77 04             	push   0x4(%edi)
ae8a4d:	52                   	push   %edx
ae8a4e:	e8 b9 d7 92 ff       	call   0x41620c
ae8a53:	83 c4 0c             	add    $0xc,%esp
ae8a56:	85 c0                	test   %eax,%eax
ae8a58:	74 0f                	je     0xae8a69
ae8a5a:	83 c6 04             	add    $0x4,%esi
ae8a5d:	8b 16                	mov    (%esi),%edx
ae8a5f:	85 d2                	test   %edx,%edx
ae8a61:	75 d7                	jne    0xae8a3a
ae8a63:	32 c0                	xor    %al,%al
ae8a65:	5f                   	pop    %edi
ae8a66:	5e                   	pop    %esi
ae8a67:	5b                   	pop    %ebx
ae8a68:	c3                   	ret
ae8a69:	b0 01                	mov    $0x1,%al
ae8a6b:	eb f8                	jmp    0xae8a65
ae8a6d:	cc                   	int3
ae8a6e:	cc                   	int3
ae8a6f:	cc                   	int3
ae8a70:	cc                   	int3
ae8a71:	cc                   	int3
ae8a72:	cc                   	int3
ae8a73:	cc                   	int3
ae8a74:	cc                   	int3
ae8a75:	cc                   	int3
ae8a76:	cc                   	int3
ae8a77:	cc                   	int3
ae8a78:	cc                   	int3
ae8a79:	cc                   	int3
ae8a7a:	cc                   	int3
ae8a7b:	cc                   	int3
ae8a7c:	cc                   	int3
ae8a7d:	8b ff                	mov    %edi,%edi
ae8a7f:	55                   	push   %ebp
ae8a80:	8b ec                	mov    %esp,%ebp
ae8a82:	56                   	push   %esi
ae8a83:	8b f1                	mov    %ecx,%esi
ae8a85:	ff 36                	push   (%esi)
ae8a87:	e8 5a 97 94 ff       	call   0x4321e6
ae8a8c:	8b 45 08             	mov    0x8(%ebp),%eax
ae8a8f:	59                   	pop    %ecx
ae8a90:	89 06                	mov    %eax,(%esi)
ae8a92:	5e                   	pop    %esi
ae8a93:	5d                   	pop    %ebp
ae8a94:	c2 04 00             	ret    $0x4
ae8a97:	cc                   	int3
ae8a98:	cc                   	int3
ae8a99:	cc                   	int3
ae8a9a:	cc                   	int3
ae8a9b:	cc                   	int3
ae8a9c:	cc                   	int3
ae8a9d:	8b ff                	mov    %edi,%edi
ae8a9f:	55                   	push   %ebp
ae8aa0:	8b ec                	mov    %esp,%ebp
ae8aa2:	56                   	push   %esi
ae8aa3:	8b f1                	mov    %ecx,%esi
ae8aa5:	ff 36                	push   (%esi)
ae8aa7:	e8 3a 97 94 ff       	call   0x4321e6
ae8aac:	8b 45 08             	mov    0x8(%ebp),%eax
ae8aaf:	59                   	pop    %ecx
ae8ab0:	89 06                	mov    %eax,(%esi)
ae8ab2:	5e                   	pop    %esi
ae8ab3:	5d                   	pop    %ebp
ae8ab4:	c2 04 00             	ret    $0x4
ae8ab7:	cc                   	int3
ae8ab8:	cc                   	int3
ae8ab9:	cc                   	int3
ae8aba:	cc                   	int3
ae8abb:	cc                   	int3
ae8abc:	cc                   	int3
ae8abd:	8b ff                	mov    %edi,%edi
ae8abf:	55                   	push   %ebp
ae8ac0:	8b ec                	mov    %esp,%ebp
ae8ac2:	5d                   	pop    %ebp
ae8ac3:	e9 34 ed ff ff       	jmp    0xae77fc
ae8ac8:	cc                   	int3
ae8ac9:	cc                   	int3
ae8aca:	8b ff                	mov    %edi,%edi
ae8acc:	55                   	push   %ebp
ae8acd:	8b ec                	mov    %esp,%ebp
ae8acf:	5d                   	pop    %ebp
ae8ad0:	e9 59 ee ff ff       	jmp    0xae792e
ae8ad5:	cc                   	int3
ae8ad6:	cc                   	int3
ae8ad7:	8b ff                	mov    %edi,%edi
ae8ad9:	55                   	push   %ebp
ae8ada:	8b ec                	mov    %esp,%ebp
ae8adc:	51                   	push   %ecx
ae8add:	51                   	push   %ecx
ae8ade:	56                   	push   %esi
ae8adf:	8d 45 fc             	lea    -0x4(%ebp),%eax
ae8ae2:	33 f6                	xor    %esi,%esi
ae8ae4:	50                   	push   %eax
ae8ae5:	ff 75 08             	push   0x8(%ebp)
ae8ae8:	89 75 fc             	mov    %esi,-0x4(%ebp)
ae8aeb:	e8 8c f0 ff ff       	call   0xae7b7c
ae8af0:	59                   	pop    %ecx
ae8af1:	59                   	pop    %ecx
ae8af2:	85 c0                	test   %eax,%eax
ae8af4:	74 0d                	je     0xae8b03
ae8af6:	ff 75 fc             	push   -0x4(%ebp)
ae8af9:	e8 e8 96 94 ff       	call   0x4321e6
ae8afe:	83 ce ff             	or     $0xffffffff,%esi
ae8b01:	eb 47                	jmp    0xae8b4a
ae8b03:	8d 45 f8             	lea    -0x8(%ebp),%eax
ae8b06:	89 75 f8             	mov    %esi,-0x8(%ebp)
ae8b09:	50                   	push   %eax
ae8b0a:	ff 75 0c             	push   0xc(%ebp)
ae8b0d:	e8 89 f2 ff ff       	call   0xae7d9b
ae8b12:	59                   	pop    %ecx
ae8b13:	59                   	pop    %ecx
ae8b14:	85 c0                	test   %eax,%eax
ae8b16:	74 15                	je     0xae8b2d
ae8b18:	ff 75 f8             	push   -0x8(%ebp)
ae8b1b:	e8 c6 96 94 ff       	call   0x4321e6
ae8b20:	ff 75 fc             	push   -0x4(%ebp)
ae8b23:	e8 be 96 94 ff       	call   0x4321e6
ae8b28:	83 ce ff             	or     $0xffffffff,%esi
ae8b2b:	eb 1c                	jmp    0xae8b49
ae8b2d:	8b 4d 10             	mov    0x10(%ebp),%ecx
ae8b30:	8b 45 fc             	mov    -0x4(%ebp),%eax
ae8b33:	56                   	push   %esi
ae8b34:	89 01                	mov    %eax,(%ecx)
ae8b36:	8b 4d 14             	mov    0x14(%ebp),%ecx
ae8b39:	8b 45 f8             	mov    -0x8(%ebp),%eax
ae8b3c:	89 01                	mov    %eax,(%ecx)
ae8b3e:	e8 a3 96 94 ff       	call   0x4321e6
ae8b43:	56                   	push   %esi
ae8b44:	e8 9d 96 94 ff       	call   0x4321e6
ae8b49:	59                   	pop    %ecx
ae8b4a:	59                   	pop    %ecx
ae8b4b:	8b c6                	mov    %esi,%eax
ae8b4d:	5e                   	pop    %esi
ae8b4e:	8b e5                	mov    %ebp,%esp
ae8b50:	5d                   	pop    %ebp
ae8b51:	c3                   	ret
ae8b52:	cc                   	int3
ae8b53:	cc                   	int3
ae8b54:	cc                   	int3
ae8b55:	cc                   	int3
ae8b56:	cc                   	int3
ae8b57:	cc                   	int3
ae8b58:	cc                   	int3
ae8b59:	cc                   	int3
ae8b5a:	cc                   	int3
ae8b5b:	cc                   	int3
ae8b5c:	cc                   	int3
ae8b5d:	cc                   	int3
ae8b5e:	cc                   	int3
ae8b5f:	cc                   	int3
ae8b60:	cc                   	int3
ae8b61:	cc                   	int3
ae8b62:	cc                   	int3
ae8b63:	cc                   	int3
ae8b64:	cc                   	int3
ae8b65:	cc                   	int3
ae8b66:	cc                   	int3
ae8b67:	cc                   	int3
ae8b68:	cc                   	int3
ae8b69:	cc                   	int3
ae8b6a:	cc                   	int3
ae8b6b:	cc                   	int3
ae8b6c:	cc                   	int3
ae8b6d:	cc                   	int3
ae8b6e:	cc                   	int3
ae8b6f:	cc                   	int3
ae8b70:	8b ff                	mov    %edi,%edi
ae8b72:	55                   	push   %ebp
ae8b73:	8b ec                	mov    %esp,%ebp
ae8b75:	51                   	push   %ecx
ae8b76:	51                   	push   %ecx
ae8b77:	56                   	push   %esi
ae8b78:	8d 45 fc             	lea    -0x4(%ebp),%eax
ae8b7b:	33 f6                	xor    %esi,%esi
ae8b7d:	50                   	push   %eax
ae8b7e:	ff 75 08             	push   0x8(%ebp)
ae8b81:	89 75 fc             	mov    %esi,-0x4(%ebp)
ae8b84:	e8 ed f0 ff ff       	call   0xae7c76
ae8b89:	59                   	pop    %ecx
ae8b8a:	59                   	pop    %ecx