ab29c4:	cc                   	int3
ab29c5:	cc                   	int3
ab29c6:	cc                   	int3
ab29c7:	cc                   	int3
ab29c8:	cc                   	int3
ab29c9:	cc                   	int3
ab29ca:	cc                   	int3
ab29cb:	cc                   	int3
ab29cc:	cc                   	int3
ab29cd:	cc                   	int3
ab29ce:	8b ff                	mov    %edi,%edi
ab29d0:	55                   	push   %ebp
ab29d1:	8b ec                	mov    %esp,%ebp
ab29d3:	8b 55 10             	mov    0x10(%ebp),%edx
ab29d6:	8a 45 18             	mov    0x18(%ebp),%al
ab29d9:	8b 0a                	mov    (%edx),%ecx
ab29db:	88 01                	mov    %al,(%ecx)
ab29dd:	8b 45 14             	mov    0x14(%ebp),%eax
ab29e0:	ff 02                	incl   (%edx)
ab29e2:	ff 08                	decl   (%eax)
ab29e4:	b0 01                	mov    $0x1,%al
ab29e6:	5d                   	pop    %ebp
ab29e7:	c2 14 00             	ret    $0x14
ab29ea:	cc                   	int3
ab29eb:	cc                   	int3
ab29ec:	cc                   	int3
ab29ed:	cc                   	int3
ab29ee:	cc                   	int3
ab29ef:	cc                   	int3
ab29f0:	cc                   	int3
ab29f1:	8b ff                	mov    %edi,%edi
ab29f3:	55                   	push   %ebp
ab29f4:	8b ec                	mov    %esp,%ebp
ab29f6:	51                   	push   %ecx
ab29f7:	51                   	push   %ecx
ab29f8:	53                   	push   %ebx
ab29f9:	8a 5d 18             	mov    0x18(%ebp),%bl
ab29fc:	56                   	push   %esi
ab29fd:	8b f1                	mov    %ecx,%esi
ab29ff:	88 5d fc             	mov    %bl,-0x4(%ebp)
ab2a02:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
ab2a06:	e8 78 2e 97 ff       	call   0x425883
ab2a0b:	0f b6 d3             	movzbl %bl,%edx
ab2a0e:	b9 00 80 00 00       	mov    $0x8000,%ecx
ab2a13:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
ab2a17:	74 0b                	je     0xab2a24
ab2a19:	8d 4e 08             	lea    0x8(%esi),%ecx
ab2a1c:	e8 3b e2 96 ff       	call   0x420c5c
ab2a21:	88 45 fd             	mov    %al,-0x3(%ebp)
ab2a24:	6a 3f                	push   $0x3f
ab2a26:	58                   	pop    %eax
ab2a27:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
ab2a2b:	8b 46 68             	mov    0x68(%esi),%eax
ab2a2e:	50                   	push   %eax
ab2a2f:	8b 00                	mov    (%eax),%eax
ab2a31:	ff 70 04             	push   0x4(%eax)
ab2a34:	8d 45 fc             	lea    -0x4(%ebp),%eax
ab2a37:	50                   	push   %eax
ab2a38:	8d 45 f8             	lea    -0x8(%ebp),%eax
ab2a3b:	50                   	push   %eax
ab2a3c:	e8 98 9d 95 ff       	call   0x40c7d9
ab2a41:	8b 55 10             	mov    0x10(%ebp),%edx
ab2a44:	83 c4 10             	add    $0x10,%esp
ab2a47:	66 0f be cb          	movsbw %bl,%cx
ab2a4b:	8b 02                	mov    (%edx),%eax
ab2a4d:	5e                   	pop    %esi
ab2a4e:	5b                   	pop    %ebx
ab2a4f:	66 89 08             	mov    %cx,(%eax)
ab2a52:	8b 45 14             	mov    0x14(%ebp),%eax
ab2a55:	83 02 02             	addl   $0x2,(%edx)
ab2a58:	ff 08                	decl   (%eax)
ab2a5a:	b0 01                	mov    $0x1,%al
ab2a5c:	8b e5                	mov    %ebp,%esp
ab2a5e:	5d                   	pop    %ebp
ab2a5f:	c2 14 00             	ret    $0x14
ab2a62:	cc                   	int3
ab2a63:	cc                   	int3
ab2a64:	cc                   	int3
ab2a65:	cc                   	int3
ab2a66:	cc                   	int3
ab2a67:	cc                   	int3
ab2a68:	cc                   	int3
ab2a69:	cc                   	int3
ab2a6a:	cc                   	int3
ab2a6b:	cc                   	int3
ab2a6c:	cc                   	int3
ab2a6d:	cc                   	int3
ab2a6e:	cc                   	int3
ab2a6f:	cc                   	int3
ab2a70:	cc                   	int3
ab2a71:	cc                   	int3
ab2a72:	cc                   	int3
ab2a73:	cc                   	int3
ab2a74:	cc                   	int3
ab2a75:	cc                   	int3
ab2a76:	cc                   	int3
ab2a77:	cc                   	int3
ab2a78:	cc                   	int3
ab2a79:	cc                   	int3
ab2a7a:	cc                   	int3
ab2a7b:	cc                   	int3
ab2a7c:	cc                   	int3
ab2a7d:	cc                   	int3
ab2a7e:	8b ff                	mov    %edi,%edi
ab2a80:	55                   	push   %ebp
ab2a81:	8b ec                	mov    %esp,%ebp
ab2a83:	51                   	push   %ecx
ab2a84:	53                   	push   %ebx
ab2a85:	56                   	push   %esi
ab2a86:	33 db                	xor    %ebx,%ebx
ab2a88:	8d 45 fc             	lea    -0x4(%ebp),%eax
ab2a8b:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
ab2a8f:	57                   	push   %edi
ab2a90:	ff 75 18             	push   0x18(%ebp)
ab2a93:	89 5d fc             	mov    %ebx,-0x4(%ebp)
ab2a96:	75 2c                	jne    0xab2ac4
ab2a98:	8b 75 10             	mov    0x10(%ebp),%esi
ab2a9b:	6a 05                	push   $0x5
ab2a9d:	ff 36                	push   (%esi)
ab2a9f:	50                   	push   %eax
ab2aa0:	e8 bd da 97 ff       	call   0x430562
ab2aa5:	83 c4 10             	add    $0x10,%esp
ab2aa8:	85 c0                	test   %eax,%eax
ab2aaa:	74 0c                	je     0xab2ab8
ab2aac:	83 f8 16             	cmp    $0x16,%eax
ab2aaf:	74 4a                	je     0xab2afb
ab2ab1:	83 f8 22             	cmp    $0x22,%eax
ab2ab4:	75 3a                	jne    0xab2af0
ab2ab6:	eb 43                	jmp    0xab2afb
ab2ab8:	8b 45 14             	mov    0x14(%ebp),%eax
ab2abb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
ab2abe:	01 0e                	add    %ecx,(%esi)
ab2ac0:	29 08                	sub    %ecx,(%eax)
ab2ac2:	eb 2c                	jmp    0xab2af0
ab2ac4:	8b 75 14             	mov    0x14(%ebp),%esi
ab2ac7:	8b 7d 10             	mov    0x10(%ebp),%edi
ab2aca:	ff 36                	push   (%esi)
ab2acc:	ff 37                	push   (%edi)
ab2ace:	50                   	push   %eax
ab2acf:	e8 8e da 97 ff       	call   0x430562
ab2ad4:	83 c4 10             	add    $0x10,%esp
ab2ad7:	83 f8 22             	cmp    $0x22,%eax
ab2ada:	75 09                	jne    0xab2ae5
ab2adc:	8b 45 08             	mov    0x8(%ebp),%eax
ab2adf:	88 18                	mov    %bl,(%eax)
ab2ae1:	32 c0                	xor    %al,%al
ab2ae3:	eb 0d                	jmp    0xab2af2
ab2ae5:	8b 45 fc             	mov    -0x4(%ebp),%eax
ab2ae8:	85 c0                	test   %eax,%eax
ab2aea:	7e 04                	jle    0xab2af0
ab2aec:	01 07                	add    %eax,(%edi)
ab2aee:	29 06                	sub    %eax,(%esi)
ab2af0:	b0 01                	mov    $0x1,%al
ab2af2:	5f                   	pop    %edi
ab2af3:	5e                   	pop    %esi
ab2af4:	5b                   	pop    %ebx
ab2af5:	8b e5                	mov    %ebp,%esp
ab2af7:	5d                   	pop    %ebp
ab2af8:	c2 14 00             	ret    $0x14
ab2afb:	53                   	push   %ebx
ab2afc:	53                   	push   %ebx
ab2afd:	53                   	push   %ebx
ab2afe:	53                   	push   %ebx
ab2aff:	53                   	push   %ebx
ab2b00:	e8 53 39 98 ff       	call   0x436458
ab2b05:	cc                   	int3
ab2b06:	cc                   	int3
ab2b07:	cc                   	int3
ab2b08:	cc                   	int3
ab2b09:	cc                   	int3
ab2b0a:	cc                   	int3
ab2b0b:	cc                   	int3
ab2b0c:	cc                   	int3
ab2b0d:	cc                   	int3
ab2b0e:	cc                   	int3
ab2b0f:	cc                   	int3
ab2b10:	cc                   	int3
ab2b11:	cc                   	int3
ab2b12:	cc                   	int3
ab2b13:	cc                   	int3
ab2b14:	cc                   	int3
ab2b15:	cc                   	int3
ab2b16:	cc                   	int3
ab2b17:	cc                   	int3
ab2b18:	cc                   	int3
ab2b19:	cc                   	int3
ab2b1a:	cc                   	int3
ab2b1b:	cc                   	int3
ab2b1c:	cc                   	int3
ab2b1d:	cc                   	int3
ab2b1e:	cc                   	int3
ab2b1f:	cc                   	int3
ab2b20:	cc                   	int3
ab2b21:	cc                   	int3
ab2b22:	cc                   	int3
ab2b23:	cc                   	int3
ab2b24:	cc                   	int3
ab2b25:	cc                   	int3
ab2b26:	cc                   	int3
ab2b27:	cc                   	int3
ab2b28:	8b ff                	mov    %edi,%edi
ab2b2a:	55                   	push   %ebp
ab2b2b:	8b ec                	mov    %esp,%ebp
ab2b2d:	8b 55 10             	mov    0x10(%ebp),%edx
ab2b30:	66 8b 45 18          	mov    0x18(%ebp),%ax
ab2b34:	8b 0a                	mov    (%edx),%ecx
ab2b36:	66 89 01             	mov    %ax,(%ecx)
ab2b39:	8b 45 14             	mov    0x14(%ebp),%eax
ab2b3c:	83 02 02             	addl   $0x2,(%edx)
ab2b3f:	ff 08                	decl   (%eax)
ab2b41:	b0 01                	mov    $0x1,%al
ab2b43:	5d                   	pop    %ebp
ab2b44:	c2 14 00             	ret    $0x14
ab2b47:	cc                   	int3
ab2b48:	cc                   	int3
ab2b49:	cc                   	int3
ab2b4a:	cc                   	int3
ab2b4b:	cc                   	int3
ab2b4c:	cc                   	int3
ab2b4d:	cc                   	int3
ab2b4e:	8b ff                	mov    %edi,%edi
ab2b50:	55                   	push   %ebp
ab2b51:	8b ec                	mov    %esp,%ebp
ab2b53:	51                   	push   %ecx
ab2b54:	53                   	push   %ebx
ab2b55:	56                   	push   %esi
ab2b56:	33 db                	xor    %ebx,%ebx
ab2b58:	8d 45 fc             	lea    -0x4(%ebp),%eax
ab2b5b:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
ab2b5f:	57                   	push   %edi
ab2b60:	ff 75 18             	push   0x18(%ebp)
ab2b63:	89 5d fc             	mov    %ebx,-0x4(%ebp)
ab2b66:	75 2c                	jne    0xab2b94
ab2b68:	8b 75 10             	mov    0x10(%ebp),%esi
ab2b6b:	6a 05                	push   $0x5
ab2b6d:	ff 36                	push   (%esi)
ab2b6f:	50                   	push   %eax
ab2b70:	e8 ed d9 97 ff       	call   0x430562
ab2b75:	83 c4 10             	add    $0x10,%esp
ab2b78:	85 c0                	test   %eax,%eax
ab2b7a:	74 0c                	je     0xab2b88
ab2b7c:	83 f8 16             	cmp    $0x16,%eax
ab2b7f:	74 4a                	je     0xab2bcb
ab2b81:	83 f8 22             	cmp    $0x22,%eax
ab2b84:	75 3a                	jne    0xab2bc0
ab2b86:	eb 43                	jmp    0xab2bcb
ab2b88:	8b 45 14             	mov    0x14(%ebp),%eax
ab2b8b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
ab2b8e:	01 0e                	add    %ecx,(%esi)
ab2b90:	29 08                	sub    %ecx,(%eax)
ab2b92:	eb 2c                	jmp    0xab2bc0
ab2b94:	8b 75 14             	mov    0x14(%ebp),%esi
ab2b97:	8b 7d 10             	mov    0x10(%ebp),%edi
ab2b9a:	ff 36                	push   (%esi)
ab2b9c:	ff 37                	push   (%edi)
ab2b9e:	50                   	push   %eax
ab2b9f:	e8 be d9 97 ff       	call   0x430562
ab2ba4:	83 c4 10             	add    $0x10,%esp
ab2ba7:	83 f8 22             	cmp    $0x22,%eax
ab2baa:	75 09                	jne    0xab2bb5
ab2bac:	8b 45 08             	mov    0x8(%ebp),%eax
ab2baf:	88 18                	mov    %bl,(%eax)
ab2bb1:	32 c0                	xor    %al,%al
ab2bb3:	eb 0d                	jmp    0xab2bc2
ab2bb5:	8b 45 fc             	mov    -0x4(%ebp),%eax
ab2bb8:	85 c0                	test   %eax,%eax
ab2bba:	7e 04                	jle    0xab2bc0
ab2bbc:	01 07                	add    %eax,(%edi)
ab2bbe:	29 06                	sub    %eax,(%esi)
ab2bc0:	b0 01                	mov    $0x1,%al
ab2bc2:	5f                   	pop    %edi
ab2bc3:	5e                   	pop    %esi
ab2bc4:	5b                   	pop    %ebx
ab2bc5:	8b e5                	mov    %ebp,%esp
ab2bc7:	5d                   	pop    %ebp
ab2bc8:	c2 14 00             	ret    $0x14
ab2bcb:	53                   	push   %ebx
ab2bcc:	53                   	push   %ebx
ab2bcd:	53                   	push   %ebx
ab2bce:	53                   	push   %ebx
ab2bcf:	53                   	push   %ebx
ab2bd0:	e8 83 38 98 ff       	call   0x436458
ab2bd5:	cc                   	int3
ab2bd6:	cc                   	int3
ab2bd7:	cc                   	int3
ab2bd8:	cc                   	int3
ab2bd9:	cc                   	int3
ab2bda:	cc                   	int3
ab2bdb:	cc                   	int3
ab2bdc:	cc                   	int3
ab2bdd:	cc                   	int3
ab2bde:	cc                   	int3
ab2bdf:	cc                   	int3
ab2be0:	cc                   	int3
ab2be1:	cc                   	int3
ab2be2:	cc                   	int3
ab2be3:	cc                   	int3
ab2be4:	cc                   	int3
ab2be5:	cc                   	int3
ab2be6:	cc                   	int3
ab2be7:	cc                   	int3
ab2be8:	cc                   	int3
ab2be9:	cc                   	int3
ab2bea:	cc                   	int3
ab2beb:	cc                   	int3
ab2bec:	cc                   	int3
ab2bed:	cc                   	int3
ab2bee:	cc                   	int3
ab2bef:	cc                   	int3
ab2bf0:	cc                   	int3
ab2bf1:	cc                   	int3
ab2bf2:	cc                   	int3
ab2bf3:	cc                   	int3
ab2bf4:	cc                   	int3
ab2bf5:	cc                   	int3
ab2bf6:	cc                   	int3
ab2bf7:	cc                   	int3
ab2bf8:	8b ff                	mov    %edi,%edi
ab2bfa:	55                   	push   %ebp
ab2bfb:	8b ec                	mov    %esp,%ebp
ab2bfd:	8b 55 10             	mov    0x10(%ebp),%edx
ab2c00:	66 8b 45 18          	mov    0x18(%ebp),%ax
ab2c04:	8b 0a                	mov    (%edx),%ecx
ab2c06:	66 89 01             	mov    %ax,(%ecx)
ab2c09:	8b 45 14             	mov    0x14(%ebp),%eax
ab2c0c:	83 02 02             	addl   $0x2,(%edx)
ab2c0f:	ff 08                	decl   (%eax)
ab2c11:	b0 01                	mov    $0x1,%al
ab2c13:	5d                   	pop    %ebp
ab2c14:	c2 14 00             	ret    $0x14
ab2c17:	cc                   	int3
ab2c18:	cc                   	int3
ab2c19:	cc                   	int3
ab2c1a:	cc                   	int3
ab2c1b:	cc                   	int3
ab2c1c:	cc                   	int3
ab2c1d:	cc                   	int3
ab2c1e:	8b ff                	mov    %edi,%edi
ab2c20:	55                   	push   %ebp
ab2c21:	8b ec                	mov    %esp,%ebp
ab2c23:	83 41 64 04          	addl   $0x4,0x64(%ecx)
ab2c27:	8b 41 64             	mov    0x64(%ecx),%eax
ab2c2a:	56                   	push   %esi
ab2c2b:	8b 70 fc             	mov    -0x4(%eax),%esi
ab2c2e:	85 f6                	test   %esi,%esi
ab2c30:	75 14                	jne    0xab2c46
ab2c32:	e8 38 bc 98 ff       	call   0x43e86f
ab2c37:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab2c3d:	e8 b6 c6 96 ff       	call   0x41f2f8
ab2c42:	32 c0                	xor    %al,%al