ab8841:	cc                   	int3
ab8842:	cc                   	int3
ab8843:	cc                   	int3
ab8844:	8b ff                	mov    %edi,%edi
ab8846:	55                   	push   %ebp
ab8847:	8b ec                	mov    %esp,%ebp
ab8849:	8b 45 08             	mov    0x8(%ebp),%eax
ab884c:	8b 00                	mov    (%eax),%eax
ab884e:	8d 50 02             	lea    0x2(%eax),%edx
ab8851:	66 8b 08             	mov    (%eax),%cx
ab8854:	83 c0 02             	add    $0x2,%eax
ab8857:	66 85 c9             	test   %cx,%cx
ab885a:	75 f5                	jne    0xab8851
ab885c:	2b c2                	sub    %edx,%eax
ab885e:	d1 f8                	sar    $1,%eax
ab8860:	5d                   	pop    %ebp
ab8861:	c3                   	ret
ab8862:	cc                   	int3
ab8863:	cc                   	int3
ab8864:	cc                   	int3
ab8865:	cc                   	int3
ab8866:	cc                   	int3
ab8867:	cc                   	int3
ab8868:	cc                   	int3
ab8869:	8b ff                	mov    %edi,%edi
ab886b:	55                   	push   %ebp
ab886c:	8b ec                	mov    %esp,%ebp
ab886e:	8b 45 0c             	mov    0xc(%ebp),%eax
ab8871:	ff 75 10             	push   0x10(%ebp)
ab8874:	ff 30                	push   (%eax)
ab8876:	8b 45 08             	mov    0x8(%ebp),%eax
ab8879:	ff 30                	push   (%eax)
ab887b:	e8 e4 4d 97 ff       	call   0x42d664
ab8880:	83 c4 0c             	add    $0xc,%esp
ab8883:	5d                   	pop    %ebp
ab8884:	c3                   	ret
ab8885:	cc                   	int3
ab8886:	cc                   	int3
ab8887:	cc                   	int3
ab8888:	cc                   	int3
ab8889:	cc                   	int3
ab888a:	cc                   	int3
ab888b:	cc                   	int3
ab888c:	8b ff                	mov    %edi,%edi
ab888e:	55                   	push   %ebp
ab888f:	8b ec                	mov    %esp,%ebp
ab8891:	8b 45 0c             	mov    0xc(%ebp),%eax
ab8894:	ff 75 10             	push   0x10(%ebp)
ab8897:	ff 30                	push   (%eax)
ab8899:	8b 45 08             	mov    0x8(%ebp),%eax
ab889c:	ff 30                	push   (%eax)
ab889e:	e8 c1 4d 97 ff       	call   0x42d664
ab88a3:	83 c4 0c             	add    $0xc,%esp
ab88a6:	5d                   	pop    %ebp
ab88a7:	c3                   	ret
ab88a8:	cc                   	int3
ab88a9:	cc                   	int3
ab88aa:	cc                   	int3
ab88ab:	cc                   	int3
ab88ac:	cc                   	int3
ab88ad:	cc                   	int3
ab88ae:	cc                   	int3
ab88af:	8b ff                	mov    %edi,%edi
ab88b1:	55                   	push   %ebp
ab88b2:	8b ec                	mov    %esp,%ebp
ab88b4:	8b 45 0c             	mov    0xc(%ebp),%eax
ab88b7:	ff 75 10             	push   0x10(%ebp)
ab88ba:	ff 30                	push   (%eax)
ab88bc:	8b 45 08             	mov    0x8(%ebp),%eax
ab88bf:	ff 30                	push   (%eax)
ab88c1:	e8 a8 49 96 ff       	call   0x41d26e
ab88c6:	83 c4 0c             	add    $0xc,%esp
ab88c9:	5d                   	pop    %ebp
ab88ca:	c3                   	ret
ab88cb:	cc                   	int3
ab88cc:	cc                   	int3
ab88cd:	cc                   	int3
ab88ce:	cc                   	int3
ab88cf:	cc                   	int3
ab88d0:	cc                   	int3
ab88d1:	cc                   	int3
ab88d2:	8b ff                	mov    %edi,%edi
ab88d4:	55                   	push   %ebp
ab88d5:	8b ec                	mov    %esp,%ebp
ab88d7:	8b 45 0c             	mov    0xc(%ebp),%eax
ab88da:	ff 75 10             	push   0x10(%ebp)
ab88dd:	ff 30                	push   (%eax)
ab88df:	8b 45 08             	mov    0x8(%ebp),%eax
ab88e2:	ff 30                	push   (%eax)
ab88e4:	e8 85 49 96 ff       	call   0x41d26e
ab88e9:	83 c4 0c             	add    $0xc,%esp
ab88ec:	5d                   	pop    %ebp
ab88ed:	c3                   	ret
ab88ee:	cc                   	int3
ab88ef:	cc                   	int3
ab88f0:	cc                   	int3
ab88f1:	cc                   	int3
ab88f2:	cc                   	int3
ab88f3:	cc                   	int3
ab88f4:	cc                   	int3
ab88f5:	8b ff                	mov    %edi,%edi
ab88f7:	55                   	push   %ebp
ab88f8:	8b ec                	mov    %esp,%ebp
ab88fa:	8b 45 0c             	mov    0xc(%ebp),%eax
ab88fd:	ff 30                	push   (%eax)
ab88ff:	8b 45 08             	mov    0x8(%ebp),%eax
ab8902:	ff 30                	push   (%eax)
ab8904:	e8 88 62 96 ff       	call   0x41eb91
ab8909:	59                   	pop    %ecx
ab890a:	59                   	pop    %ecx
ab890b:	5d                   	pop    %ebp
ab890c:	c3                   	ret
ab890d:	cc                   	int3
ab890e:	cc                   	int3
ab890f:	cc                   	int3
ab8910:	cc                   	int3
ab8911:	cc                   	int3
ab8912:	cc                   	int3
ab8913:	8b ff                	mov    %edi,%edi
ab8915:	55                   	push   %ebp
ab8916:	8b ec                	mov    %esp,%ebp
ab8918:	8b 45 0c             	mov    0xc(%ebp),%eax
ab891b:	ff 30                	push   (%eax)
ab891d:	8b 45 08             	mov    0x8(%ebp),%eax
ab8920:	ff 30                	push   (%eax)
ab8922:	e8 50 13 96 ff       	call   0x419c77
ab8927:	59                   	pop    %ecx
ab8928:	59                   	pop    %ecx
ab8929:	5d                   	pop    %ebp
ab892a:	c3                   	ret
ab892b:	cc                   	int3
ab892c:	cc                   	int3
ab892d:	cc                   	int3
ab892e:	cc                   	int3
ab892f:	cc                   	int3
ab8930:	cc                   	int3
ab8931:	8b ff                	mov    %edi,%edi
ab8933:	55                   	push   %ebp
ab8934:	8b ec                	mov    %esp,%ebp
ab8936:	8b 45 10             	mov    0x10(%ebp),%eax
ab8939:	ff 30                	push   (%eax)
ab893b:	8b 45 0c             	mov    0xc(%ebp),%eax
ab893e:	ff 30                	push   (%eax)
ab8940:	8b 45 08             	mov    0x8(%ebp),%eax
ab8943:	ff 30                	push   (%eax)
ab8945:	e8 d6 6d 97 ff       	call   0x42f720
ab894a:	83 c4 0c             	add    $0xc,%esp
ab894d:	5d                   	pop    %ebp
ab894e:	c3                   	ret
ab894f:	cc                   	int3
ab8950:	cc                   	int3
ab8951:	cc                   	int3
ab8952:	cc                   	int3
ab8953:	cc                   	int3
ab8954:	cc                   	int3
ab8955:	cc                   	int3
ab8956:	8b ff                	mov    %edi,%edi
ab8958:	55                   	push   %ebp
ab8959:	8b ec                	mov    %esp,%ebp
ab895b:	8b 45 10             	mov    0x10(%ebp),%eax
ab895e:	ff 30                	push   (%eax)
ab8960:	8b 45 0c             	mov    0xc(%ebp),%eax
ab8963:	ff 30                	push   (%eax)
ab8965:	8b 45 08             	mov    0x8(%ebp),%eax
ab8968:	ff 30                	push   (%eax)
ab896a:	e8 91 ad 95 ff       	call   0x413700
ab896f:	83 c4 0c             	add    $0xc,%esp
ab8972:	5d                   	pop    %ebp
ab8973:	c3                   	ret
ab8974:	cc                   	int3
ab8975:	cc                   	int3
ab8976:	cc                   	int3
ab8977:	cc                   	int3
ab8978:	cc                   	int3
ab8979:	cc                   	int3
ab897a:	cc                   	int3
ab897b:	8b ff                	mov    %edi,%edi
ab897d:	55                   	push   %ebp
ab897e:	8b ec                	mov    %esp,%ebp
ab8980:	8b 45 08             	mov    0x8(%ebp),%eax
ab8983:	89 01                	mov    %eax,(%ecx)
ab8985:	8b c1                	mov    %ecx,%eax
ab8987:	5d                   	pop    %ebp
ab8988:	c2 04 00             	ret    $0x4
ab898b:	cc                   	int3
ab898c:	cc                   	int3
ab898d:	cc                   	int3
ab898e:	cc                   	int3
ab898f:	8b ff                	mov    %edi,%edi
ab8991:	55                   	push   %ebp
ab8992:	8b ec                	mov    %esp,%ebp
ab8994:	8b 45 08             	mov    0x8(%ebp),%eax
ab8997:	89 01                	mov    %eax,(%ecx)
ab8999:	8b c1                	mov    %ecx,%eax
ab899b:	5d                   	pop    %ebp
ab899c:	c2 04 00             	ret    $0x4
ab899f:	cc                   	int3
ab89a0:	cc                   	int3
ab89a1:	cc                   	int3
ab89a2:	cc                   	int3
ab89a3:	8b ff                	mov    %edi,%edi
ab89a5:	55                   	push   %ebp
ab89a6:	8b ec                	mov    %esp,%ebp
ab89a8:	8b 45 08             	mov    0x8(%ebp),%eax
ab89ab:	89 01                	mov    %eax,(%ecx)
ab89ad:	8b c1                	mov    %ecx,%eax
ab89af:	5d                   	pop    %ebp
ab89b0:	c2 04 00             	ret    $0x4
ab89b3:	cc                   	int3
ab89b4:	cc                   	int3
ab89b5:	cc                   	int3
ab89b6:	cc                   	int3
ab89b7:	8b ff                	mov    %edi,%edi
ab89b9:	55                   	push   %ebp
ab89ba:	8b ec                	mov    %esp,%ebp
ab89bc:	8b 45 08             	mov    0x8(%ebp),%eax
ab89bf:	89 01                	mov    %eax,(%ecx)
ab89c1:	8b c1                	mov    %ecx,%eax
ab89c3:	5d                   	pop    %ebp
ab89c4:	c2 04 00             	ret    $0x4
ab89c7:	cc                   	int3
ab89c8:	cc                   	int3
ab89c9:	cc                   	int3
ab89ca:	cc                   	int3
ab89cb:	8b ff                	mov    %edi,%edi
ab89cd:	55                   	push   %ebp
ab89ce:	8b ec                	mov    %esp,%ebp
ab89d0:	8b 45 08             	mov    0x8(%ebp),%eax
ab89d3:	89 01                	mov    %eax,(%ecx)
ab89d5:	8b c1                	mov    %ecx,%eax
ab89d7:	5d                   	pop    %ebp
ab89d8:	c2 04 00             	ret    $0x4
ab89db:	cc                   	int3
ab89dc:	cc                   	int3
ab89dd:	cc                   	int3
ab89de:	cc                   	int3
ab89df:	8b ff                	mov    %edi,%edi
ab89e1:	55                   	push   %ebp
ab89e2:	8b ec                	mov    %esp,%ebp
ab89e4:	8b 45 08             	mov    0x8(%ebp),%eax
ab89e7:	89 01                	mov    %eax,(%ecx)
ab89e9:	8b c1                	mov    %ecx,%eax
ab89eb:	5d                   	pop    %ebp
ab89ec:	c2 04 00             	ret    $0x4
ab89ef:	cc                   	int3
ab89f0:	cc                   	int3
ab89f1:	cc                   	int3
ab89f2:	cc                   	int3
ab89f3:	8b ff                	mov    %edi,%edi
ab89f5:	56                   	push   %esi
ab89f6:	8b f1                	mov    %ecx,%esi
ab89f8:	83 3e ff             	cmpl   $0xffffffff,(%esi)
ab89fb:	74 0b                	je     0xab8a08
ab89fd:	ff 36                	push   (%esi)
ab89ff:	ff 15 84 36 d8 00    	call   *0xd83684
ab8a05:	83 0e ff             	orl    $0xffffffff,(%esi)
ab8a08:	5e                   	pop    %esi
ab8a09:	c3                   	ret
ab8a0a:	cc                   	int3
ab8a0b:	cc                   	int3
ab8a0c:	cc                   	int3
ab8a0d:	cc                   	int3
ab8a0e:	cc                   	int3
ab8a0f:	8b 01                	mov    (%ecx),%eax
ab8a11:	85 c0                	test   %eax,%eax
ab8a13:	74 09                	je     0xab8a1e
ab8a15:	33 d2                	xor    %edx,%edx
ab8a17:	89 50 04             	mov    %edx,0x4(%eax)
ab8a1a:	89 10                	mov    %edx,(%eax)
ab8a1c:	89 11                	mov    %edx,(%ecx)
ab8a1e:	c3                   	ret
ab8a1f:	cc                   	int3
ab8a20:	cc                   	int3
ab8a21:	cc                   	int3
ab8a22:	cc                   	int3
ab8a23:	8b ff                	mov    %edi,%edi
ab8a25:	56                   	push   %esi
ab8a26:	8b f1                	mov    %ecx,%esi
ab8a28:	83 3e 00             	cmpl   $0x0,(%esi)
ab8a2b:	74 0b                	je     0xab8a38
ab8a2d:	ff 36                	push   (%esi)
ab8a2f:	e8 ef a8 94 ff       	call   0x403323
ab8a34:	83 26 00             	andl   $0x0,(%esi)
ab8a37:	59                   	pop    %ecx
ab8a38:	5e                   	pop    %esi
ab8a39:	c3                   	ret
ab8a3a:	cc                   	int3
ab8a3b:	cc                   	int3
ab8a3c:	cc                   	int3
ab8a3d:	cc                   	int3
ab8a3e:	cc                   	int3
ab8a3f:	8b ff                	mov    %edi,%edi
ab8a41:	56                   	push   %esi
ab8a42:	8b f1                	mov    %ecx,%esi
ab8a44:	ff 36                	push   (%esi)
ab8a46:	e8 9b 97 97 ff       	call   0x4321e6
ab8a4b:	83 26 00             	andl   $0x0,(%esi)
ab8a4e:	59                   	pop    %ecx
ab8a4f:	5e                   	pop    %esi
ab8a50:	c3                   	ret
ab8a51:	cc                   	int3
ab8a52:	cc                   	int3
ab8a53:	cc                   	int3
ab8a54:	cc                   	int3
ab8a55:	8b ff                	mov    %edi,%edi
ab8a57:	56                   	push   %esi
ab8a58:	8b f1                	mov    %ecx,%esi
ab8a5a:	ff 36                	push   (%esi)
ab8a5c:	e8 85 97 97 ff       	call   0x4321e6
ab8a61:	83 26 00             	andl   $0x0,(%esi)
ab8a64:	59                   	pop    %ecx
ab8a65:	5e                   	pop    %esi
ab8a66:	c3                   	ret
ab8a67:	cc                   	int3
ab8a68:	cc                   	int3
ab8a69:	cc                   	int3
ab8a6a:	cc                   	int3
ab8a6b:	8b ff                	mov    %edi,%edi
ab8a6d:	56                   	push   %esi
ab8a6e:	8b f1                	mov    %ecx,%esi
ab8a70:	ff 36                	push   (%esi)
ab8a72:	e8 6f 97 97 ff       	call   0x4321e6
ab8a77:	83 26 00             	andl   $0x0,(%esi)
ab8a7a:	59                   	pop    %ecx
ab8a7b:	5e                   	pop    %esi
ab8a7c:	c3                   	ret
ab8a7d:	cc                   	int3
ab8a7e:	cc                   	int3
ab8a7f:	cc                   	int3
ab8a80:	cc                   	int3
ab8a81:	33 c0                	xor    %eax,%eax
ab8a83:	39 01                	cmp    %eax,(%ecx)
ab8a85:	0f 95 c0             	setne  %al
ab8a88:	c3                   	ret
ab8a89:	cc                   	int3
ab8a8a:	cc                   	int3
ab8a8b:	33 c0                	xor    %eax,%eax
ab8a8d:	39 01                	cmp    %eax,(%ecx)
ab8a8f:	0f 95 c0             	setne  %al
ab8a92:	c3                   	ret
ab8a93:	cc                   	int3
ab8a94:	cc                   	int3
ab8a95:	8b ff                	mov    %edi,%edi
ab8a97:	55                   	push   %ebp
ab8a98:	8b ec                	mov    %esp,%ebp
ab8a9a:	8b 55 08             	mov    0x8(%ebp),%edx
ab8a9d:	8b ca                	mov    %edx,%ecx
ab8a9f:	56                   	push   %esi
ab8aa0:	8d 71 01             	lea    0x1(%ecx),%esi
ab8aa3:	8a 01                	mov    (%ecx),%al