a24a79:	8b 4f 04             	mov    0x4(%edi),%ecx
a24a7c:	8b 45 0c             	mov    0xc(%ebp),%eax
a24a7f:	5f                   	pop    %edi
a24a80:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24a83:	5e                   	pop    %esi
a24a84:	5d                   	pop    %ebp
a24a85:	c2 08 00             	ret    $0x8
a24a88:	e8 d9 d4 a0 ff       	call   0x431f66
a24a8d:	cc                   	int3
a24a8e:	cc                   	int3
a24a8f:	cc                   	int3
a24a90:	cc                   	int3
a24a91:	cc                   	int3
a24a92:	cc                   	int3
a24a93:	cc                   	int3
a24a94:	cc                   	int3
a24a95:	cc                   	int3
a24a96:	cc                   	int3
a24a97:	cc                   	int3
a24a98:	cc                   	int3
a24a99:	cc                   	int3
a24a9a:	55                   	push   %ebp
a24a9b:	8b ec                	mov    %esp,%ebp
a24a9d:	56                   	push   %esi
a24a9e:	8b 75 08             	mov    0x8(%ebp),%esi
a24aa1:	57                   	push   %edi
a24aa2:	8b f9                	mov    %ecx,%edi
a24aa4:	85 f6                	test   %esi,%esi
a24aa6:	78 1f                	js     0xa24ac7
a24aa8:	3b 77 08             	cmp    0x8(%edi),%esi
a24aab:	7c 0b                	jl     0xa24ab8
a24aad:	6a ff                	push   $0xffffffff
a24aaf:	8d 46 01             	lea    0x1(%esi),%eax
a24ab2:	50                   	push   %eax
a24ab3:	e8 55 96 a1 ff       	call   0x43e10d
a24ab8:	8b 4f 04             	mov    0x4(%edi),%ecx
a24abb:	8b 45 0c             	mov    0xc(%ebp),%eax
a24abe:	5f                   	pop    %edi
a24abf:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24ac2:	5e                   	pop    %esi
a24ac3:	5d                   	pop    %ebp
a24ac4:	c2 08 00             	ret    $0x8
a24ac7:	e8 9a d4 a0 ff       	call   0x431f66
a24acc:	cc                   	int3
a24acd:	cc                   	int3
a24ace:	cc                   	int3
a24acf:	cc                   	int3
a24ad0:	cc                   	int3
a24ad1:	cc                   	int3
a24ad2:	cc                   	int3
a24ad3:	cc                   	int3
a24ad4:	cc                   	int3
a24ad5:	cc                   	int3
a24ad6:	cc                   	int3
a24ad7:	cc                   	int3
a24ad8:	cc                   	int3
a24ad9:	55                   	push   %ebp
a24ada:	8b ec                	mov    %esp,%ebp
a24adc:	56                   	push   %esi
a24add:	8b 75 08             	mov    0x8(%ebp),%esi
a24ae0:	57                   	push   %edi
a24ae1:	8b f9                	mov    %ecx,%edi
a24ae3:	85 f6                	test   %esi,%esi
a24ae5:	78 1f                	js     0xa24b06
a24ae7:	3b 77 08             	cmp    0x8(%edi),%esi
a24aea:	7c 0b                	jl     0xa24af7
a24aec:	6a ff                	push   $0xffffffff
a24aee:	8d 46 01             	lea    0x1(%esi),%eax
a24af1:	50                   	push   %eax
a24af2:	e8 e2 83 a1 ff       	call   0x43ced9
a24af7:	8b 4f 04             	mov    0x4(%edi),%ecx
a24afa:	8b 45 0c             	mov    0xc(%ebp),%eax
a24afd:	5f                   	pop    %edi
a24afe:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24b01:	5e                   	pop    %esi
a24b02:	5d                   	pop    %ebp
a24b03:	c2 08 00             	ret    $0x8
a24b06:	e8 5b d4 a0 ff       	call   0x431f66
a24b0b:	cc                   	int3
a24b0c:	cc                   	int3
a24b0d:	cc                   	int3
a24b0e:	cc                   	int3
a24b0f:	cc                   	int3
a24b10:	cc                   	int3
a24b11:	cc                   	int3
a24b12:	cc                   	int3
a24b13:	cc                   	int3
a24b14:	cc                   	int3
a24b15:	cc                   	int3
a24b16:	cc                   	int3
a24b17:	cc                   	int3
a24b18:	55                   	push   %ebp
a24b19:	8b ec                	mov    %esp,%ebp
a24b1b:	56                   	push   %esi
a24b1c:	8b 75 08             	mov    0x8(%ebp),%esi
a24b1f:	57                   	push   %edi
a24b20:	8b f9                	mov    %ecx,%edi
a24b22:	85 f6                	test   %esi,%esi
a24b24:	78 1f                	js     0xa24b45
a24b26:	3b 77 08             	cmp    0x8(%edi),%esi
a24b29:	7c 0b                	jl     0xa24b36
a24b2b:	6a ff                	push   $0xffffffff
a24b2d:	8d 46 01             	lea    0x1(%esi),%eax
a24b30:	50                   	push   %eax
a24b31:	e8 3b 47 a0 ff       	call   0x429271
a24b36:	8b 4f 04             	mov    0x4(%edi),%ecx
a24b39:	8b 45 0c             	mov    0xc(%ebp),%eax
a24b3c:	5f                   	pop    %edi
a24b3d:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24b40:	5e                   	pop    %esi
a24b41:	5d                   	pop    %ebp
a24b42:	c2 08 00             	ret    $0x8
a24b45:	e8 1c d4 a0 ff       	call   0x431f66
a24b4a:	cc                   	int3
a24b4b:	cc                   	int3
a24b4c:	cc                   	int3
a24b4d:	cc                   	int3
a24b4e:	cc                   	int3
a24b4f:	cc                   	int3
a24b50:	cc                   	int3
a24b51:	cc                   	int3
a24b52:	cc                   	int3
a24b53:	cc                   	int3
a24b54:	cc                   	int3
a24b55:	cc                   	int3
a24b56:	cc                   	int3
a24b57:	55                   	push   %ebp
a24b58:	8b ec                	mov    %esp,%ebp
a24b5a:	56                   	push   %esi
a24b5b:	8b 75 08             	mov    0x8(%ebp),%esi
a24b5e:	57                   	push   %edi
a24b5f:	8b f9                	mov    %ecx,%edi
a24b61:	85 f6                	test   %esi,%esi
a24b63:	78 1f                	js     0xa24b84
a24b65:	3b 77 08             	cmp    0x8(%edi),%esi
a24b68:	7c 0b                	jl     0xa24b75
a24b6a:	6a ff                	push   $0xffffffff
a24b6c:	8d 46 01             	lea    0x1(%esi),%eax
a24b6f:	50                   	push   %eax
a24b70:	e8 37 79 a1 ff       	call   0x43c4ac
a24b75:	8b 4f 04             	mov    0x4(%edi),%ecx
a24b78:	8b 45 0c             	mov    0xc(%ebp),%eax
a24b7b:	5f                   	pop    %edi
a24b7c:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24b7f:	5e                   	pop    %esi
a24b80:	5d                   	pop    %ebp
a24b81:	c2 08 00             	ret    $0x8
a24b84:	e8 dd d3 a0 ff       	call   0x431f66
a24b89:	cc                   	int3
a24b8a:	cc                   	int3
a24b8b:	cc                   	int3
a24b8c:	cc                   	int3
a24b8d:	cc                   	int3
a24b8e:	cc                   	int3
a24b8f:	cc                   	int3
a24b90:	cc                   	int3
a24b91:	cc                   	int3
a24b92:	cc                   	int3
a24b93:	cc                   	int3
a24b94:	cc                   	int3
a24b95:	cc                   	int3
a24b96:	55                   	push   %ebp
a24b97:	8b ec                	mov    %esp,%ebp
a24b99:	56                   	push   %esi
a24b9a:	8b 75 08             	mov    0x8(%ebp),%esi
a24b9d:	57                   	push   %edi
a24b9e:	8b f9                	mov    %ecx,%edi
a24ba0:	85 f6                	test   %esi,%esi
a24ba2:	78 1f                	js     0xa24bc3
a24ba4:	3b 77 08             	cmp    0x8(%edi),%esi
a24ba7:	7c 0b                	jl     0xa24bb4
a24ba9:	6a ff                	push   $0xffffffff
a24bab:	8d 46 01             	lea    0x1(%esi),%eax
a24bae:	50                   	push   %eax
a24baf:	e8 93 27 9e ff       	call   0x407347
a24bb4:	8b 4f 04             	mov    0x4(%edi),%ecx
a24bb7:	8b 45 0c             	mov    0xc(%ebp),%eax
a24bba:	5f                   	pop    %edi
a24bbb:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
a24bbe:	5e                   	pop    %esi
a24bbf:	5d                   	pop    %ebp
a24bc0:	c2 08 00             	ret    $0x8
a24bc3:	e8 9e d3 a0 ff       	call   0x431f66
a24bc8:	cc                   	int3
a24bc9:	cc                   	int3
a24bca:	cc                   	int3
a24bcb:	cc                   	int3
a24bcc:	cc                   	int3
a24bcd:	cc                   	int3
a24bce:	cc                   	int3
a24bcf:	cc                   	int3
a24bd0:	cc                   	int3
a24bd1:	cc                   	int3
a24bd2:	cc                   	int3
a24bd3:	cc                   	int3
a24bd4:	cc                   	int3
a24bd5:	6a 00                	push   $0x0
a24bd7:	b8 2c 80 bb 00       	mov    $0xbb802c,%eax
a24bdc:	e8 aa 56 9e ff       	call   0x40a28b
a24be1:	8b f9                	mov    %ecx,%edi
a24be3:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a24be7:	8b 75 08             	mov    0x8(%ebp),%esi
a24bea:	85 f6                	test   %esi,%esi
a24bec:	79 05                	jns    0xa24bf3
a24bee:	e8 73 d3 a0 ff       	call   0x431f66
a24bf3:	3b 77 08             	cmp    0x8(%edi),%esi
a24bf6:	7c 0d                	jl     0xa24c05
a24bf8:	6a ff                	push   $0xffffffff
a24bfa:	8d 46 01             	lea    0x1(%esi),%eax
a24bfd:	8b cf                	mov    %edi,%ecx
a24bff:	50                   	push   %eax
a24c00:	e8 16 3a 9e ff       	call   0x40861b
a24c05:	6b f6 0c             	imul   $0xc,%esi,%esi
a24c08:	8d 45 0c             	lea    0xc(%ebp),%eax
a24c0b:	50                   	push   %eax
a24c0c:	03 77 04             	add    0x4(%edi),%esi
a24c0f:	8b ce                	mov    %esi,%ecx
a24c11:	e8 d7 da 9e ff       	call   0x4126ed
a24c16:	8b 45 10             	mov    0x10(%ebp),%eax
a24c19:	89 46 04             	mov    %eax,0x4(%esi)
a24c1c:	8b 45 14             	mov    0x14(%ebp),%eax
a24c1f:	89 46 08             	mov    %eax,0x8(%esi)
a24c22:	8b 4d 0c             	mov    0xc(%ebp),%ecx
a24c25:	8d 49 f0             	lea    -0x10(%ecx),%ecx
a24c28:	e8 e7 ff 9d ff       	call   0x404c14
a24c2d:	e8 e5 97 9e ff       	call   0x40e417
a24c32:	c2 10 00             	ret    $0x10
a24c35:	cc                   	int3
a24c36:	cc                   	int3
a24c37:	cc                   	int3
a24c38:	cc                   	int3
a24c39:	cc                   	int3
a24c3a:	cc                   	int3
a24c3b:	cc                   	int3
a24c3c:	cc                   	int3
a24c3d:	cc                   	int3
a24c3e:	cc                   	int3
a24c3f:	cc                   	int3
a24c40:	cc                   	int3
a24c41:	cc                   	int3
a24c42:	cc                   	int3
a24c43:	cc                   	int3
a24c44:	cc                   	int3
a24c45:	cc                   	int3
a24c46:	cc                   	int3
a24c47:	cc                   	int3
a24c48:	cc                   	int3
a24c49:	cc                   	int3
a24c4a:	cc                   	int3
a24c4b:	cc                   	int3
a24c4c:	cc                   	int3
a24c4d:	55                   	push   %ebp
a24c4e:	8b ec                	mov    %esp,%ebp
a24c50:	56                   	push   %esi
a24c51:	8b f1                	mov    %ecx,%esi
a24c53:	e8 ca 0e 9f ff       	call   0x415b22
a24c58:	8b 45 08             	mov    0x8(%ebp),%eax
a24c5b:	8d 4e 04             	lea    0x4(%esi),%ecx
a24c5e:	ff 75 0c             	push   0xc(%ebp)
a24c61:	89 06                	mov    %eax,(%esi)
a24c63:	e8 85 da 9e ff       	call   0x4126ed
a24c68:	8b 45 10             	mov    0x10(%ebp),%eax
a24c6b:	89 46 08             	mov    %eax,0x8(%esi)
a24c6e:	8b 45 14             	mov    0x14(%ebp),%eax
a24c71:	89 46 0c             	mov    %eax,0xc(%esi)
a24c74:	5e                   	pop    %esi
a24c75:	5d                   	pop    %ebp
a24c76:	c2 10 00             	ret    $0x10
a24c79:	cc                   	int3
a24c7a:	cc                   	int3
a24c7b:	cc                   	int3
a24c7c:	cc                   	int3
a24c7d:	cc                   	int3
a24c7e:	cc                   	int3
a24c7f:	cc                   	int3
a24c80:	cc                   	int3
a24c81:	cc                   	int3
a24c82:	cc                   	int3
a24c83:	cc                   	int3
a24c84:	55                   	push   %ebp
a24c85:	8b ec                	mov    %esp,%ebp
a24c87:	51                   	push   %ecx
a24c88:	53                   	push   %ebx
a24c89:	56                   	push   %esi
a24c8a:	57                   	push   %edi
a24c8b:	8b 7d 08             	mov    0x8(%ebp),%edi
a24c8e:	8b d9                	mov    %ecx,%ebx
a24c90:	85 ff                	test   %edi,%edi
a24c92:	0f 88 24 01 00 00    	js     0xa24dbc
a24c98:	8b 45 0c             	mov    0xc(%ebp),%eax
a24c9b:	85 c0                	test   %eax,%eax
a24c9d:	78 03                	js     0xa24ca2
a24c9f:	89 43 10             	mov    %eax,0x10(%ebx)
a24ca2:	85 ff                	test   %edi,%edi
a24ca4:	75 1b                	jne    0xa24cc1
a24ca6:	33 f6                	xor    %esi,%esi
a24ca8:	39 73 04             	cmp    %esi,0x4(%ebx)
a24cab:	74 0c                	je     0xa24cb9
a24cad:	ff 73 04             	push   0x4(%ebx)
a24cb0:	e8 5d 99 a1 ff       	call   0x43e612
a24cb5:	59                   	pop    %ecx
a24cb6:	89 73 04             	mov    %esi,0x4(%ebx)
a24cb9:	89 73 0c             	mov    %esi,0xc(%ebx)
a24cbc:	e9 ef 00 00 00       	jmp    0xa24db0
a24cc1:	8b 53 04             	mov    0x4(%ebx),%edx
a24cc4:	85 d2                	test   %edx,%edx
a24cc6:	75 37                	jne    0xa24cff
a24cc8:	8b 43 10             	mov    0x10(%ebx),%eax
a24ccb:	89 45 fc             	mov    %eax,-0x4(%ebp)
a24cce:	3b f8                	cmp    %eax,%edi
a24cd0:	7e 05                	jle    0xa24cd7
a24cd2:	8b c7                	mov    %edi,%eax
a24cd4:	89 7d fc             	mov    %edi,-0x4(%ebp)
a24cd7:	8b f0                	mov    %eax,%esi
a24cd9:	c1 e6 02             	shl    $0x2,%esi
a24cdc:	56                   	push   %esi
a24cdd:	e8 b5 0a a1 ff       	call   0x435797
a24ce2:	56                   	push   %esi
a24ce3:	6a 00                	push   $0x0
a24ce5:	50                   	push   %eax
a24ce6:	89 43 04             	mov    %eax,0x4(%ebx)
a24ce9:	e8 ca fa 9e ff       	call   0x4147b8
a24cee:	8b 45 fc             	mov    -0x4(%ebp),%eax
a24cf1:	83 c4 10             	add    $0x10,%esp
a24cf4:	89 7b 08             	mov    %edi,0x8(%ebx)
a24cf7:	89 43 0c             	mov    %eax,0xc(%ebx)
a24cfa:	e9 b4 00 00 00       	jmp    0xa24db3
a24cff:	8b 4b 0c             	mov    0xc(%ebx),%ecx
a24d02:	3b f9                	cmp    %ecx,%edi
a24d04:	7f 25                	jg     0xa24d2b
a24d06:	8b 4b 08             	mov    0x8(%ebx),%ecx
a24d09:	3b f9                	cmp    %ecx,%edi
a24d0b:	7e 16                	jle    0xa24d23
a24d0d:	8b c7                	mov    %edi,%eax
a24d0f:	2b c1                	sub    %ecx,%eax
a24d11:	c1 e0 02             	shl    $0x2,%eax
a24d14:	50                   	push   %eax
a24d15:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
a24d18:	6a 00                	push   $0x0
a24d1a:	50                   	push   %eax
a24d1b:	e8 98 fa 9e ff       	call   0x4147b8
a24d20:	83 c4 0c             	add    $0xc,%esp
a24d23:	89 7b 08             	mov    %edi,0x8(%ebx)
a24d26:	e9 88 00 00 00       	jmp    0xa24db3
a24d2b:	8b 43 10             	mov    0x10(%ebx),%eax
a24d2e:	85 c0                	test   %eax,%eax
a24d30:	75 21                	jne    0xa24d53
a24d32:	8b 43 08             	mov    0x8(%ebx),%eax
a24d35:	99                   	cltd
a24d36:	83 e2 07             	and    $0x7,%edx