9539a7:	8b 75 08             	mov    0x8(%ebp),%esi
9539aa:	85 f6                	test   %esi,%esi
9539ac:	75 07                	jne    0x9539b5
9539ae:	b8 57 00 07 80       	mov    $0x80070057,%eax
9539b3:	eb 30                	jmp    0x9539e5
9539b5:	33 c0                	xor    %eax,%eax
9539b7:	c7 45 e0 8c 6e c5 00 	movl   $0xc56e8c,-0x20(%ebp)
9539be:	89 45 e4             	mov    %eax,-0x1c(%ebp)
9539c1:	89 45 f0             	mov    %eax,-0x10(%ebp)
9539c4:	89 45 ec             	mov    %eax,-0x14(%ebp)
9539c7:	89 45 e8             	mov    %eax,-0x18(%ebp)
9539ca:	89 45 fc             	mov    %eax,-0x4(%ebp)
9539cd:	8d 45 e0             	lea    -0x20(%ebp),%eax
9539d0:	50                   	push   %eax
9539d1:	e8 76 0c ab ff       	call   0x40464c
9539d6:	8b 45 e8             	mov    -0x18(%ebp),%eax
9539d9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
9539dc:	89 06                	mov    %eax,(%esi)
9539de:	e8 ee 7b ac ff       	call   0x41b5d1
9539e3:	33 c0                	xor    %eax,%eax
9539e5:	e8 2d aa ab ff       	call   0x40e417
9539ea:	c2 04 00             	ret    $0x4
9539ed:	cc                   	int3
9539ee:	cc                   	int3
9539ef:	cc                   	int3
9539f0:	cc                   	int3
9539f1:	cc                   	int3
9539f2:	cc                   	int3
9539f3:	cc                   	int3
9539f4:	cc                   	int3
9539f5:	cc                   	int3
9539f6:	cc                   	int3
9539f7:	cc                   	int3
9539f8:	cc                   	int3
9539f9:	cc                   	int3
9539fa:	cc                   	int3
9539fb:	cc                   	int3
9539fc:	cc                   	int3
9539fd:	cc                   	int3
9539fe:	cc                   	int3
9539ff:	cc                   	int3
953a00:	cc                   	int3
953a01:	55                   	push   %ebp
953a02:	8b ec                	mov    %esp,%ebp
953a04:	56                   	push   %esi
953a05:	8b 75 08             	mov    0x8(%ebp),%esi
953a08:	85 f6                	test   %esi,%esi
953a0a:	74 17                	je     0x953a23
953a0c:	8b 89 08 01 00 00    	mov    0x108(%ecx),%ecx
953a12:	6a 01                	push   $0x1
953a14:	e8 6e 98 ac ff       	call   0x41d287
953a19:	89 06                	mov    %eax,(%esi)
953a1b:	85 c0                	test   %eax,%eax
953a1d:	74 04                	je     0x953a23
953a1f:	33 c0                	xor    %eax,%eax
953a21:	eb 05                	jmp    0x953a28
953a23:	b8 57 00 07 80       	mov    $0x80070057,%eax
953a28:	5e                   	pop    %esi
953a29:	5d                   	pop    %ebp
953a2a:	c2 04 00             	ret    $0x4
953a2d:	cc                   	int3
953a2e:	cc                   	int3
953a2f:	cc                   	int3
953a30:	cc                   	int3
953a31:	cc                   	int3
953a32:	cc                   	int3
953a33:	cc                   	int3
953a34:	cc                   	int3
953a35:	cc                   	int3
953a36:	cc                   	int3
953a37:	cc                   	int3
953a38:	55                   	push   %ebp
953a39:	8b ec                	mov    %esp,%ebp
953a3b:	56                   	push   %esi
953a3c:	8b 75 14             	mov    0x14(%ebp),%esi
953a3f:	85 f6                	test   %esi,%esi
953a41:	75 04                	jne    0x953a47
953a43:	33 c0                	xor    %eax,%eax
953a45:	eb 6d                	jmp    0x953ab4
953a47:	8b 45 08             	mov    0x8(%ebp),%eax
953a4a:	85 c0                	test   %eax,%eax
953a4c:	75 13                	jne    0x953a61
953a4e:	e8 1c ae ae ff       	call   0x43e86f
953a53:	6a 16                	push   $0x16
953a55:	5e                   	pop    %esi
953a56:	89 30                	mov    %esi,(%eax)
953a58:	e8 9b b8 ac ff       	call   0x41f2f8
953a5d:	8b c6                	mov    %esi,%eax
953a5f:	eb 53                	jmp    0x953ab4
953a61:	57                   	push   %edi
953a62:	8b 7d 10             	mov    0x10(%ebp),%edi
953a65:	85 ff                	test   %edi,%edi
953a67:	74 14                	je     0x953a7d
953a69:	39 75 0c             	cmp    %esi,0xc(%ebp)
953a6c:	72 0f                	jb     0x953a7d
953a6e:	56                   	push   %esi
953a6f:	57                   	push   %edi
953a70:	50                   	push   %eax
953a71:	e8 0c 0c ac ff       	call   0x414682
953a76:	83 c4 0c             	add    $0xc,%esp
953a79:	33 c0                	xor    %eax,%eax
953a7b:	eb 36                	jmp    0x953ab3
953a7d:	ff 75 0c             	push   0xc(%ebp)
953a80:	6a 00                	push   $0x0
953a82:	50                   	push   %eax
953a83:	e8 30 0d ac ff       	call   0x4147b8
953a88:	83 c4 0c             	add    $0xc,%esp
953a8b:	85 ff                	test   %edi,%edi
953a8d:	75 09                	jne    0x953a98
953a8f:	e8 db ad ae ff       	call   0x43e86f
953a94:	6a 16                	push   $0x16
953a96:	eb 0c                	jmp    0x953aa4
953a98:	39 75 0c             	cmp    %esi,0xc(%ebp)
953a9b:	73 13                	jae    0x953ab0
953a9d:	e8 cd ad ae ff       	call   0x43e86f
953aa2:	6a 22                	push   $0x22
953aa4:	5e                   	pop    %esi
953aa5:	89 30                	mov    %esi,(%eax)
953aa7:	e8 4c b8 ac ff       	call   0x41f2f8
953aac:	8b c6                	mov    %esi,%eax
953aae:	eb 03                	jmp    0x953ab3
953ab0:	6a 16                	push   $0x16
953ab2:	58                   	pop    %eax
953ab3:	5f                   	pop    %edi
953ab4:	5e                   	pop    %esi
953ab5:	5d                   	pop    %ebp
953ab6:	c3                   	ret
953ab7:	cc                   	int3
953ab8:	cc                   	int3
953ab9:	cc                   	int3
953aba:	cc                   	int3
953abb:	cc                   	int3
953abc:	cc                   	int3
953abd:	cc                   	int3
953abe:	cc                   	int3
953abf:	cc                   	int3
953ac0:	cc                   	int3
953ac1:	cc                   	int3
953ac2:	cc                   	int3
953ac3:	cc                   	int3
953ac4:	cc                   	int3
953ac5:	cc                   	int3
953ac6:	cc                   	int3
953ac7:	cc                   	int3
953ac8:	cc                   	int3
953ac9:	cc                   	int3
953aca:	cc                   	int3
953acb:	cc                   	int3
953acc:	cc                   	int3
953acd:	cc                   	int3
953ace:	cc                   	int3
953acf:	cc                   	int3
953ad0:	cc                   	int3
953ad1:	cc                   	int3
953ad2:	cc                   	int3
953ad3:	cc                   	int3
953ad4:	cc                   	int3
953ad5:	cc                   	int3
953ad6:	55                   	push   %ebp
953ad7:	8b ec                	mov    %esp,%ebp
953ad9:	8b 45 14             	mov    0x14(%ebp),%eax
953adc:	56                   	push   %esi
953add:	85 c0                	test   %eax,%eax
953adf:	74 3c                	je     0x953b1d
953ae1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
953ae5:	75 13                	jne    0x953afa
953ae7:	e8 83 ad ae ff       	call   0x43e86f
953aec:	6a 16                	push   $0x16
953aee:	5e                   	pop    %esi
953aef:	89 30                	mov    %esi,(%eax)
953af1:	e8 02 b8 ac ff       	call   0x41f2f8
953af6:	8b c6                	mov    %esi,%eax
953af8:	eb 25                	jmp    0x953b1f
953afa:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
953afe:	74 e7                	je     0x953ae7
953b00:	39 45 0c             	cmp    %eax,0xc(%ebp)
953b03:	73 09                	jae    0x953b0e
953b05:	e8 65 ad ae ff       	call   0x43e86f
953b0a:	6a 22                	push   $0x22
953b0c:	eb e0                	jmp    0x953aee
953b0e:	50                   	push   %eax
953b0f:	ff 75 10             	push   0x10(%ebp)
953b12:	ff 75 08             	push   0x8(%ebp)
953b15:	e8 68 b0 ac ff       	call   0x41eb82
953b1a:	83 c4 0c             	add    $0xc,%esp
953b1d:	33 c0                	xor    %eax,%eax
953b1f:	5e                   	pop    %esi
953b20:	5d                   	pop    %ebp
953b21:	c3                   	ret
953b22:	cc                   	int3
953b23:	cc                   	int3
953b24:	cc                   	int3
953b25:	cc                   	int3
953b26:	cc                   	int3
953b27:	cc                   	int3
953b28:	cc                   	int3
953b29:	cc                   	int3
953b2a:	cc                   	int3
953b2b:	cc                   	int3
953b2c:	cc                   	int3
953b2d:	cc                   	int3
953b2e:	cc                   	int3
953b2f:	cc                   	int3
953b30:	cc                   	int3
953b31:	cc                   	int3
953b32:	cc                   	int3
953b33:	cc                   	int3
953b34:	cc                   	int3
953b35:	55                   	push   %ebp
953b36:	8b ec                	mov    %esp,%ebp
953b38:	8b 55 10             	mov    0x10(%ebp),%edx
953b3b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
953b3e:	56                   	push   %esi
953b3f:	8b 75 08             	mov    0x8(%ebp),%esi
953b42:	85 d2                	test   %edx,%edx
953b44:	74 1b                	je     0x953b61
953b46:	85 f6                	test   %esi,%esi
953b48:	74 1c                	je     0x953b66
953b4a:	85 c9                	test   %ecx,%ecx
953b4c:	74 18                	je     0x953b66
953b4e:	85 d2                	test   %edx,%edx
953b50:	74 0f                	je     0x953b61
953b52:	2b f1                	sub    %ecx,%esi
953b54:	8b 01                	mov    (%ecx),%eax
953b56:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
953b59:	8d 49 04             	lea    0x4(%ecx),%ecx
953b5c:	83 ea 01             	sub    $0x1,%edx
953b5f:	75 f3                	jne    0x953b54
953b61:	5e                   	pop    %esi
953b62:	5d                   	pop    %ebp
953b63:	c2 0c 00             	ret    $0xc
953b66:	e8 fb e3 ad ff       	call   0x431f66
953b6b:	cc                   	int3
953b6c:	cc                   	int3
953b6d:	cc                   	int3
953b6e:	cc                   	int3
953b6f:	cc                   	int3
953b70:	cc                   	int3
953b71:	cc                   	int3
953b72:	cc                   	int3
953b73:	cc                   	int3
953b74:	cc                   	int3
953b75:	cc                   	int3
953b76:	cc                   	int3
953b77:	cc                   	int3
953b78:	cc                   	int3
953b79:	55                   	push   %ebp
953b7a:	8b ec                	mov    %esp,%ebp
953b7c:	51                   	push   %ecx
953b7d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
953b80:	53                   	push   %ebx
953b81:	56                   	push   %esi
953b82:	57                   	push   %edi
953b83:	8b 7d 10             	mov    0x10(%ebp),%edi
953b86:	85 ff                	test   %edi,%edi
953b88:	74 08                	je     0x953b92
953b8a:	85 c9                	test   %ecx,%ecx
953b8c:	0f 84 85 00 00 00    	je     0x953c17
953b92:	8b 55 08             	mov    0x8(%ebp),%edx
953b95:	8b 42 18             	mov    0x18(%edx),%eax
953b98:	f7 d0                	not    %eax
953b9a:	a8 01                	test   $0x1,%al
953b9c:	74 39                	je     0x953bd7
953b9e:	85 ff                	test   %edi,%edi
953ba0:	74 6c                	je     0x953c0e
953ba2:	bb ff ff ff 1f       	mov    $0x1fffffff,%ebx
953ba7:	3b fb                	cmp    %ebx,%edi
953ba9:	73 07                	jae    0x953bb2
953bab:	8b c7                	mov    %edi,%eax
953bad:	89 45 fc             	mov    %eax,-0x4(%ebp)
953bb0:	eb 05                	jmp    0x953bb7
953bb2:	8b c3                	mov    %ebx,%eax
953bb4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
953bb7:	8b f0                	mov    %eax,%esi
953bb9:	c1 e6 02             	shl    $0x2,%esi
953bbc:	56                   	push   %esi
953bbd:	51                   	push   %ecx
953bbe:	8b ca                	mov    %edx,%ecx
953bc0:	e8 e1 3e ae ff       	call   0x437aa6
953bc5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
953bc8:	8b 55 08             	mov    0x8(%ebp),%edx
953bcb:	03 ce                	add    %esi,%ecx
953bcd:	89 4d 0c             	mov    %ecx,0xc(%ebp)
953bd0:	2b 7d fc             	sub    -0x4(%ebp),%edi
953bd3:	75 d2                	jne    0x953ba7
953bd5:	eb 37                	jmp    0x953c0e
953bd7:	85 ff                	test   %edi,%edi
953bd9:	74 33                	je     0x953c0e
953bdb:	bb ff ff ff 1f       	mov    $0x1fffffff,%ebx
953be0:	3b fb                	cmp    %ebx,%edi
953be2:	73 07                	jae    0x953beb
953be4:	8b c7                	mov    %edi,%eax
953be6:	89 45 fc             	mov    %eax,-0x4(%ebp)
953be9:	eb 05                	jmp    0x953bf0
953beb:	8b c3                	mov    %ebx,%eax
953bed:	89 5d fc             	mov    %ebx,-0x4(%ebp)
953bf0:	8b f0                	mov    %eax,%esi
953bf2:	c1 e6 02             	shl    $0x2,%esi
953bf5:	56                   	push   %esi
953bf6:	51                   	push   %ecx
953bf7:	8b ca                	mov    %edx,%ecx
953bf9:	e8 89 ae ad ff       	call   0x42ea87
953bfe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
953c01:	8b 55 08             	mov    0x8(%ebp),%edx
953c04:	03 ce                	add    %esi,%ecx
953c06:	89 4d 0c             	mov    %ecx,0xc(%ebp)
953c09:	2b 7d fc             	sub    -0x4(%ebp),%edi
953c0c:	75 d2                	jne    0x953be0
953c0e:	5f                   	pop    %edi
953c0f:	5e                   	pop    %esi
953c10:	5b                   	pop    %ebx
953c11:	8b e5                	mov    %ebp,%esp
953c13:	5d                   	pop    %ebp
953c14:	c2 0c 00             	ret    $0xc
953c17:	e8 4a e3 ad ff       	call   0x431f66
953c1c:	cc                   	int3
953c1d:	cc                   	int3
953c1e:	cc                   	int3
953c1f:	cc                   	int3
953c20:	cc                   	int3
953c21:	cc                   	int3
953c22:	cc                   	int3
953c23:	cc                   	int3
953c24:	cc                   	int3
953c25:	cc                   	int3
953c26:	cc                   	int3
953c27:	cc                   	int3
953c28:	cc                   	int3
953c29:	cc                   	int3
953c2a:	cc                   	int3
953c2b:	cc                   	int3
953c2c:	cc                   	int3
953c2d:	cc                   	int3
953c2e:	cc                   	int3
953c2f:	cc                   	int3
953c30:	cc                   	int3
953c31:	cc                   	int3
953c32:	cc                   	int3
953c33:	cc                   	int3
953c34:	cc                   	int3
953c35:	cc                   	int3
953c36:	cc                   	int3
953c37:	cc                   	int3
953c38:	cc                   	int3
953c39:	cc                   	int3
953c3a:	cc                   	int3
953c3b:	cc                   	int3
953c3c:	cc                   	int3
953c3d:	cc                   	int3
953c3e:	cc                   	int3