ab2862:	cc                   	int3
ab2863:	cc                   	int3
ab2864:	cc                   	int3
ab2865:	cc                   	int3
ab2866:	cc                   	int3
ab2867:	8b 01                	mov    (%ecx),%eax
ab2869:	85 c0                	test   %eax,%eax
ab286b:	75 13                	jne    0xab2880
ab286d:	e8 fd bf 98 ff       	call   0x43e86f
ab2872:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab2878:	e8 7b ca 96 ff       	call   0x41f2f8
ab287d:	32 c0                	xor    %al,%al
ab287f:	c3                   	ret
ab2880:	50                   	push   %eax
ab2881:	e8 4c c7 97 ff       	call   0x42efd2
ab2886:	59                   	pop    %ecx
ab2887:	c3                   	ret
ab2888:	cc                   	int3
ab2889:	cc                   	int3
ab288a:	cc                   	int3
ab288b:	cc                   	int3
ab288c:	cc                   	int3
ab288d:	cc                   	int3
ab288e:	cc                   	int3
ab288f:	cc                   	int3
ab2890:	83 39 00             	cmpl   $0x0,(%ecx)
ab2893:	75 13                	jne    0xab28a8
ab2895:	e8 d5 bf 98 ff       	call   0x43e86f
ab289a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab28a0:	e8 53 ca 96 ff       	call   0x41f2f8
ab28a5:	32 c0                	xor    %al,%al
ab28a7:	c3                   	ret
ab28a8:	b0 01                	mov    $0x1,%al
ab28aa:	c3                   	ret
ab28ab:	cc                   	int3
ab28ac:	cc                   	int3
ab28ad:	cc                   	int3
ab28ae:	cc                   	int3
ab28af:	cc                   	int3
ab28b0:	cc                   	int3
ab28b1:	8b 41 08             	mov    0x8(%ecx),%eax
ab28b4:	85 c0                	test   %eax,%eax
ab28b6:	75 13                	jne    0xab28cb
ab28b8:	e8 b2 bf 98 ff       	call   0x43e86f
ab28bd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab28c3:	e8 30 ca 96 ff       	call   0x41f2f8
ab28c8:	32 c0                	xor    %al,%al
ab28ca:	c3                   	ret
ab28cb:	3b 41 04             	cmp    0x4(%ecx),%eax
ab28ce:	77 e8                	ja     0xab28b8
ab28d0:	b0 01                	mov    $0x1,%al
ab28d2:	c3                   	ret
ab28d3:	cc                   	int3
ab28d4:	cc                   	int3
ab28d5:	cc                   	int3
ab28d6:	cc                   	int3
ab28d7:	cc                   	int3
ab28d8:	cc                   	int3
ab28d9:	cc                   	int3
ab28da:	cc                   	int3
ab28db:	8b 41 08             	mov    0x8(%ecx),%eax
ab28de:	85 c0                	test   %eax,%eax
ab28e0:	75 13                	jne    0xab28f5
ab28e2:	e8 88 bf 98 ff       	call   0x43e86f
ab28e7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
ab28ed:	e8 06 ca 96 ff       	call   0x41f2f8
ab28f2:	32 c0                	xor    %al,%al
ab28f4:	c3                   	ret
ab28f5:	3b 41 04             	cmp    0x4(%ecx),%eax
ab28f8:	77 e8                	ja     0xab28e2
ab28fa:	b0 01                	mov    $0x1,%al
ab28fc:	c3                   	ret
ab28fd:	cc                   	int3
ab28fe:	cc                   	int3
ab28ff:	cc                   	int3
ab2900:	cc                   	int3
ab2901:	cc                   	int3
ab2902:	cc                   	int3
ab2903:	cc                   	int3
ab2904:	cc                   	int3
ab2905:	8b 41 18             	mov    0x18(%ecx),%eax
ab2908:	8b 51 1c             	mov    0x1c(%ecx),%edx
ab290b:	c3                   	ret
ab290c:	8b 41 20             	mov    0x20(%ecx),%eax
ab290f:	8b 51 24             	mov    0x24(%ecx),%edx
ab2912:	c3                   	ret
ab2913:	8b ff                	mov    %edi,%edi
ab2915:	55                   	push   %ebp
ab2916:	8b ec                	mov    %esp,%ebp
ab2918:	8b 55 10             	mov    0x10(%ebp),%edx
ab291b:	8a 45 18             	mov    0x18(%ebp),%al
ab291e:	8b 0a                	mov    (%edx),%ecx
ab2920:	88 01                	mov    %al,(%ecx)
ab2922:	8b 45 14             	mov    0x14(%ebp),%eax
ab2925:	ff 02                	incl   (%edx)
ab2927:	ff 08                	decl   (%eax)
ab2929:	b0 01                	mov    $0x1,%al
ab292b:	5d                   	pop    %ebp
ab292c:	c2 14 00             	ret    $0x14
ab292f:	cc                   	int3
ab2930:	cc                   	int3
ab2931:	cc                   	int3
ab2932:	cc                   	int3
ab2933:	cc                   	int3
ab2934:	cc                   	int3
ab2935:	cc                   	int3
ab2936:	8b ff                	mov    %edi,%edi
ab2938:	55                   	push   %ebp
ab2939:	8b ec                	mov    %esp,%ebp
ab293b:	51                   	push   %ecx
ab293c:	51                   	push   %ecx
ab293d:	53                   	push   %ebx
ab293e:	8a 5d 18             	mov    0x18(%ebp),%bl
ab2941:	56                   	push   %esi
ab2942:	8b f1                	mov    %ecx,%esi
ab2944:	88 5d fc             	mov    %bl,-0x4(%ebp)
ab2947:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
ab294b:	e8 33 2f 97 ff       	call   0x425883
ab2950:	0f b6 d3             	movzbl %bl,%edx
ab2953:	b9 00 80 00 00       	mov    $0x8000,%ecx
ab2958:	66 85 0c 50          	test   %cx,(%eax,%edx,2)
ab295c:	74 14                	je     0xab2972
ab295e:	ff 76 08             	push   0x8(%esi)
ab2961:	e8 c0 90 97 ff       	call   0x42ba26
ab2966:	59                   	pop    %ecx
ab2967:	83 f8 ff             	cmp    $0xffffffff,%eax
ab296a:	74 03                	je     0xab296f
ab296c:	ff 46 0c             	incl   0xc(%esi)
ab296f:	88 45 fd             	mov    %al,-0x3(%ebp)
ab2972:	6a 3f                	push   $0x3f
ab2974:	58                   	pop    %eax
ab2975:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
ab2979:	8b 46 60             	mov    0x60(%esi),%eax
ab297c:	50                   	push   %eax
ab297d:	8b 00                	mov    (%eax),%eax
ab297f:	ff 70 04             	push   0x4(%eax)
ab2982:	8d 45 fc             	lea    -0x4(%ebp),%eax
ab2985:	50                   	push   %eax
ab2986:	8d 45 f8             	lea    -0x8(%ebp),%eax
ab2989:	50                   	push   %eax
ab298a:	e8 4a 9e 95 ff       	call   0x40c7d9
ab298f:	8b 55 10             	mov    0x10(%ebp),%edx
ab2992:	83 c4 10             	add    $0x10,%esp
ab2995:	66 0f be cb          	movsbw %bl,%cx
ab2999:	8b 02                	mov    (%edx),%eax
ab299b:	5e                   	pop    %esi
ab299c:	5b                   	pop    %ebx
ab299d:	66 89 08             	mov    %cx,(%eax)
ab29a0:	8b 45 14             	mov    0x14(%ebp),%eax
ab29a3:	83 02 02             	addl   $0x2,(%edx)
ab29a6:	ff 08                	decl   (%eax)
ab29a8:	b0 01                	mov    $0x1,%al
ab29aa:	8b e5                	mov    %ebp,%esp
ab29ac:	5d                   	pop    %ebp
ab29ad:	c2 14 00             	ret    $0x14
ab29b0:	cc                   	int3
ab29b1:	cc                   	int3
ab29b2:	cc                   	int3
ab29b3:	cc                   	int3
ab29b4:	cc                   	int3
ab29b5:	cc                   	int3
ab29b6:	cc                   	int3
ab29b7:	cc                   	int3
ab29b8:	cc                   	int3
ab29b9:	cc                   	int3
ab29ba:	cc                   	int3
ab29bb:	cc                   	int3
ab29bc:	cc                   	int3
ab29bd:	cc                   	int3
ab29be:	cc                   	int3
ab29bf:	cc                   	int3
ab29c0:	cc                   	int3
ab29c1:	cc                   	int3
ab29c2:	cc                   	int3
ab29c3:	cc                   	int3
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